【Active Directory】グループポリシーのレポートを一括で出力する[Get-GPO]

Microsoft Windows

Active Directory グループポリシーの管理でグループポリシーオブジェクトのレポート一括でエクスポートする方法について整理した内容をまとめました。

スポンサーリンク

グループポリシーオブジェクトを操作する

GPO の設定はコマンドがなかったため、設定するにしてもレポートのエクスポートにしろグループポリシーの管理コンソールから操作する必要がありました。

ポリシーをエクスポートしてインポートすることは可能ですが、汎用性があまりないのでコマンドでさらっとできないかなと日々思っていたのですが、一部の設定に関してはPowerShellからの操作ができるようになっていたようです。今回はグループポリシーオブジェクトのレポートを一括でエクスポートする方法について整理しました。

グループポリシーオブジェクトを操作するには

グループポリシー関連の PowerShell コマンドを実行する前にモジュールのインポートが必要となります。

※管理者として実行した PowerShell にて操作を行います。

コマンド例

Import-Module -Name GroupPolicy

 

グループポリシーモジュールのインポート後はグループポリシー関連のコマンドが打てるようになり、Get-Command をうつことで指定可能なコマンドの一覧を確認することができます。

コマンド例

Get-Command -Module GroupPolicy

コマンド実行例

PS C:\Users\Administrator> Get-Command -Module GroupPolicy

CommandType  Name                         Version    Source
-----------  ----                         -------    ------
Alias        Get-GPPermissions            1.0.0.0    GroupPolicy
Alias        Set-GPPermissions            1.0.0.0    GroupPolicy
Cmdlet       Backup-GPO                   1.0.0.0    GroupPolicy
Cmdlet       Copy-GPO                     1.0.0.0    GroupPolicy
Cmdlet       Get-GPInheritance            1.0.0.0    GroupPolicy
Cmdlet       Get-GPO                      1.0.0.0    GroupPolicy
Cmdlet       Get-GPOReport                1.0.0.0    GroupPolicy
Cmdlet       Get-GPPermission             1.0.0.0    GroupPolicy
Cmdlet       Get-GPPrefRegistryValue      1.0.0.0    GroupPolicy
Cmdlet       Get-GPRegistryValue          1.0.0.0    GroupPolicy
Cmdlet       Get-GPResultantSetOfPolicy   1.0.0.0    GroupPolicy
Cmdlet       Get-GPStarterGPO             1.0.0.0    GroupPolicy
Cmdlet       Import-GPO                   1.0.0.0    GroupPolicy
Cmdlet       Invoke-GPUpdate              1.0.0.0    GroupPolicy
Cmdlet       New-GPLink                   1.0.0.0    GroupPolicy
Cmdlet       New-GPO                      1.0.0.0    GroupPolicy
Cmdlet       New-GPStarterGPO             1.0.0.0    GroupPolicy
Cmdlet       Remove-GPLink                1.0.0.0    GroupPolicy
Cmdlet       Remove-GPO                   1.0.0.0    GroupPolicy
Cmdlet       Remove-GPPrefRegistryValue   1.0.0.0    GroupPolicy
Cmdlet       Remove-GPRegistryValue       1.0.0.0    GroupPolicy
Cmdlet       Rename-GPO                   1.0.0.0    GroupPolicy
Cmdlet       Restore-GPO                  1.0.0.0    GroupPolicy
Cmdlet       Set-GPInheritance            1.0.0.0    GroupPolicy
Cmdlet       Set-GPLink                   1.0.0.0    GroupPolicy 
Cmdlet       Set-GPPermission             1.0.0.0    GroupPolicy
Cmdlet       Set-GPPrefRegistryValue      1.0.0.0    GroupPolicy
Cmdlet       Set-GPRegistryValue          1.0.0.0    GroupPolicy  

モジュールのインポートができたら次へ進みます。

グループポリシーの一覧を確認する

モジュールのインポートができたら、「Get-GPO」コマンドでグループポリシーの設定を確認します。

コマンド例

Get-GPO -all

※GUI の並び順と同一にする場合は下記コマンドになります。

Get-GPO -all |ft DisplayName,DomainName,Owner,CreationTime,ModificationTime,UserVersion,ComputerVersion,Id,GpoStatus,Description

コマンド実行例

DisplayName DomainName Owner CreationTime ModificationTime UserVersion ComputerVersion Id GpoStatus
----------- ---------- ----- ------------ ---------------- ----------- --------------- -- ---------
Default Domain Policy contoso.local CONTOSO\Domain Admins 2019/03/19 16:32:54 2019/03/19 16:48:46 31b2f340-016d-11d2-945f-00c04fb984f9 ...gsEnabled
Default Domain Controllers Policy contoso.local CONTOSO\Domain Admins 2019/03/19 16:32:54 2019/03/19 16:32:54 6ac1786c-016f-11d2-945f-00c04fb984f9 ...gsEnabled

PS C:\Users\Administrator>

存在するグループポリシーオブジェクトの一覧が表示されます。

グループポリシーのレポートを一括出力する

グループポリシーのレポートをエクスポートするには、下記のコマンドを実行します。

コマンド例

Get-GPO -All | ForEach-Object -Process {Get-GPOReport -GUID $_.ID -ReportType html -Path C:\$($_.Displayname).html}

コマンド実行後は、指定パスの保存先にすべてのグループポリシーのレポートが出力されています。

タイトルとURLをコピーしました