barisnetblog.space — Eski Domain Controller'ı Güvenle Kaldırmak ve Metadata Temizliği
Windows Server 21 Ekim 2026 5 dk okuma 3 görüntülenme

Eski Domain Controller'ı Güvenle Kaldırmak ve Metadata Temizliği

Emekliye ayrılacak DC01'i FSMO rollerini taşıyarak düzgün şekilde demote ediyor, çökmüş bir DC için ntdsutil ile metadata temizliği yapıp DNS ve Sites kalıntılarını siliyoruz.

Her Domain Controller'ın bir ömrü vardır. Destek süresi biten bir işletim sistemi, değiştirilecek bir donanım ya da tamamen çöken bir sunucu; sonunda bir DC'yi domain'den çıkarmanız gerekir. Sunucuyu kapatıp unutmak, aylar sonra replikasyon hataları, ulaşılamayan DNS sunucuları ve bozuk FSMO rolleri olarak geri döner. Serinin bu son yazısında firma.local domain'inin ilk DC'si olan DC01'i, görevlerini DC02'ye devrederek güvenle kaldıracak ve geri dönüşü olmayan bir arıza durumunda metadata temizliğini nasıl yapacağınızı göreceğiz.

Ön Kontroller

Kaldırma işlemine başlamadan önce DC01'in hangi görevleri üstlendiğini ve kalan DC'nin bu yükü taşıyıp taşıyamayacağını kontrol edin.

  • Replikasyon sağlığı: Kalan DC'lerin DC01'deki son değişiklikleri almış olması gerekir.
  • FSMO rolleri: İlk DC genellikle beş rolün tamamını taşır.
  • Global Catalog: Kalan DC'lerden en az biri GC olmalıdır.
  • DNS: İstemciler ve sunucular DNS olarak hâlâ DC01'in IP adresini kullanıyor olabilir.
  • Diğer roller: DHCP, sertifika hizmetleri, dosya paylaşımları veya uygulamalar bu sunucuda çalışıyor olabilir.

Replikasyonu ve genel sağlığı kontrol edin:

Komut İstemi
repadmin /replsummary
repadmin /showrepl DC02
dcdiag /s:DC02 /q

Rolleri ve GC durumunu görüntüleyin:

Komut İstemi
netdom query fsmo
PowerShell
Get-ADDomainController -Filter * |
    Select-Object Name, Site, IsGlobalCatalog, IsReadOnly, OperatingSystem

DC01 üzerinde başka hangi rollerin yüklü olduğunu görmek için:

PowerShell
Get-WindowsFeature | Where-Object Installed | Select-Object Name, DisplayName

DHCP rolü bu sunucudaysa failover ilişkisini DC02 üzerinden silin; kapsam ve kiralar DC02'de kalır. Ardından DC01'in yetkisini kaldırın ve DHCP option 006 ile dağıtılan DNS adreslerinden DC01'in IP'sini çıkarın:

PowerShell
Remove-DhcpServerv4Failover -ComputerName "dc02.firma.local" -Name "DC01-DC02-Failover" -Force
Remove-DhcpServerInDC -DnsName "dc01.firma.local" -IPAddress 192.168.1.10
Set-DhcpServerv4OptionValue -ComputerName "dc02.firma.local" -ScopeId 192.168.1.0 -DnsServer 192.168.1.11

FSMO Rollerini Taşımak

FSMO rolleri yazısında anlattığımız gibi, roller çalışan bir DC'den transfer edilir. Beş rolü birden DC02'ye taşıyın:

PowerShell
Move-ADDirectoryServerOperationMasterRole -Identity "DC02" `
    -OperationMasterRole SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster, InfrastructureMaster

PDC Emulator rolü domain'in zaman kaynağıdır. Rol taşındıktan sonra DC02'yi dış NTP sunucularıyla eşitleyecek şekilde yapılandırın:

Komut İstemi
w32tm /config /manualpeerlist:"0.tr.pool.ntp.org 1.tr.pool.ntp.org" /syncfromflags:manual /reliable:yes /update
net stop w32time && net start w32time
w32tm /query /status

DC01 üzerinde de, artık PDC olmadığı için zamanı domain hiyerarşisinden alacak şekilde ayarı geri çevirin:

Komut İstemi
w32tm /config /syncfromflags:domhier /reliable:no /update

DC02 Global Catalog değilse önce GC yapın ve replikasyonun tamamlanmasını bekleyin:

PowerShell
Set-ADObject -Identity (Get-ADDomainController -Identity "DC02").NTDSSettingsObjectDN -Replace @{options = 1}

Kaldırmadan Önce Test

İstemcilerin DC01'e bağımlılığını ölçmek için en güvenli yöntem, sunucuyu demote etmeden önce birkaç gün boyunca ağdan ayırmaktır (ağ kartını devre dışı bırakmak yeterli). Bu süre boyunca oturum açma, GPO, DNS ve uygulama sorunları çıkıyor mu izleyin. Sorun yoksa sunucuyu yeniden bağlayıp replikasyonun güncellenmesini bekleyin ve kaldırma adımına geçin.

Ön kontrol testini PowerShell ile çalıştırabilirsiniz:

PowerShell
Test-ADDSDomainControllerUninstallation -Credential (Get-Credential "FIRMA\Administrator") `
    -LocalAdministratorPassword (Read-Host -AsSecureString "Yeni yerel admin parolasi")

DC'yi Düzgün Şekilde Kaldırmak (Demote)

Test başarılıysa DC01 üzerinde:

PowerShell
Uninstall-ADDSDomainController `
    -Credential (Get-Credential "FIRMA\Administrator") `
    -LocalAdministratorPassword (Read-Host -AsSecureString "Yeni yerel admin parolasi")

Bu komut AD DS'yi kaldırır, değişiklikleri son kez diğer DC'ye replike eder, Sites and Services altındaki NTDS Settings nesnesini siler ve bilgisayar hesabını Computers container'ına taşıyarak üye sunucu hesabına çevirir; ardından sunucuyu yeniden başlatır. Sunucu artık sıradan bir üye sunucudur; parametrede belirlediğiniz parola, yerel Administrator hesabının yeni parolasıdır.

Ardından rol ikili dosyalarını kaldırın:

PowerShell
Uninstall-WindowsFeature -Name AD-Domain-Services, DNS -IncludeManagementTools
Restart-Computer

Sunucuyu tamamen emekliye ayıracaksanız domain'den çıkarın ve kapatın. Sites and Services içinde boş kalan DC01 server nesnesini sağ tıklayıp Delete ile silin.

Ulaşılamayan Bir DC: Metadata Temizliği

Donanımı tamamen çöken ve geri getirilemeyecek bir DC'yi demote edemezsiniz. Bu durumda AD içinde kalan kayıtlarını, yani metadata'sını elle temizlemeniz gerekir. Önce bu DC'deki FSMO rollerini FSMO yazısında anlattığımız gibi -Force ile seize edin:

PowerShell
Move-ADDirectoryServerOperationMasterRole -Identity "DC02" `
    -OperationMasterRole PDCEmulator, RIDMaster, InfrastructureMaster, SchemaMaster, DomainNamingMaster -Force

Uyarı: rolleri seize edilen bir DC, hiçbir koşulda yeniden ağa bağlanmamalıdır.

Grafik Arayüzden Temizlik

Windows Server 2008 ve sonrasında en kolay yöntem, dsa.msc içinde Domain Controllers OU'sundaki DC01 bilgisayar nesnesini silmektir. Açılan pencerede This Domain Controller is permanently offline and can no longer be demoted seçeneğini işaretleyin. Konsol metadata temizliğini otomatik yapar. Ardından dssite.msc içinde ilgili sitenin Servers klasöründen DC01 nesnesini de silin.

ntdsutil ile Temizlik

Aynı işlemi DC02 üzerinde ntdsutil ile de yapabilirsiniz. Sites and Services yazısında varsayılan siteyi Merkez olarak yeniden adlandırmıştık; farklı bir site kullanıyorsanız DN içindeki site adını değiştirin:

Komut İstemi
ntdsutil
metadata cleanup
connections
connect to server DC02
quit
remove selected server "CN=DC01,CN=Servers,CN=Merkez,CN=Sites,CN=Configuration,DC=firma,DC=local"
quit
quit

Onay penceresinde Yes deyin. Komut DC01 ile ilgili NTDS Settings nesnesini ve replikasyon bağlantılarını AD içinden temizler.

DNS Kalıntılarını Temizlemek

Metadata temizliği DNS kayıtlarına dokunmaz. Kalan NS, A ve SRV kayıtları istemcileri ölü sunucuya yönlendirmeye devam eder. Önce kalıntıları bulun:

PowerShell
Get-DnsServerResourceRecord -ZoneName "firma.local" -RRType NS
Get-DnsServerResourceRecord -ZoneName "_msdcs.firma.local" |
    Where-Object { $_.RecordData.NameServer -like "*dc01*" -or $_.RecordData.DomainName -like "*dc01*" -or $_.RecordData.HostNameAlias -like "*dc01*" }

NS kaydını ve A kaydını silin:

PowerShell
Remove-DnsServerResourceRecord -ZoneName "firma.local" -RRType NS -Name "@" `
    -RecordData "dc01.firma.local." -Force
Remove-DnsServerResourceRecord -ZoneName "firma.local" -RRType A -Name "DC01" -Force
Remove-DnsServerResourceRecord -ZoneName "_msdcs.firma.local" -RRType NS -Name "@" `
    -RecordData "dc01.firma.local." -Force

_msdcs.firma.local zone'unda DC01'e ait GUID adlı CNAME kaydını ve _ldap, _kerberos SRV kayıtlarını DNS Manager üzerinden kontrol edip silin. Reverse lookup zone'daki PTR kaydını da unutmayın.

Son Doğrulama

Temizlik bittikten sonra ortamın sağlığını tekrar kontrol edin:

Komut İstemi
repadmin /replsummary
dcdiag /e /q
netdom query fsmo
PowerShell
Get-ADDomainController -Filter * | Select-Object Name, Site, IsGlobalCatalog

Kaldırdığınız DC ortamdaki en eski işletim sistemine sahip sunucuysa, artık domain ve forest functional level'ı yükseltmeyi değerlendirebilirsiniz:

PowerShell
Get-ADDomain | Select-Object DomainMode
Get-ADForest | Select-Object ForestMode

Tek DC kaldıysa ortamınız yine tek noktaya bağımlı hale gelmiştir; serinin ikinci yazısındaki adımlarla vakit kaybetmeden yeni bir DC ekleyin.

Sık Karşılaşılan Hatalar

  • FSMO rollerini taşımadan sunucuyu kapatmak: Roller seize edilmek zorunda kalır. Demote öncesinde netdom query fsmo ile rolleri mutlaka kontrol edin.
  • İstemcilerin DNS ayarını unutmak: Sabit IP'li sunucular ve DHCP option 006 hâlâ eski DC'yi gösteriyorsa ad çözümleme yavaşlar. Tüm DNS ayarlarını güncelleyin.
  • Seize edilen DC'yi tekrar açmak: Aynı rolü iki DC'nin taşıması AD'yi bozar. Sunucuyu ağa bağlamadan biçimlendirin.
  • DNS kayıtlarını bırakmak: Metadata temizliği DNS'e dokunmaz. NS, A, SRV ve CNAME kayıtlarını elle silin.
  • Son GC'yi kaldırmak: Kalan DC'lerde GC yoksa oturum açma ve Exchange gibi uygulamalar çalışmaz. Önce başka bir DC'yi GC yapın.
  • Sertifika hizmetleri kurulu DC'yi demote etmek: AD CS rolü kuruluyken demote işlemi engellenir. Önce CA'yı taşıyın veya kaldırın.

Bu seriyle Active Directory altyapınızın temellerini tamamladık. İlerleyen yazılarda Active Directory Certificate Services ile kendi kurumsal sertifika otoritenizi kurmaya geçeceğiz.

Okuma görünümü 3 görüntülenme