Active Directory Upgrade

Active Directory, bir kurumun kimlik yönetimi ve yetkilendirme altyapısının temel bileşenidir. İşletim sistemi sürümleri ilerledikçe, AD domain controller’ların da güncel sürümlere yükseltilmesi gereklidir. Bu süreçte yanlış adımlar hem kesintiye hem de güvenlik açıklarına yol açabilir. Bu makalede in-place ve sıfırdan kurulum + taşıma upgrade yöntemleri, dikkat edilmesi gereken noktalar ve Exchange / SCCM gibi bağımlı servislerle uyumluluk konuları ele alınacaktır.

Active Directory Upgrade Yöntemleri

In-Place Upgrade yöntemi mevcut domain controller işletim sistemi üzerine, doğrudan daha üst sürümün kurulmasıdır. Örnek: olarak Windows Server 2012 R2 ve sonrası tüm domain controlleri doğrudan Windows Server 2025 sürümüne kadar yükseltebilirsiniz.

  • Avantajları: Daha hızlıdır, ek donanım gerekmez. Mevcut ayarlar korunur.
  • Dezavantajları: Hatalar veya eski yapılandırma sorunları da yeni sisteme taşınır. Rollback (geri dönüş) zordur. Kritik sistemlerde önerilmez. Büyük kurumlar geçişler için bu yöntemi kullanmaz.

Bu yöntem ile yeni bir sunucuya, hedef işletim sistemi ile kurulum yapılır. Yeni sunucuya AD Domain Services rolü eklenir, domain’e Additional Domain Controller (ADC) olarak katılır. Replikasyon tamamlandıktan sonra FSMO roller taşınır ve eski DC sistemden kaldırılır.

  • Avantajları: Daha güvenli ve temiz bir geçiş sağlar. Eski yapılandırma sorunlarını taşımadan yeni sunucuya geçilir. Geri dönüş daha kolaydır (eski DC’yi devrede bırakabilirsiniz).
  • Dezavantajları: Ek donanım veya VM kaynağı gerektirir. Daha uzun sürede tamamlanır. Kurumsal ortamlarda bu yöntem daha sağlıklı ve önerilen yöntemdir.

Upgrade Öncesi Hazırlık Adımları

İşlemlere başlamadan önce, mevcut durum analizi yapılması gerekmektedir. Bir kuruluşta iki adet domain controller bulunması önerilir. Birine bir şey olursa, diğeri kullanılabilir olur ve böylece kullanıcılar oturum açtıklarında kimlik doğrulamaya devam edebilir. Benim ortamımda DC-1 ve DC-2 olmak üzere iki adet domain controller mevcut. FSMO rolleri DC-1 üzerinde. Bu şekilde DC-3 kurup healtcheck yaptıktan sonra fsmo rolleri olmayan DC-2 yi kaldırıp onun ip adresini vereceğim. Ancak işlemlere başlamadan aşağıdaki önemli kritik notları inceleyin.

  • İlk başta tüm Domain Controller’ların sistem yedeği veya snapshot alınmalıdır.
  • 3party Ldap doğrulama kullanan uygulamalar varsa migrate yapılacak domain controller dışında diğer domain controller ip adresi veya load balancer tanımlanmalır. Test etmeyi unutmayın.
  • Active Directory yükseltilecek sürüme hangi functional level gerekli olduğu incelenmelidir. Bunu https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/active-directory-functional-levels link üzerinden kolay bir şekilde yapabilirsiniz. Örnek olarak aşağıdaki gibidir.
  • Exchange var ise https://learn.microsoft.com/en-us/exchange/plan-and-deploy/supportability-matrix link üzerinden Supported Active Directory environments başlıklı kısımda functional level kontrol edilmelidir.
  • SCCM için https://learn.microsoft.com/en-us/intune/configmgr/core/plan-design/configs/support-for-active-directory-domains link üzerinden incelediğiniz zaman, Windows Server 2008 R2 veya sonraki sürümlerinin functional level desteklediğini görebilirsiniz.
  • Domain controller sağlık kontrolü yapılması gerekmektedir. Eğer hata varsa giderilmelidir. Bunu https://github.com/VikasSukhija/Downloads link üzerindeki adresten indirdiğiniz powershell scriptini çalıştırarak kolay bir şekilde yapabilirsiniz. Özellikle SYSVOL Durumunu Kontrol Etmek için SYSVOL ve NETLOGON paylaşımları görünmeli ve Netlogon üzerinde bütün domain controller üzerinde sırayla text belgesi oluşturup diğerlerinde geldiğini doğrulamalısınız.
  • Eski domain controller üzerinde event log size ayarları var ise yeni sunucuda bunları değiştirmeyi unutmayın. Aksi halde siem tarafında log kaybı olabilir.
  • Eski domain controller üzerinde Task Scheduler ve dosyalar var ise yeni sunucu geçişini ona göre planlayınız.

Yukarıdaki işlemler yapılmadan kesinlikle upgrade adımına geçmeyiniz. Aşağıda microsoftun önerdiği yöntem ile devam edilecektir. 

Server 2025 yeni sunucuya kurulumu yapılır. Bilgisayar adı, statik ip, firewall kapatma, DNS suffix, güncelleme, domaine dahil etme, bölge ve dil ayarları ingilizce olarak ayarlar uygulanır.

Artık ADC olarak sistemimizi ekleyebiliriz. Bunun için domain admin hesabı ile oturum açın ve Server Manager kullanarak, Server Roles kısmından Active Directory Domain Services rolümü seçerek kurulum yapmanız yeterlidir.

Bu kısa işlemin ardından ADC olarak eklememiz için bazı ayarları gerçekleştirmeliyiz. Bunun için  Promote this server to a domain controller ile devam ediyoruz.

Açılan pencerede, Next seçenekleri ile kurulumu tamamlayabilirsiniz.

Aşağıdaki uyarıda, Windows yeni kurulan DNS sunucusunu üst DNS bölgesine (parent zone) otomatik olarak “delegation” kaydı ile tanıtmak ister. Eğer üst DNS bölgesi yoksa ya da Windows DNS kullanmıyorsanız bu işlem otomatik yapılamaz. Eğer sadece tek bir forest / domain (ör. onkoloji.local) kullanıyorsan Hiçbir şey yapmana gerek yok, bu uyarı göz ardı edilebilir. Ancak ortamında daha üst bir DNS yapısı (ör. kurum.com → alt etki alanı olarak onkoloji.kurum.com gibi) varsa, o zaman üst DNS yöneticisinin senin yeni DNS sunucuna delegation kaydı açması gerekir.

Sistem kendisi yeniden başlatacaktır. Sistem açıldıktan 10 dk sonra yukarıda verilen script ile replikasyonun ve genel sağlıklı olduğu doğrulamayı unutmayın. 

SYSVOL Durumunu Kontrol Etmek için SYSVOL ve NETLOGON paylaşımları görünmeli.

net share

Özellikle Netlogon üzerinde bütün domain controller üzerinde sırayla text belgesi oluşturup diğerlerinde geldiğini doğrulayın.

Son olarak eğer yoksa DFS Replication (DFSR) henüz tamamlanmamış olabilir. Event Viewer üzerinden Directory Service ve DFS Replication loglarını kontrol etmelisiniz. Eğer sürekli tekrar eden 1311, 1865, 2087 gibi hatalar kalıyorsa DNS veya site topolojisi düzeltmek gerekebilir.

DNS Manager üzerinde yeni kurulan domain controller ile ilgili tüm kayıtların oluştuğunu doğrulayın. Bazı durumlarda ip adreslerini çözemediği için unknown olarak gözükebilir. Bu durumda ipv6 adresini kapatım ve regedit üzerinde ipv4 önceliğini verin. Akabinde edit kısmında resolve edip ip görmesini sağlayabilirsiniz.

Büyük yapılarda bu işlemden sonra biraz beklemek faydalı olacaktır. En azından imkan varsa 1 gün bekleyin. Çünkü bazen beklenmedik sorunlar olabiliyor.

Bu senaryoda birçok ortamda yaşanan “DC IP bağımlılığı” sorunu ortaya çıkabilir. Yani, eski DC’nin IP’si birçok uygulama/sunucu tarafından DNS, LDAP veya doğrudan IP ile kullanılıyorsa, Yeni DC’ye geçtiğinde, eski DC’nin IP’sini alman gerekecektir. Burada birden fazla yöntem olsada yine önerilen kısa bir kesinti ile aşağıdakini yapmaktır. 

Kurulum yaparken yeni domain controller zaten farklı yeni bir ip adresi vermiştik. Bu durumdayken, replikasyon tamamen sorunsuz olduğunuda doğruladık. Artık eski Domain Controller Server Manager üzerinden kaldırılması ve işlem tamamlayabiliriz. Bunun için kaldırılacak olan domain controller sunucusunda Server Manager üzerinden Remove Roles and Features seçeneği ile devam edilir.

Açılan pencerede Active Directory Domain Services seçtiğiniz zaman kaldırma işleminden önce, bu sunucunun Domain Controller (DC) rolünden düşürülmesi (demote) gerekiyor. Bunun için Demote this domain controller seçeneğine tıklayın.

Açılan pencerede Proceed with removal seçeneğini işaretleyin, New Administrator Password kısmından local admin için bir parola belirleyin ve son adımda Demote butonuna basınız.

İşlem tamamlanınca bilgisayar yeniden başlayacaktır. 

Artık domain controller sistemden çıkarılmıştır. Remove server roles kısmından ilgili rol kaldırılabilir veya sunucuyu kapatıp bir süre sonra silebilirsiniz.

İşlem tamamlandıktan sonra eski Domain Controlleri kapatın ve şimdi yeni kurduğunuz Domain Controllere geçiniz. DNS Manager üzerinde kontrol ederseniz eğer herhangi bir sorun yoksa kaldırdığınız domain controller ile ilgili kayıtların temizlendiğini görebilirsiniz. Eğer eski kayıtlar varsa manuel olarak dikkatli bir şekilde temizleyin.

IP Adresini değiştirmek bağlantıyı birkaç saniyeliğine kesintiye uğratacaktır. Bu nedenle, Domain Controllere uzaktan erişim yerine konsol erişimini kullanarak oturum açmanız gerekir.

Ağ ayarlarına girip, kaldırdığım kapalı olan Domain Controllerin ip adresini yeni Domain Controllere veriyorum.

İşlem sonrası sırayla aşağıdaki komutları çalıştırın.

Yerel DNS sunucusu tarafından oluşturulan önbelleğe alınmış DNS girdilerini kaldırmak için aşağıdaki komutunu çalıştırın.

ipconfig /flushdns

Ana bilgisayar kaydını DNS'e kaydetmek için aşağıdaki komutunu çalıştırın.

ipconfig /registerdns

Tüm kayıtların DNS'e kaydedilmesini zorlamak için aşağıdaki komutunu çalıştırın.

nltest /dsregdns

Hizmet kayıtlarının DNS'e uygun şekilde kaydedildiğinden emin olmak için aşağıdaki komutunu çalıştırın.

dcdiag /fix

Yukarıdaki işlemlerden sonra DNS Manager üzerinde hala eski ip gözüküyor ise manuel olarak değiştirin. Ardından cache temizliği ve DNS Servisini yeniden başlatın.

Domain Controllerin DNS sağlık testleri için aşağıdaki komutu çalıştırın ve error olmadığından emin olun.

dcdiag /test:dns

Eğer bir hata görürseniz bunu çözmeniz gerekmektedir. Genelde hata eski kayıtları gördüğü için meydana gelecektir. Bu kayıtları temizleyip aşağıdaki işlemleri uygulayın.

Netlogon servisini yeniden başlatın. Bu işlem, DC’nin kendi SRV kayıtlarını DNS’e tekrar kaydetmesini zorlar.

net stop netlogon
net start netlogon

DNS kayıtlarını elle yenilemek için aşağıdaki komutları çalıştırın ve birkaç dakika bekleyin. DNS Manager → Forward Lookup Zones → _msdcs.onkoloji.local altında _ldap._tcp.gc._msdcs.onkoloji.local kaydı oluştuğunu kontrol edin.

ipconfig /registerdns
ipconfig /flushdns

Sonra tekrar domain Controllerin DNS sağlık testleri için aşağıdaki komutu çalıştırın ve error olmadığından emin olun.

dcdiag /test:dns

Domain Controllerin kendini çözümleyip çözümlemediğini aşağıdaki komut ile test edin. DC kendi adını doğru IP ile döndürmeli.

nslookup dc1.onkoloji.local

Aşağıdaki komutu çalıştırdıktan sonra, Domain adı doğru şekilde DC’nin IP’sine çözümlenmeli.

nslookup onkoloji.local

Active Directory’nin düzgün çalışması için gerekli olan SRV kayıtları (LDAP, Kerberos vs.) DNS’te kayıtlı olmalı. Eğer DC DNS’te doğru kayıtları barındırıyorsa, ilgili DC’lerin hostname’leri listelenir.

nslookup -type=SRV _ldap._tcp.dc._msdcs.onkoloji.local
nslookup -type=SRV _kerberos._tcp.dc._msdcs.onkoloji.local

Aşağıdaki komutlar ile forward ve reverse çözümleme gerçekleştirin. İkisi de doğru sonuç vermeli.

nslookup 10.106.250.4
nslookup dc1.onkoloji.local

Replikasyon durumunu kontrol edin. Eğer bir hata varsa manuel başlatın ve tekrar replikasyonu kontrol edin.

repadmin /replsummary

SYSVOL Durumunu Kontrol Etmek için SYSVOL ve NETLOGON paylaşımları görünmeli.

net share

Özellikle Netlogon üzerinde bütün domain controller üzerinde sırayla text belgesi oluşturup diğerlerinde geldiğini doğrulayın.

Testler başarılı olmadan diğer adıma geçmeyiniz. 

Bu işlemlerden sonra FSMO rollerini yeni sunucuya aktarın. Yeni sunucumuzda powershell açarak ilk önce rollerin kimde olduğunu görelim.

netdom query fsmo 

Şimdi rolleri kendi üstümüze alalım. (ad-dc01 yazan yere yeni makinanın bilgisayar adını yazın)

Move-ADDirectoryServerOperationMasterRole -Identity "ad-01" PDCEmulator
Move-ADDirectoryServerOperationMasterRole -Identity "ad-dc01" RIDMaster
Move-ADDirectoryServerOperationMasterRole -Identity "ad-dc01" Infrastructuremaster
Move-ADDirectoryServerOperationMasterRole -Identity "ad-dc01" DomainNamingmaster
Move-ADDirectoryServerOperationMasterRole -Identity "ad-dc01" SchemaMaster 

Tekrar kontrol ettiğimiz zaman rollerin yeni sunucuya geldiğini görebiliriz.

netdom query fsmo

Upgrade Sonrası Kontroller

  • FSMO rollerinin doğru taşındığı doğrulanmalıdır.
  • Verilen script ile healtcheck testleri yapılmalıdır.
  • DNS, DHCP, Group Policy gibi servislerin çalıştığı kontrol edilmelidir.
  • Exchange servis testleri yapılmalıdır Functional level yükseltmeden önce, mevcut Exchange sürümünün desteklediği sürüm kontrol edilmelidir.
  • Exchange servis testleri yapılmalıdır.
  • SCCM servis testleri yapılmalıdır.

Sonuç

Active Directory upgrade sürecinde sıfır kurulum + taşıma yöntemi kurumsal ortamlarda daha güvenli ve sürdürülebilir bir yöntemdir. In-place upgrade kısa vadede hızlı görünse de, olası sorunların taşınması ve geri dönüş zorluğu nedeniyle kritik sistemlerde önerilmez. Ayrıca, Exchange ve SCCM gibi AD bağımlı sistemlerin desteklediği şema ve functional level sürümlerine dikkat edilmesi gerekir.

Blog'a Dön