「Active Directory ゴミ箱機能」の有効化と復元方法を解説

Active Directory Recycle Binを有効にすると、有効化後に削除されたユーザー、グループ、OU等を、リンク属性を含む削除前の論理状態へ復元しやすくなります。前提はフォレスト/ドメイン機能レベルWindows Server 2008 R2以上、適切な権限、AD Administrative CenterまたはActiveDirectory PowerShellモジュールです。有効化はフォレスト全体の不可逆な変更で、無効へ戻せません。AD複製とSystem Stateバックアップを確認し、変更承認後に実施します。

Recycle Binを有効にしても、過去に削除済みのオブジェクトは復元対象になりません。フォレスト破損、ランサムウェア、属性の誤変更にも備えるため、バックアップは継続します。

目次

有効化前の確認

  • フォレストと全ドメインの機能レベル
  • 全DCの複製、DNS、SYSVOL、時刻の健全性
  • System State/AD対応バックアップの最終成功と復元試験
  • Enterprise/Domain Admin等の必要権限と二者承認
  • Deleted Object LifetimeとTombstone Lifetimeの方針
  • ADAC/RSAT/PowerShellモジュールの管理端末

機能レベルを上げる必要がある場合は、古いDC、アプリ、LDAP、バックアップ製品の互換性を先に確認します。Recycle Bin有効化のためだけに急いで古いDCを削除せず、正規の降格、メタデータ、DNS、FSMO、複製を計画します。

ADACから有効化する

  1. Server ManagerのToolsからActive Directory Administrative Centerを開きます。
  2. Manage → Add Navigation Nodesで対象フォレストのドメインを表示します。
  3. 対象ドメインを選び、TasksのEnable Recycle Binを選びます。
  4. 不可逆である警告と対象フォレストを確認し、承認後に実行します。
  5. F5で更新し、Deleted Objectsコンテナーが利用できることを確認します。

有効化は構成パーティションの変更として複製されます。実行DCだけで成功とせず、全DCへの複製とイベントを確認します。複製障害中に機能を有効化して結果がDCごとに異なる状態を放置しません。

PowerShellで有効化する

現在のオプション機能状態を読み取り、対象フォレスト名を確認してから`Enable-ADOptionalFeature`を使います。公式例の`contoso.com`やDNをそのまま使用しません。実行前に`-WhatIf`と`-Confirm`を使い、変更票へ出力を保存します。

Get-ADOptionalFeature -Filter 'Name -like "Recycle Bin Feature"' | Select-Object Name,EnabledScopes
Enable-ADOptionalFeature -Identity 'Recycle Bin Feature' -Scope ForestOrConfigurationSet -Target 'ad.example.jp' -WhatIf

WhatIf後に対象と権限を二者確認し、承認済み保守時間に実行します。コマンド履歴へ資格情報を直書きせず、専用管理端末と一時的な特権を使います。EnabledScopesへ対象が表示され、複製後に各管理端末でDeleted Objectsを確認します。

ADACで削除オブジェクトを復元する

ADACの対象ドメインでDeleted Objectsを開き、名前、ObjectClass、削除時刻、Last Known Parent、GUIDを確認します。似た名前の別ユーザーを誤復元しないよう、申請者と二者確認します。Restoreは元位置、Restore Toは指定OUへ戻します。

親OUと子オブジェクトをまとめて削除した場合、依存順を考えます。親がなく復元できないときは先に親を復元するか、安全な一時OUへRestore Toします。復元後のグループ所属、Manager、ACL、メール、ライセンス、アプリ連携を確認します。

PowerShellで対象を探す

Get-ADObject -Filter 'isDeleted -eq $true -and Name -like "*user1*"' -IncludeDeletedObjects -Properties lastKnownParent,whenChanged,objectGUID | Format-List Name,ObjectClass,whenChanged,lastKnownParent,objectGUID

フィルターを広くして結果を直接`Restore-ADObject`へパイプすると複数オブジェクトを誤復元します。まず読み取り一覧を保存し、GUID、削除時刻、元OUを特定します。ユーザー名は削除時に識別子が付くため、msDS-LastKnownRDN等も確認します。

$obj = Get-ADObject -Identity '<確認済みGUID>' -IncludeDeletedObjects -Properties *
$obj | Restore-ADObject -WhatIf

`Restore-ADObject`は`-NewName`や`-TargetPath`を指定できます。元OUが廃止済み、同名が既に存在、組織変更がある場合に使います。WhatIfで対象を確認し、復元先OUのGPO、委任、同期、ライセンスが適切かを承認します。

復元後の受入確認

  • ユーザー/グループ/OUのGUIDとSIDが期待どおり
  • グループ所属とアクセス権が復元した
  • 無効化、パスワード、MFA、ライセンスを安全に再設定した
  • GPO、メール、Entra同期、業務アプリが正常
  • 削除原因となった自動化や権限を修正した
  • 監査ログ、申請、実行者、検証結果を保存した

復元したユーザーを即有効にせず、削除理由とセキュリティ状態を確認します。侵害対応で削除したアカウントなら資格情報、トークン、MFA、端末、アプリ秘密をローテーションします。退職者を誤って再有効化しません。

復元できない場合

有効化前の削除、Deleted Object Lifetime超過、再利用/ガベージコレクション後、フォレスト障害ではRecycle Binから戻せません。System Stateの権威復元、バックアップからの粒度復元、Microsoftサポート等を検討します。稼働DCのデータベースファイルを直接編集しません。

運用に組み込む

重要OU、特権グループ、GPO、DNS、サービスアカウントの削除をアラートし、削除権限を最小化します。Recycle Binの保持期間と容量を監視し、四半期ごとにテストオブジェクトの削除・復元を訓練します。復元可能だから削除承認を緩めないでください。

OUをまとめて復元するとき

OU削除では配下のユーザー、グループ、コンピューターが多数Deleted Objectsへ移ります。親子関係を確認せず名前一致で全件復元すると、別時刻に削除された無関係オブジェクトまで戻ります。削除時刻、lastKnownParent、ObjectGUIDで復元セットを作り、親OUから順に段階復元します。

復元したOUへリンクされていたGPOは別オブジェクトであり、OU復元だけでリンクや委任が完全に戻るかを確認します。保護されたオブジェクト、継承、AdminSDHolder、Entra Connectの同期範囲も再評価します。

保持期間と容量

Deleted Object LifetimeとTombstone Lifetimeは、復元可能期間とディレクトリDB容量へ影響します。既定値を推測せずフォレストで読み取り、法務・復旧要件に合わせます。長くすれば永続バックアップになるわけではなく、DCバックアップ保持とフォレスト復旧期間も整合させます。

公式情報・参考資料

この記事を書いた人

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

コメント

コメントする

目次