Active Directory Recycle Bin (ゴミ箱) の属性

 
当初は、Tech・Ed2009の参加者の方々のための情報提供の場として
人知れず始めたブログですが、ページビューの数を見たら結構増えていて、ちょっとびっくりです。
同時に、感謝の気持ちでいっぱいでもあります。
(それとWindows Live Spaceの使い方をわかっていなくて、「知り合い」の機能などでは
一部の方にご迷惑をおかけしています)
 
 
 
今日はActive Directory Recycle Bin (Active Directory用ごみ箱)です。
Windows Server 2008 R2の新機能として、注目されていますね。
とても便利な機能なのは間違いないことなのですが、
アーキテクチャを見ていると気になっていることがあります。
 
 
それは、Recycled Object(リサイクル済み)とTombstoneは同じか?
という問題です。どうでも良いことかもしれないですけど、180日以上経過してしまってから、
あっ、復元しなきゃ!となったときに同じであれば、Windows Server 2008 RTMのときと同じ方法で復元すれば、
ユーザー名ぐらいは戻るけれども、同じじゃなかったら大変ですよね。
 
 
きっかけは、上図を眺めながら、こんなことを思ったからです。
「Windows Server 2008 R2において、Recycle Binが有効な状態で、Active Directoryオブジェクトを削除すると、
Deleted Object(削除済みオブジェクト)という状態になる。
そこから180日経過すると、いきなり完全削除されるのではなく、Recycled Object(リサイクル済み)という状態に変化する。
Recycled Objectになると多くの属性が失われるというので、
ってことは、Recycled ObjectとWindows Server 2008 RTM以前のTombstoneは同じなのかな?」
 
 
そこで調べてみたのですが、結論から言うと、違います
 
先だって、検索エンジンで調べてみたら、
4sysopsさんのサイトで、「Recycled Object VS Tombstone Object」という記述を見かけました。
それによると、
・Recycled Objectは利用可能なオブジェクトに復元できない
・バックアップからRecycled Objectの復元はできない
とありました(私の英語理解力が確かなら、の話です)。
気になって、とりあえず「Recycled Objectは利用可能なオブジェクトに復元できない」を試してみました。
 
 
一度、ユーザーオブジェクトを作成し、削除しました。
すると、isDeleted属性がTRUEになります。
(ちなみに、TombstoneでもisDeletedはTRUEとなります)
 
 
この状態でオブジェクトを復元します。
ここでは、復元にsysinternalsのADRestoreを使います。
すると、CNは正しく表示されないですが、Deleted Objectの存在を認識し、
復元することができました。(ここまでは仕様だから当然ですね)
 
 
続いて、時計を180日分進めてみました。
すると、オブジェクトにはisDeletedとisRecycledの2つの属性がTRUEになっています。
(Windows Server 2008 RTMにはisRecycledという属性自体が無いから、この時点で
Recycled ObjectとTombstoneが違うことはわかりますね)
 
 
この状態で、もう一度ADRestoreで復元してみます。
 
 
今度は復元どころか列挙もできませんでした。
ADRestoreの仕様で削除できないだけなのかもしれないですが、
ひとまず復元することはできませんでした。
(ちなみにldp.exeから復元も試してみましたが、これもNGでした)
 
ということで、Recycled Objectの状態になったユーザー等のオブジェクトは
復元も何もできず、ただ黙って次の180日を待つだけ、ということのようです。
 
 
Active Directory Recycle Binは重要な機能なだけに
色々な疑問があれば、きっちり解決しておきたいものですね。