グループポリシー(GPO)をドメイン間で移動させる手順を解説

GPOを別ドメインへ「移動」する実務は、移行元GPOのバックアップを取得し、移行先で新規GPOへ設定をインポートし、ドメイン固有のユーザー・グループ・UNCパスを移行テーブルで置換する作業です。GPOリンク、セキュリティフィルター、WMIフィルター、委任、ソフトウェア配布元まで自動的に同一になるとは限りません。まず設定だけを未リンクの検証GPOへ取り込み、差分を確認してから段階的にリンクします。

移行元を削除してから移行先を試すのは「移動」ではなく復旧不能リスクです。移行が完了し、戻し試験が済むまで元GPOとバックアップを保持します。

目次

移行対象を棚卸しする

GPMCレポートをHTML/XMLで保存し、GPO名、GUID、User/Computer設定、リンク先、リンク順序、Enforced、継承、セキュリティフィルター、Delegation、WMIフィルターを一覧化します。Group Policy Preferencesのドライブマップ、プリンター、ファイル、ローカルグループには移行元ドメインのSIDやUNCが埋まっていることがあります。

移行先ドメインで同じ役割を持つグループ、サーバー、共有、証明書、スクリプト、アプリ配布パスを決めます。名前が似ていても権限や用途が同じとは限りません。SID履歴や信頼関係に依存して一時的に動く状態を成功とせず、移行後の正規プリンシパルへ置換します。

バックアップを取得する

GPMCでは移行元GPOを右クリックしてバックアップできます。PowerShellなら`Backup-GPO`を使い、説明、作業番号、保存場所を記録します。バックアップ先はアクセス制御された管理共有とし、SYSVOLをエクスプローラーで直接コピーして代用しません。

$src = 'Legacy-Client-Policy'
$backupPath = 'D:\GPO-Backups\Change-20260717'
Backup-GPO -Name $src -Path $backupPath -Comment 'Approved migration backup'

バックアップフォルダーにはGPO設定やスクリプトが含まれるため、一般利用者が読める場所やメール添付へ置きません。ハッシュ、作成時刻、実行者、移行元ドメイン、使用したDCを記録し、別管理端末でバックアップ一覧を読み取れることを確認します。

移行テーブルを作る

移行テーブルは、移行元のセキュリティプリンシパルとUNCパスを移行先の値へマップします。Migration Table EditorでGPOやバックアップから参照を取り込み、各行を「置換」「移行元を維持」「未指定」のどれにするかレビューします。未知のSIDを一括してDomain Usersへ置換するのは危険です。

ファイル配布元、ログオンスクリプト、ホームフォルダー、プリンターサーバー、ソフトウェア配布パッケージを実在確認します。移行先共有には対象コンピューターまたはユーザーの読み取り権限が必要です。パス置換後も、内容、署名、バージョンが正しいことをハッシュで確認します。

移行先へインポートする

  1. 移行先ドメインで用途が分かる新規GPO名を決め、検証OUにはまだリンクしません。
  2. GPMCの「設定のインポート」またはImport-GPOを使い、対象バックアップと移行テーブルを指定します。
  3. インポート後のGPOレポートを取得し、移行元レポートと設定項目数、値、無効/有効状態を比較します。
  4. セキュリティフィルター、委任、WMIフィルター、リンクは移行先の設計に従い別途設定します。
  5. 検証OUへリンクし、テストユーザーとテスト端末だけでgpresultと実動作を確認します。
$params = @{
  BackupGpoName = 'Legacy-Client-Policy'
  Path = 'D:\GPO-Backups\Change-20260717'
  TargetName = 'Pilot-Client-Policy'
  MigrationTable = 'D:\GPO-Maps\ClientPolicy.migtable'
  CreateIfNeeded = $true
  WhatIf = $true
}
Import-GPO @params

最初は`-WhatIf`で対象を確認し、その出力を承認記録へ残します。実行時はWhatIfを外しますが、既存の本番GPOへ直接上書きせず、未リンクの新規GPOへ作る方が比較と切り戻しが容易です。`-Server`を使う場合は複製が正常な書き込み先DCを明示します。

インポートされないものを補う

GPOバックアップのインポートは設定を対象とします。リンク先OUやサイト、リンク順序、Enforced、ブロック継承はActive Directory側の構成です。WMIフィルター、GPO ACL、委任、Starter GPO、IPsecや証明書依存も個別確認します。元と同じリンク順序を機械的に再現せず、移行先の既存GPOとの競合をRSoPで評価します。

ソフトウェアインストール設定は、移行先クライアントからパッケージに到達でき、署名、アーキテクチャ、再起動条件が適切かを確認します。古いMSIやスクリプトを移行できたこと自体は、2026年時点で安全に使える根拠になりません。製品サポートが切れている設定は更改対象にします。

検証と段階展開

`gpresult /h`、イベントログ、レジストリやファイルの期待値、業務アプリ動作を確認します。ユーザー設定とコンピューター設定を分け、再起動と再サインインを必要回数行います。低速リンク、VPN、別サイト、標準ユーザー、管理端末で同じ結果になるかを試します。

パイロットの次は少数部署、一般部署、例外端末の順に広げます。展開中はヘルプデスク問い合わせ、サインイン時間、アプリ起動失敗、プリンター接続、ファイル配布エラーを監視します。移行元と移行先を同時適用して二重設定にしないよう、グループとリンク期間を管理します。

切り戻しと廃止

問題が出たら移行先GPOのリンクを無効化し、移行前の対象グループとリンクを復元します。PreferencesのReplace/Deleteやスクリプトが既に端末データを変更した場合、GPOを外すだけでは戻りません。各設定の逆操作やバックアップ復元を変更計画に含めます。

全対象で安定した後も、移行元GPOを直ちに削除せず、読み取り専用の証跡として期限付きで保持します。廃止時はGPO名とGUID、最終バックアップ、リンクなし、参照なし、承認者を二者確認します。バックアップの保持期限と安全な廃棄も決めます。

移行完了チェック

  • 移行テーブルに未解決SID・旧UNCが残っていない
  • 設定レポートの差分を説明できる
  • リンク、WMI、委任、フィルターを移行先設計で再設定した
  • 標準ユーザーと複数サイトでRSoPと実動作を確認した
  • 失敗時に旧リンクへ戻し、端末変更も復元できる
  • 移行元削除の承認と保持済みバックアップがある

GPO内スクリプトと証明書を精査する

スタートアップ/ログオンスクリプト、証明書自動登録、セキュリティオプション、ファイアウォール、監査設定は、移行先の名前解決やPKI、ログ収集先へ強く依存します。ファイルがインポートされたことだけで有効とせず、署名、実行アカウント、到達先、終了コード、タイムアウトを検証します。旧ドメインの管理者グループを移行先ローカル管理者へ残さないようにします。

移行先に同名のGPOが既にある場合は、表示名で判断せずGUIDとレポートを比較します。既存GPOへインポートすると設定が置換されるため、事前バックアップと変更承認が必須です。競合解消はGPOを一つにまとめるか、責任範囲ごとに分けるかを決め、リンク順で偶然勝たせる設計を避けます。

複製とバックアップの健全性

移行前後にAD複製とSYSVOLのDFSR状態を確認します。複製障害中にインポートすると、管理端末が接続したDCによって見える版が異なります。GPOのUser/Computerバージョン、最終変更時刻、各DCの収束を確認し、バックアップから別の検証ドメインへ読み込めることを定期的に試します。

公式情報・参考資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメント一覧 (2件)

コメントする

目次