Windows Server 2008 R2 Sonrasında Aktif Dizin Nesnelerini Geri Döndürme İşlemi

Silinen bir Aktif Dizin nesnesinin geri döndürülmesi ihtiyacı olabilmektedir. Bu amaçla Microsoft tarafından sunulan Recycle Bin (geri döndürme) özelliği kullanılabilir. Windows Server 2008 R2 sürümü etki alanı denetleyicilerinde ve önceki sürüm etki alanı denetleyicilerinde (Domain Controller) geri döndürme özelliği farklılık göstermektedir. Bu yazıda Windows Server 2008 R2 sonrasında Aktif Dizin nesnelerini geri döndürme işlemi incelenecektir.

Eski sürümlerde gerçekleştirilen operasyonlar sırasında Aktif Dizin servisi çevrim dışı olarak çalıştığından, kesintiler yaşanabilmekteydi. Windows Server 2008 r2 ve sonraki sürümlerin kurulu olduğu ortamlarda, yani orman fonksiyonellik seviyesi (Forest Functional Level – FFL) en az Windows Server 2008 r2 iken, Aktif Dizin diğer roller gibi bir servis olarak çalıştığı için, Recycle Bin özelliği kullanılarak kesinti oluşmadan silinen nesneler geri döndürülebilmektedir. Ayrıca sadece nesnelerin geri döndürülmüyor, yedeği alındıktan sonra gerçekleştirilen değişiklikler (kullanıcı grubu değişiklikleri, kullanıcı özellik değişiklikleri vs) de dahil olmak üzere, nesnelerin tüm özellikleri de eski haline geri getirilebilmektedir.
Gerçek ortamdan mantıksal olarak silinen bir nesne öncelikle nesneye ait «msDS-deletedObjectLifetime» özelliği ile belirtilen süre kadar «Deleted Object» içerisinde bekletilir, sonrasında «tombstoneLifetime» özelliği ile belirtilen süre (180 gün) kadar “recycled” durumunda bekletilir. Bu süre de dolduktan sonra Aktif Dizin’den fiziksel olarak silinir. Şekil – 01’de Windows Server 2008 R2 sonrasında geri dönüş işlemi gösterilmektedir.

Şekil - 01: Windows Server 2008 R2 Sonrası Nesne Geri Dönüşümü

Şekil – 01: Windows Server 2008 R2 Sonrası Nesne Geri Dönüşümü

 

Recycle Bin etkinleştirilmeden önce silinen nesneler (tombstoned olarak damgalanmış nesne), recycled nesne olarak değerlendirildiğinden, Recycle Bin ile geri döndürülemez. Ancak unutulmaması gerekir ki, Recycle Bin özelliğini etkinleştirdikten sonra tekrar devre dışı bırakılamaz. Bu sebeple kullanım gerekliliği iyi düşünülmelidir.

Recycle Bin özelliği kullanılarak silinen bir nesne özellikleri ile birlikte geri döndürülmesi işlemi Powershell ile gerçekleştirilebilir. Bu işlemler sırasındaki durumlar 5 adımda incelenecektir. Bu adımlar aşağıdaki gibidir:

  • Recycle Bin özelliği etkinleştirilmeden önceki durum izlenecektir.
  • Recycle Bin özelliği etkinleştirilecektir.
  • Recycle Bin özelliği etkinleştirildikten sonraki durum izlenecektir.
  • Aktif Dizin üzerinde bir nesne silinecektir.
  • Recycle Bin özelliği etkinleştirildiği için silinen nesnelerin geri getirilebilecektir.

 

1) Etkinleştirme Öncesi Durum

Windows Server 2008 R2 ile gelen Recycle Bin özelliği sayesinde silinen bir nesne, özellikleri ile beraber geri döndürülebilir. Bu uygulama için öncelikle aşağıdaki adımlar gerçekleştirilmelidir.

PowerShell komut satırı açılır.

Şekil - 02: PowerShell Komut Satırının Açılması

Şekil – 02: PowerShell Komut Satırının Açılması

 

Aktif Dizin üzerinde PowerShell komutlarıyla sorgulama yapmak için ActiveDirectory modülü eklenmelidir. İlgili komut aşağıdaki gibidir.

Import-Module ActiveDirectory

Şekil - 03: ActiveDirectory Modülünün Aktifleştirilmesi

Şekil – 03: ActiveDirectory Modülünün Aktifleştirilmesi

 

Silinen nesneler, mantıksal olarak silindikten sonra, fiziksel olarak hemen silinmezler. Bunun yerine, bir süre boyunca DeletedObjectsContainer içerisinde saklanır. Bu konteynır Active Directory Users and Computers gibi bir konsoldan görülmez, PowerShell betikleri ile görülebilir. Bu konteynır etki alanının hemen altında bulunan kök bir konteynırdır. Bulunduğu yeri görüntülemek için aşağıdaki komut çalıştırılır.

Get-ADDomain | select DeletedObjectsContainer

Şekil - 04: Deleted Object Konteynırının İzlenmesi

Şekil – 04: Deleted Object Konteynırının İzlenmesi

 

Recycle Bin özelliği etkinleştirilmeden önce silinmiş tüm nesneler şu şekildedir.

Get-ADObject -filter ‘ objectclass -eq “user” -AND IsDeleted -eq $True’ -IncludeDeletedObjects -properties IsDeleted,LastKnownParent | Format-List Name,IsDeleted,LastKnownParent,DistinguishedName

Şekil - 05: Silinen ve User Tipindeki Nesnelerin Listelenmesi

Şekil – 05: Silinen ve User Tipindeki Nesnelerin Listelenmesi

 

Yukarıdaki ekran görüntüsünde 2 tane nesnenin silindiği gözlenmektedir. Bu iki nesne RODC sunucusunun kaldırılması sırasında silinen sunucu nesnesi ve sunucu üzerinde kimlik doğrulamasını gerçekleştiren KrbTgt servis kullanıcısıdır.

 

2) Etkinleştirme İşlemi

Recycle Bin özelliğini etkinleştirmek için bir arayüz yoktur, PowerShell betikleri kullanılacaktır. Bu amaçla öncelikle, eğer eklenmemişse, Aktif Dizin modülü eklenir. İlgili komut aşağıdaki gibidir.

Import-Module ActiveDirectory

Şekil - 06: ActiveDirectory Modülünün Aktifleştirilmesi

Şekil – 06: ActiveDirectory Modülünün Aktifleştirilmesi

 

Aktif Dizin’in ek bir özelliği olan Recycle Bin ile ilgili bazı özellikler aşağıdaki gibidir. İlgili komut aşağıdaki gibidir.

Get-ADOptionalFeature -Filter * -Properties *

Şekil - 07: Aktif Dizin Ek Özellikleri

Şekil – 07: Aktif Dizin Ek Özellikleri

 

Yukarıdaki ekran görüntüsünde de görüldüğü gibi Windows Server 2008 R2 orman fonksiyonellik seviyesinde çalışır. Ayrıca Recycle Bin özelliği bir kere aktifleştirildikten sonra devre dışı bırakılamaz. Bu sebeple ihtiyaç iyi analiz edilmelidir.

Etkinleştirme işlemi öncesinde gerçekleşecek değişiklikleri görmek için “whatif” parametresi ile denetim gerçekleştirilir. İlgili komut aşağıdaki gibidir.

Enable-ADOptionalFeature -Identity “Recycle Bin Feature” -Scope ForestOrConfigurationSet -Target “sirket.com.tr” -whatif

Şekil - 08: Recycle Bin Etkinleştirmesi Öncesi Kontrol

Şekil – 08: Recycle Bin Etkinleştirmesi Öncesi Kontrol

 

Yukarıdaki ekran görüntüsünde, etkinleştirme işleminin “partitions.configuration.sirket.com.tr” altındaki nesnelerde gerçekleşeceği ve bir daha devre dışı bırakılamayacağına dair bir uyarı gözlenmektedir.

“whatif” parametresi kaldırılarak etkinleştirme işlemi gerçekleştirilir. İlgili komut aşağıdaki gibidir.

Enable-ADOptionalFeature -Identity “Recycle Bin Feature” -Scope ForestOrConfigurationSet -Target “sirket.com.tr”

Şekil - 09: Recycle Bin Etkinleştirmesi

Şekil – 09: Recycle Bin Etkinleştirmesi

 

Böylece etki alanı denetleyicisi (DC) çevrim dışına getirilmeden Recycle Bin etkinleştirilmiştir.

 

3) Etkinleştirme Sonrasındaki Durum

Etkinleştirme öncesinde gelen nesneler artık gelmemektedir. İlgili komut aşağıdaki gibidir.

Get-ADObject -filter ‘IsDeleted -eq $True’ -IncludeDeletedObjects -Properties *

Şekil - 10: Recycle Bin Etkinleştirmesi Öncesi Kontrol

Şekil – 10: Recycle Bin Etkinleştirmesi Öncesi Kontrol

 

Silinen tek nesne Deleted Objects adındaki konteynırdır. Bu konteynır silindiği için içerisindeki silinmiş nesneler artık yukarıdaki komutta gelmemektedir. Bu sebeple Recycle Bin etkinleştirildikten sonra diğer nesneler geri döndürülmeyecektir. Sadece etkinleştirme işleminden sonra silinen nesneler geri döndürülebilecektir.

 

4) Mevcut Nesnelerin Silinmesi

Bu adımda, Teknik Destek grubunun üyesi olan Mehmet Selim kullanıcısı üzerinde deneme yapılacaktır. Bu kullanıcı ve grup önce silinecek, sonrasında geri döndürülecektir.

Bu işlem için öncelikle Active Directory Users and Computers konsolu açılır.

Şekil - 11: Active Directory Users and Computers Konsolunun Açılması

Şekil – 11: Active Directory Users and Computers Konsolunun Açılması

 

Bilgi işlem departmanındaki personel listesi aşağıdaki gibidir.

Şekil - 12: Kullanıcı Özelliklerinin Açılması

Şekil – 12: Kullanıcı Özelliklerinin Açılması

 

Mehmet Selim kullanıcısının “Adana_Teknik Destek” grubuna üye olduğu görülmektedir.

Şekil - 13: Silinecek Kullanıcı ve Grup Üyeliği

Şekil – 13: Silinecek Kullanıcı ve Grup Üyeliği

 

Mehmet Selim kullanıcısını silinmesine ait işlem aşağıdaki gibidir.

Şekil - 14: Kullanıcının Silinmesi

Şekil – 14: Kullanıcının Silinmesi

 

Benzer şekilde “Adana_Teknik Destek” Grubunun da silinmesi aşağıdaki gibidir.

Şekil - 15: Kullanıcının Üye Olduğu Grubun Silinmesi

Şekil – 15: Kullanıcının Üye Olduğu Grubun Silinmesi

 

5) Silinen Nesnelerin Geri Getirilmesi

Silme işlemi sonunda aynı komut çalıştırıldığında sadece kullanıcıya ait sonucun geldiği gözlenir. İlgili komut aşağıdaki gibidir.

Get-ADObject -filter ‘IsDeleted -eq $True’ -IncludeDeletedObjects -properties IsDeleted,LastKnownParent | Format-List Name,IsDeleted,LastKnownParent,DistinguishedName

Şekil - 16: Silinen Nesnelerin Listelenmesi

Şekil – 16: Silinen Nesnelerin Listelenmesi

 

Yukarıdaki ekran görüntüsünde de göründüğü gibi; silinen kullanıcı, grup ve Deleted Objects adlı konteynır ile ilgili bilgiler saklanmaktadır. Bu bilgiler için aşağıdaki komut çalıştırılır.

Get-ADObject -filter ‘name -like “Mehmet*”‘ -IncludeDeletedObjects -Properties *

Şekil - 17: Silinen Kullanıcının Ayrıntılı Olarak İncelenmesi

Şekil – 17: Silinen Kullanıcının Ayrıntılı Olarak İncelenmesi

 

Recycle Bin özelliği için Aktif Dizin tarafından IsDeleted and LastKnownParent özellikleri de saklanmaktadır. Böylece nesnenin silindiği ve daha önceden Personel adlı OU içerisinde olduğu gösterilmektedir. İlgili komut aşağıdaki gibidir.

Get-ADObject -filter ‘name -like “Mehmet*”‘ -IncludeDeletedObjects | Restore-ADObject -Whatif

Şekil - 18: Silinen Kullanıcının Geri Döndürülmesi - 1

Şekil – 18: Silinen Kullanıcının Geri Döndürülmesi – 1

 

Get-ADObject -filter ‘name -like “Mehmet*”‘ -IncludeDeletedObjects | Restore-ADObject

Şekil - 19: Silinen Kullanıcının Geri Döndürülmesi - 2

Şekil – 19: Silinen Kullanıcının Geri Döndürülmesi – 2

 

Böylece Mehmet Selim adlı kullanıcı geri döndürülmüştür. Ancak Teknik Destek grubunun üyesi olduğu görülmemektedir.

Şekil - 20: Geri Döndürülen Kullanıcının İzlenmesi

Şekil – 20: Geri Döndürülen Kullanıcının İzlenmesi

 

Grup üyeliğinin de geri getirilmesi için grubun da geri getirilmesi gerekmektedir.

Şekil - 21: Silinen Grubun Geri Döndürülmesi

Şekil – 21: Silinen Grubun Geri Döndürülmesi

 

Son durum aşağıdaki gibidir.

Şekil - 22: Geri Döndürülen Kullanıcının ve Grubun İzlenmesi

Şekil – 22: Geri Döndürülen Kullanıcının ve Grubun İzlenmesi

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.