LoginSignup
1
0

More than 3 years have passed since last update.

OUに適用されているGPOの名前を取得したい。ただし、AD DSツールに頼らずに。

Posted at

そんなの、gpmc.mscで見りゃいいじゃん。

いやいや、ADDSツール入れなくても見れた方が良いんです。
何よりテキストで取得できるメリットは盛り沢山。
差分比較やら、バックアップやら。

やり方

以下の通りPowerShellで取得できます。
スクリプトとして保存して、対象OUを引数に渡してあげられるようにすると、なお使い安いかも知れませんね。

powershell
# DirectorySearcherのインスタンスを生成します。
# これなら、対象OUのDNを知らなくても良いので。
$adsch = New-Object -TypeName DirectoryServices.DirectorySearcher

# 検索フィルタを設定
# "OU=WebServers"のように任意のフィルタを設定します。
$adsch.Filter = "OU=[対象OUの名前]"

# フィルタにヒットするオブジェクトを一つだけ引っ張ります。
# FindAllとforeachを使って、結果を一個ずつ処理するのもありでしょう。
$ou = $adsch.FindOne()

# ouに適用されたgpoのパスを一個ずつ処理します。(何故か配列になってないので、splitしてこねくり回します。)
$ou.Properties["gplink"][0] -split "¥]" | foreach {
  $temp = $_ -replace "¥[", ""
  $gpoentry = $temp.Split(";")
  $gpo = [adsi]$gpoentry[0]
  $gpo.displayName
}

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0