取得してきたActive Directoryのグループポリシー(GPO)を検証環境でインポートする方法

こんばんは。長いタイトルですね。文章力ないのですが、どうか優しい心で見てやって下さい。

AD移行に携わることがあって、とりあえず今の設定を見たいよね。ということで、一通り設定を取得して現状の設定を確認しよう!ということで、グループポリシーの管理エディタのバックアップ機能を使って取得して、それを社内の検証環境でリストア・・・!ができない!

どうやら、信頼関係が結んでないと別ドメインではリストアできない模様。

調べてみると、既存(新しい)ポリシーインポートすることで、
バックアップで取得したGPOの指定が可能であり、
どんなドメインでもグループポリシーを持ってくることができることがわかりました。

しかし、これは完全な手動な作業。1つ1つグループポリシーを作って、インポート…という作業の流れになります。今回はポリシーの数が100を超えており、これは手動でやるには非効率的だな。と思います。

そんなときに登場するのがPowerShellです!
Import-GPOというコマンドレットを使うことで、一連の作業を行ってくれます。
更に嬉しいことに、「-CreateIfNeeded」オプションを指定することで、
インポート先のポリシーがなくても、自動的に作成してくれます。

リファレンスガイド
https://docs.microsoft.com/en-us/powershell/module/grouppolicy/import-gpo?view=windowsserver2022-ps

上記のリファレンスを読んでいくと、下記のような感じで想定通りに動いてくれます

import-gpo -BackupGpoName "グループポリシー名(インポート元)" -TargetName "グループポリシー名(インポート先)" -path "GPOバックアップ保存先" -CreateIfNeeded

BackupGpoNameがインポート元になるポリシー名、
TargetNameがインポート先になるポリシー名となります。
上記の「-CreateIfNeeded」オプションが指定されていれば、インポート先のポリシーは予め作成して無くてもOKとなります。

ちなみにグループポリシー名についてはGet-GPOで取得してくると良いです。
https://docs.microsoft.com/en-us/powershell/module/grouppolicy/get-gpo?view=windowsserver2022-ps

あとはExcelでコマンドレットとポリシー名を埋め込ませれば良いでしょう。
何百のポリシーを、缶コーヒー買いに行かなくても終了するでしょう。

忘れた頃に出てきそうなので、(別途)作成したExcelを置いておこう。
A列はグループポリシー名(インポート元とインポート先は同じポリシー名を想定)
B列に結果出力(つまりPowerShellで実行するコマンドレット
G列はGPOのバックアップフォルダ
いずれもダブルコーテーションなどの指定は不要(勝手につけます)
ほしいだけフィルハンドルでコピーしていく感じで使います。

厨二病的なネーミングセンスww

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA