Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
こんにちは!SE ブログの相馬です。
今回は、Active Directory の GPO について、OU にリンクされている GPO を調べる方法について書いてみました。
OU にリンクされていない GPO を調べる方法は以下の記事にございます。
PC の構成を使いやすくしたり、制御したり、統一化したりするために多くの GPO を使っている組織であれば、かなりの量の GPO になってくるかと思います。私もよく GPO を作成しては PC に展開したりしていますが、かなり多いと把握していない GPO もあったりしますよね。
当然、使用されていない GPO は不要なのですが、どれが使用されているか分からないという事もあるかと思います。その場合はどうやって調査するのでしょうか。
調査方法について
基本的に GPO は OU にリンクされていると機能しますので、OU にリンクされているかどうかになると思います。
それではどうやって OU にリンクされているか確認するのでしょうか。
OU にリンクされている GPO を確認する(GUI)
サーバーマネージャーから [グループポリシーの管理] を起動します。
これは OU に GPO がリンクされている状態になります。
一方、これは OU に GPO がリンクされていない状態になります。
という事で、GUI で確認する方法についてはこれでできますが、大量の GPO がある場合はこれを一つ一つやっていくのはとても時間が無いし余りにも効率性に欠けると思います。ここは機械化してしまいましょう。
そこで PowerShell の登場です。PowerShell を使えば大量の GPO があっても OU にリンクされている分を調査する事が可能です。
OU にリンクされている GPO を確認する (PowerShell)
TechNet のスクリプトセンターに素晴らしいスクリプトがあったので応用させていただきました。
Get Unlinked Group Policy Objects | TechNet スクリプトセンター
注意: 11 行目のコードの If(!(IsNotLinked( の後にカギカッコで xml を入れてください。(W0rdpress の問題でコードの一部が切り取られて表示されてしまう為。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
function IsNotLinked($xmldata){ If ($xmldata.GPO.LinksTo -eq $null) { Return $true } Return $false } $linkedGPOs = @() Get-GPO -All | ForEach { $gpo = $_ ; $_ | Get-GPOReport -ReportType XML | ForEach { If(!(IsNotLinked([xml]$_))){$linkedGPOs += $gpo} }} If ($linkedGPOs.Count -eq 0) { "リンクされているGPOはありません。" } Else{ $result = $linkedGPOs | Select DisplayName,ID,CreationTime,ModificationTime $result | Export-Csv "C:\temp\linkedGPOs.txt" -NoTypeInformation -Encoding UTF8 } |
上のスクリプトを実行し、エクスポートしたテキストファイルを開きましたところ、タブ区切りでデータが出力されていました。これで大量にあっても Excel にして管理する事ができるようになりました。
以上となります。いかがでしょうか。
これは便利ですね、GPO が増えるにつれ管理するのが大変なので、こういったスクリプトを使って手作業により手間を省き、効率的に管理できるのでとても良いと思います。
それでは最後までお読みいただきありがとうございました!