Active Directory Recycle Bin, Windows Server 2008 R2 ile birlikte hayatımıza giren bir özelliktir. Bu özellik sayesinde, silinen bir Active Directory nesnesine Restore (geri kurtarma) işlemi yapabilme imkanına sahibiz. Windows Server 2008 ve önceki sürüm Windows Server'larda kurtarma işlemini sadece yedeklerimizden ve Directory Services Restore Mode (DSRM) üzerinden yapabiliyorduk. Bu da, Server'ımızın Offline durumda olması, yani çalışmaması anlamına geliyordu ki iş kritik Server'ların çalışmamasından doğabilecek sorunları tahmin etmek hiç zor olmasa gerek. Ne var ki; Active Directory Recycle Bin, Windows Server 2008 R2 ile birlikte hayatımıza girdiğinde, kullanımı yine o kada basit değildi. Bunun için, Active Directory Module for Windows Powershell üzerinden çalışma yapmanız gerekiyordu. Örneğin, Active Directory Recycle Bin'i kullanmaya başlamadan önce Enable-ADOptionalFeature CMDlet'ini çalıştırmanız, daha sonra silinen Active Directory nesnesini Restore edebilmek için Get-ADObject ve Restore-ADObject olmak üzere ek iki tane daha CMDlet komutu kullanmanız gerekiyordu. Neyseki artık Windows Server 2012 R2 ile birlikte hayatımıza giren bu işlem, artık daha da basitleşti ve Windows Server 2016 ile de bu özelliği kullanmaya devam ediyoruz.
Windows Server 2016 Active Directory Recycle Bin Aktifleştirme işleminden bahsetmeden önce, Active Directory Deleted Objects Life Cycle (Active Directory Silinen Nesnelerin Yaşam Döngüsü) mantığından biraz bahsetmek istiyorum. Yani Active Directory'den silinen nesnelerin, silindikten sonraki Life Cycle (Yaşam Döngüsü) nasıl işlemektedir, bundan bahsetmek fayadalı olacaktır.
Active Directory Deleted Objects Life Cycle (Active Directory Silinen Nesnelerin Yaşam Döngüsü)
Active Directory Deleted Objects Life Cycle (Active Directory Silinen Nesnelerin Yaşam Döngüsü) iki aşamadan oluşmaktadır;
1- Active Directory Recycle Bin Disabled Durumu
Active Directory Recycle Bin Disabled durumda, yani pasif durumda iken, Active Directory'den silinen bir nesne tamamen silinmiyor. Silinen nesneler, "Tombstoned" olarak etiketlenip, Deleted Objects adı verilen bir Container (Kap) içinde 180 günlük bir süre ile "Tombstoned" olarak etikilenmiş bir şekilde bekliyor. "Tombstoned" olarak etiketlenmiş bir nesneyi 180 günlük yaşam süresi içinde geri kurtarma imkanına sahipsiniz. Bu işleme, "Tombstoned Reanimation" (Kaydı yeniden canlandırma) adını veriyoruz. "Tombstoned Reanimation" ile Restore edilen bir nesnenin temel bazı öz nitelikleri (Attributes) hariç, hiçbir öz niteliği (Attribute) gelmemektedir. Silinen bir nesneyi yeniden kurtarmanın bir diğer yöntemi ise, Autorative Restore ile yani Active Directory System State yedeğinden Restore ederek kurtarma yöntemi kullanmaktır. Bu işlemi yapabilmek için, Domain Controller açılırken, açılış seçeneklerinden Directory Resote Mode ile açmak gerekiyor. 180 günlük "Tombstoned" yaşam süresi dolduğunda, "Garbage Collection" işlemi devreye girerek nesnenin Active Directory Veritabanı üzerinden tamamen silinmesi işlemi gerçekleşiyor.

2- Active Directory Recycle Bin Enabled Durumu
Active Directory Recycle Bin Enabled durumda, yani aktif durumda iken, Recycle Bin özelliği sayesinde silinen nesneler "Deleted Objects" adı verilen bir Container (Kap) içinde 180 günlük bir süre ile "Deleted Object Lifetime" yaşamına başlar. Bu süre içinde nesne ve nesneye ait öz nitelikler (Attributes) mantıksal olarak silinmiş kabul edilir. 180 günlük "Deleted Object Lifetime" yaşam süresi içinde Restore edilen nesneler, öz nitelikleri (Attributes) korunmuş bir şekilde geri gelecektir. "Deleted Objects" adı verilen Container (Kap) içinde ilk 180 gününü dolduran nesneler, "Recycled" adı verilen bir Container (Kap) içinde ikinci bir 180 günlük bir süre ile "Recycled Object Lifetime" yaşamına başlar. Nesne, bu ikinci 180 günlük süre içinde "Recycled Object" olarak etikilenmiş bir şekilde bekliyor. "Recycled" olarak etiketlenen bir nesneye ait temel bazı öz nitelikler (Attributes) dışında tüm öz nitelikler (Attributes) silinir.
Uyarı!: "Recycled" olarak etiketlenen bir nesneyi, ister "Tombstoned Reanimation" yöntemi, isterse de "Autorative Restore" yöntemi kullanılsın, Restore etme yani geri getirme şansımız bulunmamaktadır. Bu nedenle silinen Active Directory nesnelerini ilk 180 günlük "Deleted Object Lifetime" süresi zarfında Restore etmenizi öneririm.

Windows Server 2016'da Active Directory Recycle Bin Enable Etme
Active Directory Recycle Bin, varsayılan olarak Enabled (aktif) olarak gelmemektedir. Kullanmaya başlamak için Enabled (aktif) duruma getirmeniz gerekmektedir. Bunun için;
1- ADAC (Active Directory Administrative Center) konsolu açıyorum. Sol bölümde, Domain adının yazılı olduğu alanda sağ tıklıyor, açılan menüden Enable Recyle Bin... seçeneğine tıklıyorum.

2- Enable Recyle Bin... seçeneğine tıkladıktan sonra karşıma, Recyle Bin özelliğini aktifleştirmek isteyip istemediğimi soran bir diyalog penceresi çıkıyor. Bu diyalog penceresinde "Active Directory Recycle Bin bir kez Enabled (aktif) duruma getirildiğinde, Disabled (passive) duruma geri döndürülemeyeceği" bilgisi de veriliyor. OK butonuna basıp, Recyle Bin özelliğini akfitleştiriyorum.

3- OK butonuna basıp, Recyle Bin özelliğini akfitleştirten sonra, karşıma bir diyalog penceresi daha çıkıyor. Bu diyalog penceresinde "AD Recyle Bin özellik etkinleştirmesinin bu Forest için başlatıldığı ve bu yapılandırma değişikliğinin, Forest içindeki tüm Domain Controller Server'lara replikasyonundan sonra, tüm Domain Controller Server'larda kullanılabileceği" bilgisi iletiliyor. OK butonuna basıp, diyalog penceresini kapatıyorum.

4- İşlemlerimizi tamamladıktan sonra, ADAC (Active Directory Administrative Center) refresh edilirse, sağ alt kısımda bulunan Enable Recyle Bin... seçeneğinin Disabled (PASİF) hale geldiğini görebilirsiniz.

5- Active Directory Recycle Bin'in aktif olup olmadığını aynı zaman da Get-ADOptionalFeature -filter * Powershell komutunu kullanarak da kontrol etmemiz mümküdür.

Powershell Komutu ile Active Directory Recycle Bin Aktifleştirme
Active Directory Recycle Bin'i aktifleştirmek için öncelikle Get-ADForest boyanfirat.com komutu ile Forest bilgisini alıyorum.

Forest bilgisi elde edildikten sonra, aşağıdaki Powershell komutu uygulanarak, Active Directory Recycle Bin özelliği aktifleştirilebilmektedir.
Enable-ADOptionalFeature -Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directroy Service,CN=Windows NT,CN=Services,CN=Configuration,DC=boyanfirat,DC=com' -Scope ForestOrConfigurationSet -Target 'boyanfirat.com' |
Active Directory Administrative Center'da Silinen Kullanıcı nesnesini Kurtarma
6- Şimdiki adımımızda senaryom gereği Active Directory'den bazı kullanıcı nesnelerini (User Object) siliyorum.

6.1- Bu nesneleri silmek isteyip istemediğimizi soran diyalog penceresinde YES butonua basıyorum.

6.2- Active Directory'den kullanıcıların silindiğini görüyorum.

7- Silmiş olduğum bu kullanıcı nesnesi (User Object), Active Directory Administrative Center (ADAC)'da sol bölümde, Domain adının yazılı olduğu alanda Deleted Objects Container (Kap) içinde tutulmaktadır.


8- Burada silinmiş olan nesneler, aşağıdaki Powershell Script ile de listelenebilmektedir.
get-adobject -filter 'objectclass -eq "user" -AND IsDeleted -eq $True' -IncludeDeletedObjects -properties IsDeleted,LastKnownParent | Format-List Name,IsDeleted,LastKnownParent,DistinguishedName |

Silinen Active Directory Nesnelerini hem PowerShell hem de GUI(Graphical User Interface) Üzerinden Restore etmek mümkündür. Bu makalemizde her ikisinin de örneği üzerinde duracacağım.
Silinen Active Directory Nesnelerini Powershell Üzerinden Restore Etme
9- Örneğimde "User11" isimli kullanıcı nesnemi Restore edeceğim.

9.1- Silinen "User11" isimli Active Directory nesnesini aşağıdaki PowerShell komutunu kullanarak Restore ediyorum.
get-adobject -filter 'name -like "User11*"' -IncludeDeletedObjects | Restore-ADObject –TargetPath "OU=Users,OU=Istanbul,OU=Turkey,OU=Asia,DC=boyanfirat,DC=com" -passthru |

9.2- Active Directory Users and Computers açtığımda, Silinen "User11" isimli Active Directory kullanıcı nesnesinin belirtilen "OU=Users,OU=Istanbul,OU=Turkey,OU=Asia,DC=boyanfirat,DC=com" LDAP dizinine başarılı bir şekilde Restore edildiğini görüyorum.

9.3- Active Directory Administrative Center (ADAC) üzerinde de Restore edildiğini görüyorum.

Silinen Active Directory Nesnelerini GUI (Graphical User Interface) Üzerinden Restore Etme
10- Sağ üst kısımdaki Tasks alanı altında, Restore ve Restore To... seçeneklerini görüyorum. Bu seçeneklerden Restore, nesneyi silinmeden önceki konumuna kurtarabiliyoruz. Yani nesne, silinmeden önce Active Directory'de hangi Container içindeyse, yine o container içine aktarılır. Restore To seçeneği ile ise nesnenin silinmeden önceki orijinal konumu dışında bizim istediğimiz başka bir konuma kurtarabiliyoruz.

Ben, Restore To seçeneğini seçerek, sildiğim neyseyi eski konumuna kurtaracağım.

11- Görüldüğü gibi, Active Directory'den sildiğim kullanıcı nesnesini (User Object) başarılı bir şekilde "OU=Users,OU=Ankara,OU=Turkey,OU=Asia,DC=boyanfirat,DC=com" LDAP dizinine başarılı bir şekilde Restore edildiğini görüyorum.

Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.