Windows Server

Windows Server 2008 R2 Recycle Bin Active Directory Geri Dönüşüm Kutusu

 

image001

Hepimizin heyecanla beklediği ve ilk beta versiyonlarından bu yana çok sayıda testlerle kontrolleri gerçekleştirdiğimiz Windows 7 ailesinin server tarafındaki ürünü olan Windows 7 Server yani Windows Server 2008 R2 ile çok sayıda yeni özellik geliyor.  Windows Server 2008 R2 İle Active Directory Domain Servislerinde Gelen Yenilikler makalemizde  Windows Server 2008 R2 ile beraber Active Directory Domain Servislerinde gelen yeni özellikleri genel olarak sizlerle paylaşmıştık. Bu makalemizde Windows Server 2008 R2 ile Active Directory Domain Servislerinde gelen Recycle Bin özelliğini detaylarıyla anlatacağız.

Active Directory sistem yöneticilerinin gereksinim duydukları en önemli özelliklerden biri bilerek ya da farkında olmadan, isteyerek ya da kazara silinen active directory nesnelerinin kolaylıkla geri getirilebilmesi konusuydu. Nasıl ki bir dosyayı sildiğimizde çöp kutusundan geriye kolaylıkla çağırabiliyorsak (tabi ki silinen dosya ya da klasör kalıcı olarak silinmemişse, ya da çöp kutusu boşaltılmamışsa) benzer şekilde active directory içerisinden de silinen objelerin kolaylıkla çöp kutusundan çağrılabilmesi yeteneği artık Windows Server 2008 R2 ile beraber geliyor. Active Directory Çöp Kutusu (Active Directory Recycle Bin ) sayesinde artık active directory içerisinden silinen nesneleri geri getirebiliyoruz.

Windows 2000, Windows 2003 ve Windows Server 2008 active directory versiyonlarında silinen bir objeyi ya da objeleri geri getirmek için F8 ile active directory yüklü sunucumuzu (Domain Controller) Directory Service Restore Mode açılışı ile açıp, aldığımız active directory yedeğini geri yükleme işlevini gerçekleştirdikten sonra NTDSUTIL aracı ile authoritative restore komutlarını kullanarak silinen objelerin authoritative olarak işaretlenip geri yüklendikten sonra sistemdeki diğer domain controller’lara güncellenmesini sağlıyorduk. Bu da domain controller bilgisayarının açılıp kapanması  dolayısıyla active directory servisinin çevrimdışı çalışma moduna  (offline mode) geçmesinden dolayı iş süreçlerimizde belirli bir süre kesintilere neden olabiliyordu.

Active Directory Recycle Bin özelliği hem Active Directory Domain Servisleri (AD DS) hem de Active Directory Lightweight Directory Service (AD LDS) bileşenleri için gelen yeni bir özellik. Yani hem active directory dizini ile kurulan domain yapılarında hem de AD LDS bileşeni ile kendi oluşturacağınız LDAP veritabanlarınızda Active Directory Recycle Bin özelliğini devreye alabiliyoruz. (AD LDS, eski adı ADAM (Active Directory Application Mode) olan ve kendinize özel LDAP veritabanları oluşturup, LDAP kimlik doğrulaması ile uygulamaların kimlik kontrolünü yapmayı sağlayan ücretsiz directory service uygulama veritabanını sağlayan bileşen. Bununla ilgili önümüzdeki haftalarda ayrı makalelerle AD LDS kullanımını sizlerle paylaşacağız.)

Active Directory Recycle Bin özelliği sadece aşağıdaki listede belirtilen Windows Server 2008 R2 ürünlerinde desteklenmektedir:

  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Datacenter

Diğer yandan Active Directory Recycle Bin özelliği aşağıdaki listede belirtilen Windows Server 2008 R2 ürünleri tarafından desteklenmemektedir:

  • Windows Server 2008 R2 for Itanium-Based Systems
  • Windows Web Server 2008 R2

Active Directory Recycle Bin özelliği Active Directory objeleri için planlanan felaket senaryolarına çok büyük bir katkı sağlayacak.  Ve silinen objelerin active directory servisini durdurmaya, domain controller bilgisayarını F8 ile directory restore mode’da açmaya gerek kalmadan, active directory sistemi hizmet verirken yani online konumda iken silinen objelerin geri getirilmesine imkan tanıyan önemli bir yenilik.

Active Directory Recycle Bin özelliği Windows Server 2008 R2 domainlerinde varsayılan olarak kapalı geliyor. Ve bu özelliği kullanabilmeniz için öncelikle aktifleştirmeniz gerekiyor. Active Directory Recycle Bin özelliğinin kullanılabilmesi için forest fonksiyonel seviyesinin Windows Server 2008 R2’de olması gerekiyor. Bu da demek oluyor ki, öncelikle tüm domainlerinizin Windows Server 2008 R2 fonksiyonel seviyesinde çalışması yani tüm domainlerdeki tüm domain controller ve additional domain controller sunucularınızı Windows Server 2008 R2 versiyonuna yükseltmeniz gerekir. Bir başka deyişle, eğer hali hazırda çalışan forest yapınızda hala Windows Server 2003 ya da Windows Server 2008 işletim sisteminde çalışan domain controller ya da additional domain controller bilgisayarlarınız varsa forest çalışma modunu Windows Server 2008 R2 seviyesine yükseltemezsiniz, sistem buna izin vermez. Dolayısıyla da Active Directory Recycle Bin özelliğini kullanamazsınız. Öncelikle mevcut bütün Windows Server 2003 ya da Windows Server 2008 işletim sisteminde çalışan domain controller ya da additional domain controller bilgisayarlarınızı Windows Server 2008 R2’ye yükseltmeniz gerekecektir.

Diğer yandan Active Directory Recycle Bin özelliğini etkinleştirdikten sonra tekrar devre dışı bırakamazsınız. Kısacası tekrar devre dışı bırakma konusunda geri dönüşü olmayan bir seçenek.

Active Directory Recycle Bin özelliğini etkinleştirme ve silinen nesneleri geri getirme işlemleri tamamen PowerShell komutları ile komut satırından gerçekleştiriliyor.

Diğer bir önemli nokta da şu : Active Directory Recycle Bin özelliğini etkinleştirdikten sonraki silinen nesneler bu özellik sayesinde geri getirilebilirler. Recycle Bin özelliğini etkinleştirmeden önce silinen objelerin bu özelliği kullanarak geri getirilmesi mümkün değildir.

Active Directory Recycle Bin özelliği kullanılarak geri getirilen silinmiş nesnelerin sadece kendisi değil aynı zamanda tüm nitelikleri (attributes) beraberinde geliyor.  Örneğin;  kullanıcının kişisel bilgileri, organizasyonel bilgileri, üye olduğu gruplar, silinmeden önceki sahip olduğu haklar (kendi domaini içerisinde ve farklı domainlerden verilmiş olan)  vb. Bu aslında çok önemli bir özellik. Çünkü Windows 2003 ya da Windows Server 2008’de biz mevcut nesnenin yedeğini aldıktan sonra, objenin özelliklerinde değişiklikler yaptıysak (örneğin kullanıcıyı gruba eklemek, kullanıcı özelliklerinde yaptığımız değişimler), biz aldığımız yedekten geri yükleme yaparak nesneyi geri getirsek de yedeklemeden sonraki yapılan değişikler geri gelmiyordu. Bir başka deyişle bu tip bir senaryoda nesne silinmeden önceki son halindeki tüm özellikleri ile geri gelmiyordu.  Fakat Active Directory Recycle Bin özelliği sayesinde nesnenin silinmeden önceki halinin aynısı geliyor.

 

Windows Server 2003 ve Windows Server 2008’de silinen bir nesne active directory veritabanında fiziksel olarak tamamen silinmeden önce TombStoneLifeTime süresi kadar bekletiliyordu. Bir diğer deyişle Windows Server 2003 ve Windows 2008 Active Directory veritabanından silinen bir nesne anında veritabanından tamamen silinmiyordu.  Fakat nesneye ait çoğu nitelik silinerek silinen nesne Deleted Objects adını verdiğimiz özel bir kap içerisine alınıyordu. Ve bu kap içerisine alınan nesneyi “tombstone (mezartaşı) ” olarak tanımlıyorduk ve bu şekilde bekletilen nesne normal active directory arayüzünde ve operasyonlarında görülmüyordu.  Bu şekilde bekleyen nesneleri TombStoneLifeTime süresi içerisinde geri yükleme yaparak tekrar normal active directory nesnesine dönüştürüyorduk.

Windows server 2003 with Service Pack 1 (SP1), Windows Server 2003 with Service Pack 2 (SP2), ve Windows Server 2008 sistemlerde varsayılan TombStoneLifeTime süresi 180 gündür.  Bu 180 günlük süre içerisinde “tombstone reanimation”  olarak isimlendirilen yöntemle silinen nesneleri domain controller bilgisayarınızı offline moda çekmeden geri getirebiliyorsunuz. Fakat “tombstone reanimation” yöntemi ile geri getirilen nesnenin grup üyelikleri gibi o nesneye bağlı nitelikler fiziksel olarak silinme esnasında silindiği için geri gelmiyordu. Bundan dolayı tombstone reanimation yöntemini kullanmak geri dönüşte istenilen bilgileri de getirmediğinden, F8 ile DSRM açlışı ile silinen objeyi geri yükleme yapıyorduk.

Aşağıdaki şekilde Windows Server 2003 ve Windows Server 2008 active directory ortamlarında bulunan bir nesnenin yaşam döngüsünü gösteriyor. Bu şekil aynı zamanda Recycle Bin özelliği etkinleştirilmemiş Windows Server 2008 R2 domain ortamında bulunan nesnelerin yaşam döngüsünü gösteriyor.

image002

Active Directory Recycle Bin Etkinleştirilen Yapılarda Silinen Nesnelerin Geri Getirilmesi

Windows Server 2008 R2 ile beraber Active Directory domain yapısındaki silinen nesneleri active directory bilgilerini geri yükleme, domain controller sunucularımızı kapatıp açmaya gerek duymadan silinmeden önceki son haliyle geri getirebildiğimizden yukarda bahsettik. Active Directory Recycle Bin özelliği etkinleştirildikten sonra silinen active directory nesnelerinin tüm nitelikleri korunarak silinmeden önceki son haliyle aynen geri geliyor. Aşağıdaki şekilde Active Directory Recycle Bin özelliğinin etkinleştirildiği Windows Server 2008 R2 active directory domain ortamlarında bulunan bir nesnenin yaşam döngüsünü gösteriyor.

image003

Active Directory Recycle Bin özelliği etkinleştirildikten sonra active directory içerisinde silinen bir nesnenin bütün nitelikleri korunarak nesne sadece mantıksal olarak siliniyor. Bu mantıksal olarak silinme özelliği Windows Server 2008 R2 ile gelen yeni bir durum. Silinen nesne Deleted Object kabina taşınıyor. Silinen bir obje Deleted Object kabında Deleted Object Lifetime süresi kadar yani silinen obje yaşam süreci boyunca Deleted Object kabında bekletilir. Deleted Object Lifetime süresi dolduktan sonra mantıksal olarak silinen obje recycled nesne durumuna döner .. Recycled nesne Windows Server 2008 R2 ile tanıştığımız yeni bir durum ve recycled object lifetime süresi dolana kadar silinen nesnenin Deleted Objects kabında bekletilmesini sağlar . Recycled Object Lifetime süresi dolduktan sonra recycled durumda bekleyen nesne garbage-collection sürecinde fiziksel olarak active directory veritabanından da silinir.

Deleted Object LifeTime msDS-deletedObjectLifetime niteliği ile belirlenir. Recycled Object LifeTime ise eski tombstoneLifetime niteliği ile belirlenir. Varsayılan olarak msDS-deletedObjectLifetime niteliği NULL değer içerir. msDS-deletedObjectLifetime niteliğinin NULL  değer içermesi durumunda deleted object lifetime süresi recycled object lifetime süresine ayarlanmıştır. Varsayılan olarak recycled object lifetime yani tombstoneLifetime niteliğinin değeri de NULL değer içerir. Windows Server 2008 R2’de recycled object lifetime varsayılan olarak 180 gün değerindedir.

Bu değerleri istediğiniz zaman değiştirebilirsiniz. msDS-deletedObjectLifetime niteliğine NULL harici bir değer atanırsa bu durumda tombstoneLifetime değerini kullanmaz.  Bu niteliklerin değerlerini değiştirebilmeniz mümkün, fakat mevcut ortamınızın sağlıklı çalışması ve belirlenen standartlarda devam etmesi açısından bunu önermiyoruz.

Active Directory Recycle Bin özelliği etkinleştirilmesiyle daha önceden silinen tüm nesneler (tomstoned objects)  recycled obje olarak değerlendirilir ve Active Directory Recycle Bin ile geri getirilemezler. Bu durumda olan objeler sadece AD DS authoritative restore yöntemi ile geri getirilebilirler.

Active Directory Recycle Bin Etkinleştirmesi İçin Mevcut Sistemin Hazırlanması

Eğer hali hazırda bir Windows Server 2008 ya da Windows Server 2003 active directory yapısında çalışıyorsanız active directory recycle bin özelliğini devreye almadan önce aşağıdaki hazırlıkların yapılması gerekir:

Mevcut Active Directory schema yapısına gerekli Active Directory Recycle Bin niteliklerini güncellemek için Adprep aracını çalıştırarak şema güncellemesi yapmanız gerekir.

ÖNEMLİ NOT : Eğer yeni bir Windows Server 2008 R2 Active Directory forest yapısı kurmuşsanız, Adprep aracını çalıştırmanıza gerek yoktur, zaten kurulan yapıda recycle bin özelliği için gerekli olan nitelikler mevcut olarak gelmiştir.

 

·         Mevcut forest yapınızı Windows Server 2008 R2’ye yükseltmek için adprep /forestprep komutunun schema master rolüne sahip domain controller bilgisayarı üzerinde çalıştırılması gerekir.

·         Mevcut domain yapınızı Windows Server 2008 R2’ye yükseltmek için adprep /domainprep /gpprep komutunun infrastructure master rolüne sahip domain controller bilgisayarı üzerinde çalıştırılması gerekir.

·         Eğer mevcut yapıda bir RODC varsa ya da kurulacaksa da adprep /rodcprep komutunun çalıştırılması gerekir.

·         Bu gerekli hazırlamalardan sonra Active Directory forest içerisindeki tüm domain controller bilgisayarları da Windows Server 2008 R2 işletim sistemine yükseltilmelidir.

·         Son olarak da Active Directory Forest fonksiyonel seviyesinin Windows Server 2008 R2’ye yükseltilmesi ile tüm hazırlıklar tamamlanmış olacaktır.

 

Mevcut Active Directory forest modunu Windows Server 2008 R2 seviyesine yükseltme işlevini grafiksel olarak Administrative Tools altında gelen Active Directory Domains and Trusts konsolunu yapabilirsiniz. Bunun için öncelikle Active Directory Domains and Trusts konsolunu açıp, aşağıdaki şekilde görüldüğü gibi  Active Directory Domains and Trusts ifadesi üzerinde sağ tuşa basarak Raise Forest Functional Level tıklamanız yeterlidir.

image004

Biz mevcut cozumpark.msft domain yapımızı kurarken forest seviyesini de Windows Server 2008 R2 olarak ayarladığımız için aşağıdaki şekilde görüldüğü üzere zaten çıkılabilecek en üst seviyede forest yapımızın çalıştığını görüyoruz.

image005

 

 

Forest fonksiyonel seviyesini Windows Server 2008 R2 seviyesine çıkarmak için kullanılacak bir diğer yöntem de Active Directory Module for Windows PowerShell aracını kullanmaktır. Active Directory Module for Windows PowerShell, Windows Server 2008 R2 ile gelen ve içerisinde active directory yapılarını yönetmek için gerekli powershell komutlarını içeren yapıdır. Set-ADForestMode komutunu kullanarak forest fonksiyonel seviyesi ile ilgili gerekli düzenlemeleri yapabilirsiniz.

 

NOT : Forest fonksiyonel seviyesi ile ilgili ayarları yapmak için Enterprise Admins grubuna üye olmanız ya da eşdeğer yetkilere sahip olmanız gerekmektedir.

 

Komut satırından bu işlemi yapmanız için:

Administrative Tools içerisinden Active Directory Module for Windows PowerShell komut satırı aracını başlatın ve aşağıdaki şekilde görülen komutu uygulayın:

image006

Set-ADForestMode [-Identity] <ADForest> [-ForestMode] <ADForestMode>

Set-ADForestMode  hakkında geniş bilgi ve detaylı kullanım örnekleri için Active Directory module for Windows PowerShell komut satırında, Get-Help Set-ADForestMode –detailed  yazmanız yeterlidir.

 

Active Directory Recycle Bin Özelliğinin Etkinleştirilmesi

Active Directory Recycle Bin özelliği PowerShell komut satırından etkinleştirilen ve yine PowerShell komut satırından kullanılan bir özelliktir. Active Directory Recycle Bin özelliğini etkinleştirmek için:

Administrative Tools içerisinden Active Directory Module for Windows PowerShell komut satırı aracını başlatın ve aşağıdaki şekilde görülen Enable-ADOptionalFeature komutunu uygulayın:

image007

Enable-ADOptionalFeature -Identity <ADOptionalFeature> -Scope <ADOptionalFeatureScope> -Target <ADEntity>

 

Enable-ADOptionalFeature –Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, DC=cozumpark,DC=msft’ –Scope ForestOrConfigurationSet –Target ‘cozumpark.msft’

 

Burada dikkat etmeniz gereken en önemli nokta active directory recycle bin özelliğini etkinleştirdikten sonra bir daha tekrar devre dışı bırakamamanızdır. Kısacası geri dönüşü olmayan bir komut.

 

Silinen Bir Active Directory Objesinin Recycle Bin Özelliği Kullanılarak Geri Getirilmesi

Öncelikle Serhat.Akinci isimli bir kullanıcı hesabı oluşturuyorum.

image008

Aşağıdaki şekilde kullanıcımızı görüyoruz.

image009

Kullanicimizi Domain Admins ve Print Operators grubuna dahil ediyorum.

image010

Sonrasinda kullanicimi siliyorum.

image011

image012

Silinen kullanicinin DeletedObjects kabina atildigini gostermek için LDP.exe isimli aracımı çalıştırıyorum.

image013

LDP konsolunda Options menüsünden Controls’e tıklayarak gelen pencerede Load Predefined altındaki açılır liste kutusundan Return deleted Objects seçiyorum ve OK ile onaylıyorum.

image014

 

image015

 

image016

  

Sonrasında mevcut forest root domain yapısını barındıran sunucuya bağlantı için Connection menüsünden Bind seçeneğine tıklayarak gelen pencerede OK ile onaylıyorum.

image017

 

image018

Şimdi de sıra geldi Deleted Objects kabını görüntülemeye. Bunun için de View menüsünden Tree seçeneğine tıklayarak gelen Tree View ekranında BaseDN altında dc=cozumpark,dc=msft ile başlayan active directory forest root domainimiz gösterip OK ile onaylıyorum.

image019

image020

Bu onaylamadan sonra aşağıdaki şekilde görüldüğü gibi cozumpark.msft domainine ait alt nesneler görüntülendi.

image021

Burada CN=Deleted Objects ile başlayan kabın üzerine çift tıklayınca silmiş olduğumuz Serhat Akinci kullanicimizi ve varsa diğer silinen kullanıcıları gördük.

image022

Burada silinen kullanici üzerine çift tıklarsanız da sağ ekranda o kullanıcıya ait detaylı bilgiler sağ panoda görüntülenir.

image023

Şimdi sıra geldi kullanıcımızı Recycle Bin özelliğini kullanarak geri getirmeye . Bunun için de şekilde görülen aşağıdaki komutu uyguluyoruz.

Get-ADObject -Filter {samAccountName -eq "Serhat.Akinci"} -IncludeDeletedObjects | Restore-AdObject

image024

Bu işlem sonrasında Active Directory Users and Computers konsulunu açtığımızda silinen Serhat Akinci kullanıcımızın grup üyelikleriyle beraber geri getirildiğini görmüş olacaksınız.

 

image025

image026

Bu makalemizde sizlere Windows Server 2008 R2 ile beraber gelen Active Directory Recycle Bin özelliğinin bizlere neler sağladığı, bu özelliği kullanmaya başlamadan önce yapmamız gereken ön hazırlıkları ve bu özelliği kullanılarak silinen bir active directory nesnesinin kurtarılmasını uygulamalı olarak anlattık. Önümüzdeki makalelerde Active Directory Recycle Bin özelliğine ilişki daha özel kullanım uygulamalarını ve Windows Server 2008 R2 İle Active Directory Domain Servislerinde Gelen Yenilikler makalemizde  sizlerle genel olarak paylaştığımız Windows Server 2008 R2 ile beraber Active Directory Domain Servislerinde gelen yeni özelliklerin detaylı uygulamalarıyla birlikte anlatmaya devam edeceğiz. 

 

Mesut ALADAĞ
Microsoft MVP - MCT
[email protected]

 

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu