トップ回答者
PowerShell でグループポリシーの設定項目一覧を出力させたい。

質問
-
お世話になります。
グループポリシーで設定、未設定に関わらずすべての項目の一覧を出力したいと考えています。
過去に同様の質問があったことも理解しています。それを踏まえての質問です。
添付した画面キャプチャの赤枠の処理をPowerShellで実行したいのですが、
何か手段はありますか?
これを各フォルダごとにPowershellで自動で項目を取得したいと考えています。
回答
-
グループポリシーエディタのエクスポート機能と同様のことを、ADMXファイルを読み込むことで実現するアプローチもありかと思います。
例えば、stknohgさんが公開されているAdmxPolicyモジュールを利用するのはいかがでしょうか。
stknohg/AdmxPolicy: Get Group Policy information from ADMX files.
- 回答としてマーク noma_hidenori 2017年6月8日 8:26
-
グループポリシーエディタのエクスポート機能と同様のことを、ADMXファイルを読み込むことで実現するアプローチもありかと思います。
例えば、stknohgさんが公開されているAdmxPolicyモジュールを利用するのはいかがでしょうか。
stknohg/AdmxPolicy: Get Group Policy information from ADMX files.
モジュールの作者として少しだけ補足しておきます。
AdmxPolicyでは個々のポリシー情報は取得できるのですが、ポリシーの階層構造が取得できません。(取得する方法はわかっているのですがモジュールに実装できていない状態です...)
階層構造を抜きにしてグループポリシーの日本語名の一覧を取るだけでよければ以下の様な感じで取得することができます。
# Admxのあるフォルダを指定 $AdmxPath = 'C:\Windows\PolicyDefinitions\' # コンピューターの構成 で設定可能なポリシーの一覧 ls -Path $AdmxPath -Filter '*.admx' | % { Get-AdmxPolicies -FilePath $_.FullName } | ? { $_.RegistryType -in ('Both', 'LocalMachine') } | select FileName, DisplayName # ユーザーの構成 で設定可能なポリシーの一覧 ls -Path $AdmxPath -Filter '*.admx' | % { Get-AdmxPolicies -FilePath $_.FullName } | ? { $_.RegistryType -in ('Both', 'CurrentUser') } | select FileName, DisplayName
- 回答としてマーク noma_hidenori 2017年6月8日 8:26
すべての返信
-
チャブーンです。
おっしゃるご要望ですが、前提条件として[グループポリシーエディター]ツールを使わないとできないことなので、なんらかのコマンドやAPIのみでの実現はムリです。
どうしてもそうしたい、なら、(ツール上での)キー操作を自動化し、結果的に同じことをする、というアプローチしかないと思います。そうなさりたいのであれば、したのページの情報が役に立つように思います。
http://qiita.com/nimzo6689/items/488467dbe0c4e5645745
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
-
グループポリシーエディタのエクスポート機能と同様のことを、ADMXファイルを読み込むことで実現するアプローチもありかと思います。
例えば、stknohgさんが公開されているAdmxPolicyモジュールを利用するのはいかがでしょうか。
stknohg/AdmxPolicy: Get Group Policy information from ADMX files.
- 回答としてマーク noma_hidenori 2017年6月8日 8:26
-
グループポリシーエディタのエクスポート機能と同様のことを、ADMXファイルを読み込むことで実現するアプローチもありかと思います。
例えば、stknohgさんが公開されているAdmxPolicyモジュールを利用するのはいかがでしょうか。
stknohg/AdmxPolicy: Get Group Policy information from ADMX files.
モジュールの作者として少しだけ補足しておきます。
AdmxPolicyでは個々のポリシー情報は取得できるのですが、ポリシーの階層構造が取得できません。(取得する方法はわかっているのですがモジュールに実装できていない状態です...)
階層構造を抜きにしてグループポリシーの日本語名の一覧を取るだけでよければ以下の様な感じで取得することができます。
# Admxのあるフォルダを指定 $AdmxPath = 'C:\Windows\PolicyDefinitions\' # コンピューターの構成 で設定可能なポリシーの一覧 ls -Path $AdmxPath -Filter '*.admx' | % { Get-AdmxPolicies -FilePath $_.FullName } | ? { $_.RegistryType -in ('Both', 'LocalMachine') } | select FileName, DisplayName # ユーザーの構成 で設定可能なポリシーの一覧 ls -Path $AdmxPath -Filter '*.admx' | % { Get-AdmxPolicies -FilePath $_.FullName } | ? { $_.RegistryType -in ('Both', 'CurrentUser') } | select FileName, DisplayName
- 回答としてマーク noma_hidenori 2017年6月8日 8:26