Active Directory'deki (AD) OU'lar, yöneticilerin kullanıcıları kuruluşunuzdaki farklı departmanlara göre kategorize etmesine yardımcı olur. Bir OU silindiğinde, içinde bulunan tüm nesnelerle birlikte OU'nun geri yüklenmesi gerekir. OU'lara uygulanan GPO'lar ve OU üyelerinin daha önce parçası olduğu güvenlik grupları gibi hayati bilgiler de geri yüklenmelidir.
Bu makalede, silinen iç içe OU'ları geri yükleyebileceğiniz farklı yöntemler ayrıntılı olarak ele alınacaktır.
Active Directory, varsayılan olarak devre dışı bırakılan ve elle etkinleştirilmesi gereken bir Geri Dönüşüm Kutusu özelliği sağlar. Ortamınızda Geri Dönüşüm Kutusu etkinleştirilmişse, OU'ları gerekli tüm bilgilerle geri yüklemek için size ek hareket serbestliği sağlar.
Geri Dönüşüm Kutusu etkinleştirilmemişse, silinen OU Silinen Nesneler kapsayıcısına taşınır ve özniteliklerinin çoğundan arındırılır. OU, Windows Sunucunuzun sürümüne ve yapılandırma ayarlarınıza bağlı olarak 60-180 gün boyunca bu kaldırıldı işaretlendi durumunda kalır. Bununla birlikte, OU PowerShell veya LDP yardımcı programı gibi yerel araçlar kullanılarak geri yüklenebilir ancak eksik özniteliklerinin elle geri eklenmesi gerekecektir.

Geri Dönüşüm Kutusu etkinleştirildiğinde, OU hala Silinen Nesneler kapsayıcısına taşınır ancak tüm öznitelikleri msDS-deletedObjectLifetime özniteliğiniz tarafından belirtilen bir süre boyunca korunur. Bu aşamada, OU tüm öznitelikleri bozulmadan geri yüklenebilir.
msDS-deletedObjectLifetime süresi sona erdiğinde, nesne neredeyse tüm özniteliklerinin kaldırıldığı Geri Dönüştürülen Nesne durumuna taşınır. Nesneler, tombstoneLifetime özniteliğiniz tarafından belirtildiği gibi bu durumda kalır. tombstoneLifetime süresi sona erdiğinde, nesne çöp toplama işlemi tarafından veritabanından kaldırılır ve geri yüklenemez.
Silinen nesnelerin tüm özniteliklerini korumak için, AD Geri Dönüşüm Kutusunu etkinleştirmek bir zorunluluktur.
AD Geri Dönüşüm Kutusunu etkinleştirmeden önce, etki alanı ve orman işlevsel düzeylerinin en az Windows Server 2008 R2 olduğundan emin olun.
Not: AD Geri Dönüşüm Kutusu etkinleştirildikten sonra devre dışı bırakılamaz.
AD Geri Dönüşüm Kutusunu etkinleştirmek için, PowerShell'de aşağıdaki komutu yürütün.
Enable-ADOptionalFeature –Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=www,DC=zylker'DC=com' –Scope ForestOrConfigurationSet –Target 'www.zylker.com'
Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 veya Windows Server 2012 kullanıyorsanız, Geri Dönüşüm Kutusunu etkinleştirmek için Active Directory Yönetim Merkezini kullanabilirsiniz.
Yönetici olarak bunlar, AD Geri Dönüşüm Kutusunun etkinleştirilmiş olması koşuluyla, OU'ları tüm öznitelikleri bozulmadan geri yüklemek için kullanılabilecek yerel araçlardır.
Aşağıdaki senaryoyu düşünün: example.com'un bir yöneticisi, İK departmanındaki çalışanların kullanıcı hesaplarını içeren HR_Department adlı iç içe geçmiş bir kuruluş birimini (OU) yanlışlıkla siler. OU'nun silinmesi, İK departmanında çalışan yöneticilerin kullanıcı hesaplarını içeren Yöneticiler adlı iç içe geçmiş bir OU'nun silinmesine neden olur. Jack, Vincent ve Emma, HR_Department OU'sundaki kullanıcı hesaplarıdır. Harry, Managers OU'sundaki bir kullanıcı hesabıdır. Aşağıdaki resimde, HR_Department OU'sunun hiyerarşisi gösterilmektedir.

Makalede, bu nesnelerin yerel AD araçları kullanılarak nasıl geri yüklenebileceği açıklanacaktır.
Not: Yerel araçları kullanarak nesneleri geri yüklerken, silinen nesneler yalnızca canlı bir üst öğeye geri yüklenebildiğinden, nesneleri geri yüklemeye hiyerarşinin en üst düzeyinden başlamak çok önemlidir.
Silinen bir nesneyi geri yüklemek için, PowerShell'i açın ve aşağıdaki komutu yazın:
Restore-ADObject -Identity $dn
Burada $dn, geri yüklenecek nesnenin ayırt edici adıdır. Nesnenin ayırt edici adını bulmak için, PowerShell'de aşağıdaki komut dosyasını kullanın:
(Get-ADObject -SearchBase (get-addomain).deletedobjectscontainer -IncludeDeletedObjects -filter "samaccountname -eq '%OLD_NAME%' ")
Nesnenin ayırt edici adını bulmak ve geri yüklemeyi gerçekleştirmek için, PowerShell'de aşağıdaki komut dosyasını kullanın:
(Get-ADObject -SearchBase (get-addomain).deletedobjectscontainer -IncludeDeletedObjects -filter "samaccountname -eq '%OLD_NAME%' ") | Restore-ADObject
Burada %OLD_NAME%, nesnenin silinmeden önceki adıdır.

Tek bir nesneyi geri yüklemenin aksine, bir OU'yu ve onu oluşturan nesneleri geri yüklemek tek adımlı bir işlem değildir.
Yukarıda belirtilen senaryo göz önüne alındığında, HR_Department OU’su silindiğinde, içerdiği tüm nesneler―iki OU ve dört kullanıcı dahil olmak üzere toplam altı nesne―ayırt edici adları karıştırılarak Silinen Nesneler kapsayıcısına taşınır. Silinen Nesneler kapsayıcısı, düz bir hiyerarşideki tüm silinmiş nesneleri doğrudan alt öğeleri olarak görüntüler ve orijinal hiyerarşi kaybolur. Yöneticinin HR_Department OU'sunu geri yüklemesi gerekiyorsa, bu OU'nun orijinal hiyerarşisini bir şekilde tanımlaması gerekir.
OU HR_department'ı geri yüklemek için öncelikle OU'nun orijinal hiyerarşisini bulmanız gerekir.
Silinen OU'nun orijinal hiyerarşisini biliyorsanız, silinen nesneleri bir seferde bir hiyerarşi düzeyinde almak için Restore-ADObject cmdlet'ini kullanabilirsiniz.
Orijinal hiyerarşiye aşina değilseniz, geri yükleme işlemine başlamadan önce hiyerarşiyi tanımlamanız gerekir.
Örneğin, Emma kullanıcı hesabının hiyerarşisini bulmak istiyorsanız, PowerShell cmdlet'i Emma'nın lastKnownParent özniteliği döndürülecek şekilde oluşturulmalıdır.
Get-ADObject -SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -ldapFilter:"(msDs-lastKnownRDN=Emma)" –IncludeDeletedObjects –Properties lastKnownParent

Bu cmdlet'in döndürdüğü çıktıda, Emma için lastKnownParent değeri HR_Department'dır. HR_Department OU'sunun ayırt edici adının karıştırıldığını da fark edebilirsiniz; bu da HR_Department OU nesnesinin kendisinin silindiğini gösterir.
İşte karıştırılmış bir ayırt edici ad örneği:
OU=HR_Department\0ADEL:d662511-4bde-b24e-f665bfa96e7b,CN=Deleted Objects,DC=validate4,DC=com
Ardından, Silinen Nesneler kapsayıcısında LastKnownParent değeri HR_Department olan tüm nesneleri aramanız gerekir.
Get-ADObject –SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -Filter {lastKnownParent -eq 'OU=HR_Department\\0ADEL:d662511-4bde-b24e-f665bfa96e7b,CN=Deleted Objects,DC=example,DC=com'} -IncludeDeletedObjects -Properties lastKnownParent | ft

Bu cmdlet'in döndürdüğü çıktıda, Managers'ın bir OU olduğunu fark edebilirsiniz. Şimdi Managers OU'sunda bulunan tüm silinmiş nesneleri aramanız gerekir. Managers OU'sundaki nesneler, Managers'a eşit bir lastKnownParent özniteliği içerecektir.
Get-ADObject –SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -Filter {lastKnownParent -eq 'OU=Managers\\0ADEL:83fb259c-b3f6-452f-a423-37f7fb11e0d0,CN=Deleted Objects,DC= validate4,DC=com'} -IncludeDeletedObjects -Properties lastKnownParent | ft

Bu cmdlet'in görüntülediği çıktıda, yalnızca Harry kullanıcı hesabını göreceksiniz ve OU içinde başka hiçbir nesne görmeyeceksiniz. Artık silinmiş olan tüm nesnelerin listesine sahipsiniz ve geri yüklemeye başlayabilirsiniz. HR_Department OU’su hiyerarşinin en üstündeki nesne olduğundan, önce geri yüklenmelidir. Önceki tüm araştırma adımları—nesnenin doğrudan üst öğesine işaret eden ve bir sonraki üst öğenin de silinip silinmediğini göstermeyen—lastKnownParent özniteliği kullanılarak gerçekleştirildiğinden, yöneticiler aşağıdaki komutu çalıştırarak HR_Department için lastKnownParent değerinin gerçekten de canlı bir OU olduğunu doğrulayabilir:
Get-ADObject -SearchBase "CN=Deleted Objects,DC= validate4,DC=com"
-ldapFilter:"(msDs-lastKnownRDN=HR_Department)" –IncludeDeletedObjects –Properties lastKnownParent

Bu, araştırmayı sonuçlandırır ve artık HR_Department OU'sunu orijinal hiyerarşisine ve durumuna geri yüklemeye hazırsınız.
PowerShell kullanarak HR_Department OU'sunu geri yüklemek için, etki alanı denetleyicisinde aşağıdaki işlemleri gerçekleştirin.
Get-ADObject -ldapFilter:"(msDS-LastKnownRDN=HR_Department)" –IncludeDeletedObjects | Restore-ADObject

Get-ADObject -SearchBase "CN=Deleted Objects,DC= validate4,DC=com" -Filter {lastKnownParent -eq 'OU=HR_Department,DC= validate4,DC=com'} -IncludeDeletedObjects | Restore-ADObject

Get-ADObject -SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -Filter {lastKnownParent -eq 'OU=Admins,OU=HR_Department,DC=validate4,DC=com'} -IncludeDeletedObjects | Restore-ADObject

30 günlük ücretsiz deneme sürümü
Not: OU içinde bulunan nesneleri geri yüklediğinizde, sağladığınız ayırt edici adın üst OU'sunun adını içerdiğinden emin olun. Örneğin, Emma Roberts kullanıcısını geri yüklüyorsanız, DN CN=Emma Roberts,CN=HR,DC=Terminator,DC=com olmalıdır. Üst OU belirtilmezse, kullanıcı nesnesi kök etki alanına geri yüklenecek ve onu HR OU'suna elle taşımanız gerekecektir.
Yönetim Merkezini kullanarak silinen OU'ları geri yüklemek için,
Geri yükleme hiyerarşik olarak gerçekleştirilmelidir ve her bir kullanıcı nesnesi silinmeden önce bulunduğu OU'ya geri yüklenecektir. Tüm öznitelikler grup üyeliği bilgileriyle birlikte geri yüklenecektir.
Yukarıdaki örneklerden, PowerShell, LDP yardımcı programı ve Active Directory Yönetim Merkezi silinen OU'ları geri yüklemek için kullanılabilse de, bunları geri yükleme işleminin her zaman kolay olmadığını görebiliriz.
Tüm üç yerel araç da birkaç ortak eksikliğe sahiptir
1. Hiyerarşik geri yüklemenin olmaması.
2. Yerel AD Geri Dönüşüm Kutusu etkinleştirilmelidir ve Silinmiş Öğe İşareti Ömrü özniteliği için büyük bir değer ayarlamak Dizin Bilgi Ağacı (DIT) boyutunu artırabilir.
Ayrıca, PowerShell ve LDP yardımcı programını kullanarak iç içe geçmiş OU'ları kurtarmak, OU'da bulunan nesne sayısı büyükse karmaşıklığı artıran çok sayıda adım içerir.
RecoveryManager Plus yerel araçların tüm eksikliklerinin üstesinden gelmenizi sağlarken, diğer yetenekleri açısından daha fazla değer katar.
Yukarıdaki ile aynı kullanım durumu göz önüne alındığında, aşağıdaki bölümde RecoveryManager Plus'ın silinen tüm nesneleri geri yüklemek için nasıl kullanılabileceği açıklanacaktır.
Nesneleri en yüksek hiyerarşi düzeyinden geri yüklemenizi gerektiren yerel araçların aksine, RecoveryManager Plus orijinal hiyerarşisine bakılmaksızın herhangi bir nesneyi geri yüklemenize olanak tanır. Bir nesne ve üst kapsayıcısı silindiğinde, silinen nesnenin geri yüklenmesi üst kapsayıcıyı da otomatik olarak geri yükler ve kapsayıcıları ayrı ayrı geri yükleme ihtiyacını ortadan kaldırır.
RecoveryManager Plus, yerel Geri Dönüşüm Kutusu etkinleştirilmemiş olsa bile nesneleri tüm öznitelikleri bozulmadan geri yüklemenize olanak tanır. RecoveryManager Plus kendi Geri Dönüşüm Kutusu özelliği ile birlikte geldiğinden, bu mümkündür. Silinen tüm AD nesnelerini burada bulabilir ve hatta nesneyle birlikte geri yüklenecek öznitelikleri önizleyebilirsiniz. Arama sonuçlarını gerekli nesne türüyle (kullanıcı, OU, grup vb.) sınırlamak veya silinen nesneyi ada göre aramak için mevcut filtreleri de kullanabilirsiniz.
HR_Department OU'sunun tamamı silindiğinde, silinen OU'yu ve onu oluşturan tüm nesneleri RecoveryManager Plus'ın Geri Dönüşüm Kutusunda bulabilirsiniz.
Yönetici silinen OU'nun orijinal hiyerarşisini biliyorsa, yalnızca üst kapsayıcıyı seçebilir ve geri dönüştürebilir; bu da OU'nun tüm oluşturan nesnelerini otomatik olarak geri yükleyecektir.

RecoveryManager Plus, silinen nesneleri geri yüklemenin yanı sıra, bunu AD'lerinin içeriği üzerinde tam kontrol sahibi olmak isteyen yöneticiler için sahip olunması gereken çeşitli yeteneklere sahip çok yönlü bir araçtır.
| Özellikler | PowerShell | LDP yardımcı programı | Active Directory Yönetim Merkezi | RecoveryManager Plus |
|---|---|---|---|---|
| Canlı AD nesnelerini geçmiş sürümlerinden herhangi birine geri yükle | ||||
| AD geri alma | ||||
| Ayrıntılı GPO geri yükleme |
RecoveryManager Plus'ın sunduğu çeşitli özellikler hakkında daha fazla bilgi edinin.
AD nesnelerini yedekleme ve kurtarma gibi özellikleri denemek için RecoveryManager Plus'ı değerlendirin. Herhangi bir yardıma ihtiyaç duyarsanız, destek deneme sürümünüze dahildir. Tamamen işlevsel 30 günlük ücretsiz deneme sürümünüzü bugün indirin.