Active Directory ve Exchange Schema Versiyonu Kavramları

Active Directory mimarisini öğrenirken en temel şeylerden biri olan active directory veri tabanı içerisindeki bölümleri incelemek ile başlıyoruz. Bu bölümlere baktığımız zaman

Domain

Configuration

Schema

Application

Olmak üzere 3 bölümden oluştuğunu görebiliyoruz.

Her ne kadar yurdum bir bilgi işlem çalışanı bunlar ile pek ilgilenmiyor olsa bile schema konusunda herkesin bir fikri vardır. Çünkü eğitmen ve danışman seviyesinde değil, Banka, Telekom, GSM gibi bir şirket organizasyonunda çalışmıyor ise bu kadar derin bilgiler çok gerekli değil.

Ama schema bunlara göre biraz farklı, çünkü şirket seviyesi ne olur ise olsun mutlaka bir kere bu sistem yöneticisi schema ile tanışmış oluyor J Bunun temel sebebi ise Exchange, Lync, System Center veya benzeri ürünlerin schema genişletme ihtiyacı. Veya bir migration projesinde ki yine benzer ihtiyaçlar bulunmaktadır. Buradan yola çıkaraktan bende temel anlamda neymiş bu schema ve nedir bunun sürümleri noktasında bilgi vermek istiyorum.

Schema, temel olarak AD veri tabanındaki bölümlerden biri olup domain bölümünde saklanan objeler için öz nitelik olarak isimlendirdiğimiz attribute tablolarını saklamaktadır. Yani temel olarak aslında veri değil veri saklanacak tabloların detaylarını saklar.

İlk okuyunca bana da karışık geliyor ama örnekle açıklayınca güzel oluyor J

Bir kullanıcının adı, soyadı, şifresi, telefon numarası gibi bu alanları schema tabloları belirler. Ama örneğin bir kullanıcı telefon numarası schema içerisinde değil domain bölümü içerisinde saklanır.

Başka bir örnek, Exchange server yüklemeden önce AD üzerinde göremediğiniz pek çok öz nitelik birden ortaya çıkar, evet bunlar boştur ama tablo olarak schema genişlediği için artık bunlar sizin kullanımınıza sunulmuştur.

Yukarıda yine bir schema genişlemesinden bahsettim hemen bunu da açıklayayım.

Örneğin yapınıza yeni bir ürün kuracaksınız, bu ürün eğer AD üzerinde bir takım bilgiler saklamak istiyor ise öncelikle bu bilgileri saklaması için uygun tabloların olması gerekmektedir. Bu nedenle Exchange, lync ve benzeri ürünlerde öncelikle schema genişletilir, yani gerekli olan yeni tablolar oluşturulur ve sonrasında ürün ile beraber bu alanlar kullanılmaya başlanır.

Gelelim bu schema sürümlerine;

Belki etrafınızdan da duymuş olabilirsiniz, işte server 2008 kullanıyorum schema versiyonum 44, ya da server 2012 kullanıyorum schema versiyonum 56 gibi, Aşağıda Microsoft tarafından tanımlanmış bazı schema versiyonları mevcuttur.

İşletim Sistemi

Schema Versiyonu

Windows Server 2000

13

Windows Server 2003

30

Windows Server 2003 R2

31

Windows Server 2008

44

Windows Server 2008R2

47

Windows Server 2012

56

Bu schema versiyonları service pack paketi yüklemelerinde bile değişiklik sağlayabilir. Yine bunu da bir örnekle açıklamak gerekirse Exchange server 2010 SP1 li kurdunuz bunun forest tarafındaki range upper attribute una baktığınızda ms-Exch-Schema-Version-pt değerinin 14726 olduğunu gözlemlerken, Exchange Server 2010 için SP3 kurulumu yaptığınızda bu versiyonun 14734 e yükseldiğini görebilirsiniz. Bu değerlerin neler olduğunu merak ediyorsanız aşağıdaki gibidir. Makalem bitmeden bu değerlere de nereden bakılabileceğinizden de bahsediyor olacağım.

Exchange Version

Forest rangeUpper attribute of ms-Exch-Schema-Version-Pt

 

Forest objectVersion attribute of Organization container

Domain objectVersion attribute on Microsoft Exchange System Objects

Exchange 2000 RTM

4397

4406

Exchange 2000 SP3

4406

4406

Exchange 2003 RTM

6870

6903

6936

Exchange 2003 SP1

6870

6903

6936

Exchange 2003 SP2

6870

6903

6936

Exchange 2007 RTM

10637

10666

10628

Exchange 2007 SP1

11116

11221

11221

Exchange 2007 SP2

14622

11222

11221

Exchange 2007 SP3

14625

11222

11221

Exchange 2010 RTM

14622

12640

12639

Exchange 2010 SP1

14726

13214

13040

Exchange 2010 SP2

14732

14247

13040

Exchange 2010 SP3

14734

14322

13040

Exchange 2013 RTM

15137

15449

13236

Exchange 2013 CU1

15254

15614

13236

Exchange 2013 CU2

15281

15688

13236

Exchange 2013 CU3

15283

15763

13236

Gelin şimdi Schema versiyonuna nasıl bakabileceğimizi görelim.

Başlat / Çalıştır üzerinde ADSIedit.msc komutunu çalıştırıyoruz. ADSIedit; Active directory servis ara yüzüne bağlanabilmemizi sağlayan bir araçtır.

 

 Açılan ara yüzden ADSI Edit üzerinde sağ tıklayarak connect to… butonuna basıyoruz.

 

Gelen ekranda Path kısmında hangi sunucuya bağlı olduğunuzu görebilirsiniz.

 

Computer kısmından sunucu seçimi yapıp istediğiniz bir sunucuya da bağlanabilirsiniz. Biz schema ile ilgili işlemler yapmak istediğimiz için select a well known naming context seçeneği ile ilerliyeceğiz. Burada schema seçeneğini seçimini yaparak ok butonuna basıyoruz.

Gelen ekranda CN=Schema ile başlayan kısımda sağ tıklayarak Properties seçeneğini seçiyoruz.

Object version attribute unun value değerinin 56 olduğunu görmektesiniz. Bu yukarıdaki tablolarda belirtildiği gibi Windows Server 2012 işletim sistemine ait versiyondur.

Dip Not: Bazı durumlarda ortamınıza; ortamınızdan farklı versiyon bir domain controller eklemeniz gerektiğinde windows server 2008 r2 gibi schema versiyonlarının uyumlu olması gerekir bundan dolayı schema versiyonunu yükseltmeniz gerekebilir.

*** Bu versiyonun elle değiştirilmesi önerilmez

Exchange Server 2010 a ait schema versiyonuna ait bilgiye de şu şekilde bakabiliriz. Schemayı genişlettikten sonra Name kısmında ms-Exch-Schema-Version-Pt yi bulup özelliklerini incelemelisiniz.

Attribute editor üzerinde range upper değerinin yukarıda belirtilen exchange tablosuyla uyumlu olduğunu gözlemleyebilirsiniz.

Schemayı kontrol etmenin bir diğer yolu ise LDP.exe ile mümkün bunun için başlat/çalıştır da ldp.exe komutunu çalıştırmamız gerekiyor.

Açılan menu üzerinden Connection/Bind seçimini yaparak devam ediyoruz

Gelen Bind ekranında hiç bir şeyi değiştirmede Bind as currently logged on user seçimiyle ok butonuna basarak oturumu açalım.

View tabından Tree seçimini yaparak schema ya bağlanmak için gerekli seçim ekranına geliyoruz

Bu ekranda CN=Schema.CN=Configuration ile devam eden seçeneğe gelerek seçiçiçizi yapıyoruz bu arada root domain adım davuteren.com dur.

Schema açıldığında orta bölümde object version un 56 olduğunu yine görebilirsiniz.

Bu alanda en üst butonların olduğu bölümde options/general seçeneğini seçerek Max Childeren değerini 65535 olarak değiştiriyorum. Bunun sebebi Exchange Server la alakalı schema versiyonuna bakmak istiyorum burada varsayılan olarak gelen değer 1000 satırlık obje geldiği için ben bunu tüm sorguları göstermesi için bu şekilde değiştiriyorum.

Schema içerisinde ms-Exch-Schema-Version-Pt olan bölüme gelerek range upper değerinin yukarıdaki tabloyla eşleştiğini gözlemleyebilirsiniz.

Bu durumda benim sistemimde exchange server 2010 SP3 lü versiyon var demektir. J

Biraz çok oldum ama schema versiyonunu DSQuery ile de komut satırından şu şekilde bulabilirsiniz

dsquery * CN=ms-Exch-Schema-Version-Pt,cn=schema,cn=configuration,dc=davuteren,dc=com -scope base -attr rangeUpper

Powershell ile;

http://gallery.technet.microsoft.com/Check-the-Exchange-3ed71580

Registry ile;

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\System Schema Version değerini açıp DWORD değerini decimal gösterimde gösterdiğinizde görebilirsiniz.

Bildiklerimi size olabildiğince aktarmaya çalıştım, umarım faydalı olmuştur.

Bir sonraki makalemde görüşmek ümidiyle

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.