Bu makalemde sizelere danışmanlık verdiğim ortamlarda sıklıkla Domain Controller kurulum işlemlerinde planlamasının ve kurulumunun yanlış yapıldığını gördüğüm Functional Level kavramından, ne olduğundan ve nasıl kullanılması gerektiğinden bahsediyor olacağım. Makalem, konunun anlaşılması için birkaç değişik senaryodan oluşacak olup, bu içerikte bahsedilmemiş farklı senaryolar için de ışık tutması ve bir fikir vermesi amaçlanmaktadır. Microsoft, piyasaya sürüldüğü her yeni nesil Server işletim sistemine ek fonksiyonellik; yani daha güçlü, daha kullanışlı özellikler eklemektedir. Microsoft, aynı zamanda yeni nesil işletim sistemlerininin geriye dönük uyumlu çalışmasını da istemektedir. Bu fonksiyonellik seviyeleri, o yapı üzerinde hangi gelişmiş özelliklerin yer alıcağını belirlemektedir.
Ör. Farklı kullanıcı ve gruplar için Password Policy ayarları yapabilmenize olanak sağlayan Fine Grained Password Policy, Windows Server 2008 ile birlikte kullanıma sunuldu. Eğer ortamınızda bu işletim sistemi versiyonundan daha eski bir Domain Controller bulunuyorsa, bu özelliği kullanmanız mümkün değildir.
Başka bir örnekte ise Active Directory'de silinen nesnelerin geri kurtarılması (Restore Deleted Objects) işlemine olanak sağlayan Recycle Bin, Windows Server 2008R2 ile birlikte kullanıma sunuldu. Eğer ortamınızda bu işletim sistemi versiyonundan daha eski bir Domain Contoller bulunuyorsa, bu özelliği kullanmanız mümkün değildir.
Functinal Level'lar, piyasaya sürülen yeni versiyon Windows Server'ların ek özelliklerini kullanabileceğiniz anlamına geldiği gibi, aynı zamanda da ortamınızda kullanabileceğiniz Domain Controller'ların hangi versiyonda olabileğini belirleyen unsurlardır. Burada seviyeyi belirleyen etken, en eski işletim sistemine sahip olan Domain Controller'dır. Örneğin, Domain ortamınızı Windows Server 2012 R2 Windows Server işletim sistemli bir Primary Domain Controller ile kurduğunuzu ve fonksiyonellik seviyelerinin (Functional Levels) de yine bu işletim sistemi seviyesinin en yüksek seviyesi olan Windows Server 2012 R2 olduğunu varsayarsak, Forest ortamınızda Windows Server 2012 R2'nin getirdiği fonksiyonellik özelliklerinden faydanlabilirsiniz. Ancak bunun üstü seviyelerde kurduğunuz Windows Server işletim sistemli Additional Domain Controller'lar da Domain ortamınızı kurduğunuz ilk Windows Server işletim sistemli Primary Domain Controller'ın Fonksiyonellik seviyelerine sahip olacaktır. Bu nedenle, Ör. Ortamınıza Windows Server 2016 işletim sistemi versiyounlu bir Additional Domain Controller kurduğunuzu ve Domain Controller Migration operasyonu gerçekleştirdiğinizi düşünürsek; geçişin tamamlanmasının ardından, Windows Server 2016'ın getirdiği fonksiyonellik özelliklerinden faydanlabilmek için Functional Level Raise etme işlemleri yapılandırılmalıdır.
Bu makalenin asıl amacı; Domain ortamını ilk kez kurarken, Windows Server işletim sistemi seviyenize göre fonksiyonellik seviyelerinin ne olacağı ve nasıl planlanması gerektiği ve mevcut Domain ortamlarında fonksiyonellik seviyelerinin, ortama dahil edeceğiniz en yeni işletim sistemine sahip olan Domain Controller'lara göre, yönetimini nasıl yapacağınızdır. Buna göre Functional Level'lar, 2 gruba ayrılmaktadır;
1- Domain Functional Level-DFL: Domain içindeki tüm Domain Controller'ların Domain bazında işletim sistemi seviyesini belirler.
2- Forest Functional Level-FFL: Forest'taki tüm Domain'lerin içindeki tüm Domain Controller'ların Forest bazında işletim sistemi seviyesini belirler.
Domain ortamını hangi Windows Server işletim seviyesi ile kurarsanız, DFL ve FFL seviyeleri de varsayılan olarak o Windows Server işletim seviyesinde gelecektir. Functional Level seviye değiştirme işlemleri, Forest Functional Level seviyesine bağlıdır. Forest Functional Level seviyesi aşağı yönde değiştikçe, Domain Functional Level seviyesi de eş zamanlı olarak aşağı yönde değiştirebilir durumda olacaktır.






Bu noktada Domain Functional Level (DFL), Parent Domain'deki Additional Domain Controller'ın hangi Windows Server işletim seviyesi ile kurulabileceğini belirlerken Forest Functional Level (FFL), tüm Child Domain'lerdeki Additional Domain Controller'ın hangi Windows Server işletim seviyesi ile kurulabileceğini belirler.
Child Domain'lerde kurulacak olan Domain'lerin Functional Level seviyeleri de, Forest Functional Level (FFL) seviyesine göre belirlenmekte olup; Forest Functional Level (FFL), sadece Child Domain'leri ilgilendiren bir fonksiyonellik seviyesidir.
Örnek Senaryo-1
Bu örnek senaryoda 1 Parent Domain, 2 tane de Child Domain yapımız bulunuyor. Domain yapısı, Windows Server 2016 işletim sistemi kuruluştur.
● Parent Domain: firatboyan.com
• Forest Functional Level- Windows Server 2016
• Domain Functional Level- Windows Server 2016
1- Parent Domain'de Windows Server 2016 işletim sistemi seviyesinde Additional Domain Controller kurulabilir.
2- Parent Domain'de Windows Server 2019 işletim sistemi seviyesinde Additional Domain Controller kurulabilir.
3- Parent Domain'de Windows Server 2012 R2 işletim sistemi seviyesinde Additional Domain Controller Kurulamaz!
Parent Domain'de Domain Functional Level (DFL) seviyesi baz alınarak Additional Domain Controller kurulumu yapılabilmektedir. Domain'deki DFL, Windows Server 2016 seviyesi olduğu için Additional Domain Controller kurulumlarımda beklenen, DFL seviyesinde belirtilen işletim sistemi versiyonu ile ya aynı seviyede ya da daha üst seviyede olmasıdır. Bu nedenle de Domain ortamına DFL'de belirtilen seviyenin altındaki bir Windows Server işletim sistemi versiyonu ile Additional Domain Controller kurulumu yapılamaz.


● Child Domain-1: istanbul.firatboyan.com
1- Child Domain'de Windows Server 2016 işletim sistemi ile Domain yapısı kurulabilir.
2- Child Domain'de Windows Server 2019 işletim sistemi ile Domain yapısı kurulabilir.
3- Child Domain'de Windows Server 2012 R2 işletim sistemi ile Domain yapısı Kurulamaz!
● Child Domain-2: ankara.firatboyan.com
1- Child Domain'de Windows Server 2016 işletim sistemi ile Domain yapısı kurulabilir.
2- Child Domain'de Windows Server 2019 işletim sistemi ile Domain yapısı kurulabilir.
3- Child Domain'de Windows Server 2012 R2 işletim sistemi ile Domain yapısı Kurulamaz!
Bilgi!: Child Domain, dolayısı ile de Primary Domain Controller kurulumu yapılacak ortamdaki Windows Server işletim sisteminin versiyon seviyesini belirleyen unsur, Parent Domain'deki Forest Functional Level (FFL) seviyesidir. FFL her zaman Child Domain ortamlarının hazırlanması için kurulacak olan Domain Controller'ların işletim sistemi seviyesini belirlemekte olup, yine DFL'de olduğu gibi, FFL'de de belirtilen Windows Server işletim sistemi seviyesi ile ya aynı seviyede ya da daha üst seviyelerde olmak durumundadır. FFL'de belirtilen seviyenin altındaki Windows Server işletim sistemleri ile Domain Controller kurulumu yapılamamaktadır.

NOT 1: Forest ortamına dahil edilen Windows Server 2019'ın getirdiği fonksiyonellik özelliklerinden faydanlabilmek için FSMO Rolleri Windows Server 2019 işletim sistemli Additional Domain Controller'a transfer edilerek, Primary Domain Controller yapılmalı ve ardından da versiyon olarak düşük seviyedeki Windows Server işletim sistemli Domain Controller'lar Demote edilerek, Windows Server 2019 işletim sistemli Domain Controller'da Functional Level Raise etme işlemleri yapılandırılmalıdır.
Bilgi!: Şunu da bilmenizde fayda var ki, Windows Server 2019 Functinal Level Seviyeleri, Windows Server 2016 ile aynıdır. Yani Microsoft tarafından Windows Server 2019 ile birlikte yeni bir Functional Level seviyesi tanımlanmadı. Burada Windows Server 2019'tan bahsediyor olmam, tamamen bir örnektir.
NOT 2: Functional Level, hangi Windows Server işletim seviyesinde ise, o işletim sistemi seviyesi dahil, tüm üst versiyonlarla Domain Controller kurulumu yapılabilir.
Örnek Senaryo-2
Bu örnek senaryoda 1 Parent Domain, 2 tane de Child Domain yapımız bulunuyor.
● Parent Domain: firatboyan.com
• Forest Functional Level- Windows Server 2012 R2
• Domain Functional Level- Windows Server 2012 R2
1- Parent Domain'de Windows Server 2016 işletim sistemi seviyesinde Additional Domain Controller kurulabilir.
2- Parent Domain'de Windows Server 2019 işletim sistemi seviyesinde Additional Domain Controller kurulabilir.
3- Parent Domain'de Windows Server 2012 R2 işletim sistemi seviyesinde Additional Domain Controller kurulabilir.


● Child Domain-1: istanbul.firatboyan.com
1- Child Domain'de Windows Server 2016 işletim sistemi ile Domain yapısı kurulabilir.
2- Child Domain'de Windows Server 2019 işletim sistemi ile Domain yapısı kurulabilir.
3- Child Domain'de Windows Server 2012 R2 işletim sistemi ile Domain yapısı kurulabilir.
● Child Domain-2: ankara.firatboyan.com
1- Child Domain'de Windows Server 2016 işletim sistemi ile Domain yapısı kurulabilir.
2- Child Domain'de Windows Server 2019 işletim sistemi ile Domain yapısı kurulabilir.
3- Child Domain'de Windows Server 2012 R2 işletim sistemi ile Domain yapısı kurulabilir.

Örnek Senaryo-3
Bu örnek senaryoda 1 Parent Domain, 2 tane de Child Domain yapımız bulunuyor.
● Parent Domain: firatboyan.com
• Forest Functional Level- Windows Server 2012 R2
• Domain Functional Level- Windows Server 2016
1- Parent Domain'de Windows Server 2016 işletim sistemi seviyesinde Additional Domain Controller kurulabilir.
2- Parent Domain'de Windows Server 2019 işletim sistemi seviyesinde Additional Domain Controller kurulabilir.
3- Parent Domain'de Windows Server 2012 R2 işletim sistemi seviyesinde Additional Domain Controller Kurulamaz!


● Child Domain-1: istanbul.firatboyan.com
1- Child Domain'de Windows Server 2016 işletim sistemi ile Domain yapısı kurulabilir.
2- Child Domain'de Windows Server 2019 işletim sistemi ile Domain yapısı kurulabilir.
3- Child Domain'de Windows Server 2012 R2 işletim sistemi ile Domain yapısı kurulabilir.
● Child Domain-2: ankara.firatboyan.com
1- Child Domain'de Windows Server 2016 işletim sistemi ile Domain yapısı kurulabilir.
2- Child Domain'de Windows Server 2019 işletim sistemi ile Domain yapısı kurulabilir.
3- Child Domain'de Windows Server 2012 R2 işletim sistemi ile Domain yapısı kurulabilir.

Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.