以前、Active Directory Recycle BinをRCで試したのですが、RTMで更に深く検証してみます。
まず、Active Directory Recycle Binの概要に関して
Active Directory Recycle Binを有効にするための条件としては2つあります。
- フォレスト機能レベルを「2008 R2」にする
PowerShellより
PS>Set-ADForestMode –Identity contoso.com –ForestMode Windows2008R2Forest - 「ごみ箱」を有効にする
PowerShellより
Enable-ADOptionalFeature –Identity ‘Recycle Bin Feature’ –Scope ForestOrConfigurationSet –Target ‘contoso.com’
*注意 ADモジュールをPowershellにロードする必要があります。<Import-Module ActiveDirectory>
これらの条件が整って初めてActive Directory Recycle Binが有効になります。
試しに、上記条件を満たさない状況でUser1というユーザーオブジェクトを削除してからadrestoreを使用して復旧してみました。この場合は以前と同じようにほとんどの属性は削除されているのでUser1は復旧しましたが、多くの属性は戻りませんでした。
以前は、オブジェクトを削除すると廃棄(Tomstone)となりました。この際の有効期間はフォレストを作成した時のOSのバージョンによって異なります。ですのでたとえWindows Server 2008を導入しているからといって180日とは限りません。アップグレードやサービスパックの適用時にも変更はされないことに注意が必要です。
OS | 廃棄の有効期間 |
Windows 2000 Server | 60日 |
Windows Server 2003 | 60日 |
Windows Server 2003 SP1 | 180日 |
Windows Server 2003 R2 | 60日 |
Windows Server 2003 SP2 | 180日 |
Windows Server 2008 | 180日 |
この廃棄期間はADに情報が残っているのでバックアップを使用しなくても最悪オブジェクトだけは何とか復旧できました。ただし、ほとんどの属性は削除されているので手作業で属性の追加をしなくてはいけなかったのが現状です。これが少数のオブジェクトなら何とかなりますが、OU毎ごっそり間違って削除してしまった場合はお手上げです。そのような場合はバックアップからの復元を行っていたのが現状です。しかし、この場合はDSRMで再起動してAuthoritative Restoreを行わなくてはいけないのでかなり敷居の高い操作となります。
ではActive Directory Recycle Binが有効になると内部的にはどのように動作するのか?
基本的な考え方は、図にある通りです。削除されるとまずはDeleted Object(削除済)という状態になり、180日が経過するとRecycled Object(リサイクル済)という状態になります。更に180日が経過するとガベージコレクションによって完全削除という仕組みになります。
Deleted Object(削除済)の状態のときは、完全復旧が簡単に行えるということになります。一番簡単な方法は今までと同じようにadrestoreを使う方法でしょうかね~
そのほかには、Poweshellを使う方法があります
・削除されたユーザーを参照する
PS> Get-ADObject -filter {sAMAccountName -eq “user01”} –IncludeDeletedObject |
・ユーザーを復旧する
PS> Get-ADObject -filter {sAMAccountName -eq “user01”} -IncludeDeletedObject | Restore-ADObject |
更にOU毎ごっそり削除してしまった場合は次のように復旧する
・OUを復活させる(FinanceというOU名だった場合)
Get-ADObject -ldapFilter:"(msDS-LastKnownRDN=Finance)" -IncludeDeletedObjects | Restore-ADObject |
・Finance配下のオブジェクト復旧
Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" –Filter {lastKnownParent -eq "OU=Finance,DC=contoso,DC=com"} -IncludeDeletedObjects | Restore-ADObject |
とまあ、Deleted Object(削除済)の状態での復旧は特に問題ないことが判明しました。
では、Recycled Object(リサイクル済)のときはどうなんでしょうか?普通に考えると以前の廃棄(Tomstone)と同じかな?なんて思うかもしれませんが実は違います。これに関しては現在調査中なので結果が判り次第書こうと思います。