Windows Server 2012 R2 Active Directory Snapshot
Kelime anlamı “anlık görüntü” olan Snapshot, sanallaştırma sistemlerinin yaygınlaşmasıyla birlikte adını sıkça duyar olduğumuz bir terim haline geldi. Fakat Active Directory ile ilişkisini Windows Server 2008 işletim sistemi ailesiyle kurmuştur ve bizlere Active Directory ‘ imizin anlık görüntüsünü alma fırsatı vermiştir.
Bu özelliğin kullanım amacı örnekleri Technet sayfalarında incelendiğinde, Active Directory içerisinde silinen ya da bilgileri değiştirilen bir nesnenin eski bilgilerine yeniden ihtiyaç duyulduğunda kullanmamız için geliştirilen teknoloji olarak sunulmaktadır. Buradan çıkarmamız gereken ana fikir Snapshot asla bir yedekleme çözümü olmadığıdır. Aslında bu durum snapshot özelliği olan tüm yazılımlar ve donanımlar içinde geçerlidir. Fakat zorunlu olduğumuz durumlarda silinen bir objeyi kurtarmak içinde kullanılabilir.
Snapshot’ları yönetmek için ntdsutil aracı kullanılır. Haydi hep birlikte ilk snapshot’ ımızı alalım.
Komut satırından ntdsutil yazıyoruz.

Snapshot komutu ile devam ediyoruz.

Activate Instance NTDS komutu ile kullanılma olan NTDS dosyasını çağırıyoruz.

Create komutu ile snapshotı oluşturalım. Her snapshot bir GUID ile eşleşir.

Oluşturulmuş olan snapshotları kullanabilmek için Mount işlemi gerçekleştirmeliyiz. Bu işlem için GUID kullanılabilir yada List All komutu yardımıyla ilgili snapshot seçilerek yapılabilir. Kolay olduğu için ben List All komutunu tercih ediyorum.

Mount komutu ile snapshotu kullanıma hazır hale getiriyoruz.

Mount işleminden sonra LDAP işlemleri için dsamin toolu kullanılmalıdır. Komut satırına
Dsamain –dbpath “Snapshot Oluşturulan Yol” –ldapport xxxx
Şeklinde yazıyorum. Ldap portu networkte kullanılmayan sizin belirlediğiniz bir port olacaktır. Ayrıca bu pencereyi işlemlerimiz bitinceye kadar kapatmıyoruz.

Active Directory User and Computers konsolumuza sağ tıklayarak “Change Domain Controller” seçeneğini seçiyoruz. Sonrasında bir önceki adımda belirlemiş olduğumuz port numarası ile bağlanıyoruz.


Snapshot sonrası, yöneticinizin oğlu olan ayrıca Bilgi Sistem yapısından tamamen şikâyetçi ve Bilgi Sistem personeli ile sorunları olan Erdem kullanıcısının hesabı dikkatsizlik sonucu siliniyor. Active Directory Recyle Bin özelliği sisteminizde aktif değil ve aksilik system state backuplarınızın bulunduğu sürücü üç gün önce dolmuş ve yedekleme işlemi gerçekleşememiş. Hesabı yeniden yaratabilirsiniz fakat bu SID değişimi demek ve kullanıcı ile ilgili bütün ayarların yeniden yapılması anlamına geliyor. Ve birden aklınıza Active Directory Snapshot özelliği geliyor.

Snapshot’ tan restore işlemi için 2 yöntem bulunmaktadır. İlki Active Directory servislerini durdurup snapshot ntds.dit dosyasını aktif olanı ile değiştirmek. Fakat bu yöntem çok zor durumlar dışında kullanılmamalıdır. Çünkü mevcut directory her şeyi ile snapshot alım tarihine dönecektir ve domain içerisinde birden fazla DC rolüne sahip sunucular var ise aralarında tutarsızlıklar oluşacaktır.
O zaman ikinci yöntem olan ve en ilkel GRT yöntemi diyebileceğimiz adımları uygulayalım. Fakat öncesinde http://blogs.dirteam.com/ tarafından hazırlanan oirecmgr.exe dosyasını sunucumuzun C dizinine kopyalıyoruz.
Sonrasında Active Directory Powershell modülü ile Erdem kullanıcısının ObjectGUID bilgisini öğreniyoruz.
Get-ADUser ayyildiz.erdem –Server fabrikadc1.getitlabs.local:10389

Sonrasında oirecmgr.exe programı içerisinde bu GUID bilgisini kullanıyoruz ve aşağıdaki komutu yazıyoruz.
C:\oirecmgr.exe -o 706fec58-40bc-40bd-886c-7aeedb7940f9 -sh fabrikadc1.getitlabs.local:10389 -ol –real

İşlem sonrasında Active Directory konsolundan kullanıcıyı kontrol ettiğimizde kullanıcımızın kurtarılmış olduğunu görüyoruz. Kullanıcının disable olmasının sebebi ise password bilgilerinin olmayışıdır.

Snapshot ile işimiz bittiğinde unmount işlemlerini başlatmalıyız. Bunun için öncelikle Dsamain penceresini kapatıyoruz yada ctrl + C ile işlemi sonlandırıyoruz.

Unmount 5 komutu ile Snapshot servisini kapatıyoruz.

Snapshotları komple silmek için ise delete komutunu kullanıyoruz.

Snapshot alma işlemini otomatikleştirmek için schedule task oluşturmalıyız ve BAT dosyası içerisine aşağıdaki komutu yazmamız yeterlidir.
ntdsutil “Activate Instance NTDS” snapshot create quit quit
Eğer GRT yedekleme teknolojine sahip olmayan bir yedekleme sistemimiz mevcut ise ve Active Directory Recyle Bin özelliğini aktif edemiyorsak en azından haftada bir kez bu tür durumlar için snapshot alabiliriz. Fakat bir kez daha snapshot’ın system state yedeklemesine eşit olmadığını önemle hatırlatırım.
Faydalı Olması Dileğimle.
Kaynak:
Eline sağlık.