BT Sistem Yönetimi

Active Directory Kurulumu: Windows Server 2025'te İlk DC

Windows Server 2025'te Active Directory kurulumu: domain adı, DC promotion, DNS ve saat, dcdiag, Recycle Bin ve ikinci DC. Her adım lab'da ölçüldü.

İlker Pehlivan

Active Directory kurulumu, Windows Server’a AD DS rolünü yükleyip sunucuyu bir forest’in ilk domain controller’ı (DC) olarak promote etmekle başlar. Ama promotion bittiğinde iş bitmez: saat kaynağı, ilk gün ayarları ve ikinci DC aynı kurulumun parçasıdır. Bu rehberdeki her adımı yeni lab forest’imiz ad.sistemkusu.com üzerinde, dc01 ve dc02 sunucularını kurarak ölçtüm. Ekranlar, varsayılan değerler ve tuzaklar o makinelerden geliyor.

Active Directory’yi bir otelin kart sistemine benzetiyorum. Misafirin kaydı ön büroda tutulur ve ön büro ona bir oda kartı kodlar. Kartın üstünde bitiş saati yazar ve kapıdaki kart okuyucu kartı yalnız kendi saatine göre geçerliyse kabul eder. Otelin adı bir kez konur, ön büro tek masadan çalışıyorsa o masa kapandığında yeni gelen hiç kimse odasına giremez. Domain controller ön büro, Kerberos bileti oda kartıdır.

Sunucunun kendisi bu yazıya hazır gelmeli: sabit IP, kalıcı ad, doğru saat dilimi ve güncellemeler Windows Server kurulumu rehberinde anlatıldı. Mimari kavramlar, FSMO rolleri ve güvenlik katmanları Active Directory rehberinde duruyor. Kurulumu bir ekibe devretmek isterseniz kapsamı ve geri alınamayan kararları Active Directory kurulum hizmeti sayfasında anlattık.

Active Directory kurulumu benzetmesi: otelin ön bürosunda yan yana iki aynı masa, ikisinde de aynı sayfada açık misafir defteri ve kart kodlayıcı, birinci görevli misafire oda kartını veriyor, ikinci görevli yeni masayı açıyor, arkada kart okuyuculu oda kapıları
Ön büroya açılan ikinci masa aynı misafir listesini tutar, biri kapanınca öbürü oda kartı vermeye devam eder. İkinci domain controller da aynı dizini tutar ve ilki kapandığında oturum açmayı sürdürür.

Active Directory Kurulumu Neden Promotion’la Bitmez?

Promotion sihirbazı bir forest kurar, ama bıraktığı ayarların bir kısmı bir kurum için yanlış ya da eksiktir. dc01 DC olduktan sonra ölçtüklerim şunlardı:

  1. Sihirbaz NetBIOS adı olarak AD önerdi. Alt alan adının ilk etiketini almıştı. Değiştirilmeseydi kullanıcılar eski uygulamalarda AD\kullanici diye oturum açacaktı.
  2. Saat kaynağı kayboldu. Promotion’dan önce sunucu saatini time.windows.com’dan alıyordu. Sonra w32tm /query /source Local CMOS Clock yazdı: forest’in ilk DC’si saati kendi donanım saatinden alıyordu.
  3. Domain’de hesap kilitleme kapalıydı. Promotion’dan önce local policy 10 hatalı denemede kilitliyordu. Domain’in Default Domain Policy’sinde eşik 0’dı.
  4. Recycle Bin kapalıydı. Silinen bir kullanıcı ya da grup, yedekten dönmeden geri gelmez.
  5. Her domain kullanıcısı 10 bilgisayarı domain’e alabiliyordu. ms-DS-MachineAccountQuota değeri 10’du.
  6. dcdiag iki testi geçemedi. DFSREvent ve SystemLog, kurulum saatlerinin olaylarına takıldı.

Bu altı maddenin hiçbiri kurulumu bozmaz, ama her biri sonradan bir arızaya dönüşür. Saat kayarsa Kerberos kimlik doğrulamayı reddeder. Kilitleme kapalıysa bir parola tahmin saldırısı sınırsız deneme yapar. Recycle Bin kapalıyken silinen bir grubun üyelikleri kaybolur. Örnekteki otelde bu, ön büronun açılış günü saatini ayarlamadan ve kayıp eşya dolabını kurmadan çalışmaya başlamasıdır.

Active Directory Kurulumu Nasıl Olmalı?

Doğru düzende geri alınamayan kararlar önce verilir: domain adı, NetBIOS adı ve functional level. Promotion’dan sonra forest’in ilk DC’si saatini bir NTP kaynağından alacak biçimde ayarlanır, ilk gün ayarları yapılır ve hemen ikinci DC eklenir.

Bu düzeni şu kaynaklar birlikte tarif ediyor:

  1. Microsoft, forest kök domain’ine kurumun kayıtlı alan adının altında yeni bir önek verilmesini önerir: ad.sistemkusu.com gibi. .local ve tek etiketli adları önermez. NetBIOS adı en çok 15 karakterdir.
    Microsoft Learn, Selecting the Forest Root Domain ve KB 909264, Şubat 2026.
  2. Windows Server 2025 functional level yalnız Windows Server 2025 DC’lerine izin verir. Yeni bir forest’te seçilebilecek en düşük düzey 2016’dır.
    Microsoft Learn, AD DS Functional Levels, Ekim 2025.
  3. Microsoft’a göre tek DC’nin DNS istemcisi kendi IP adresini gösterir ve ikinci DC kurulana kadar listeye başka adres yazılmaz. Ek DC promote edilirken var olan bir DC’yi gösterir. Hiçbir DC’ye internet servis sağlayıcısının ya da herkese açık bir çözücünün adresi yazılmaz.
    Microsoft Learn, KB 825036, Şubat 2026.
  4. Best Practices Analyzer’ın DNS kuralı loopback adresini listede ister ama ilk sırada istemez. Açılışta DNS ile AD birbirini bekler. Listede tek adres varsa o adres tek arıza noktasıdır.
    Microsoft Learn, BPA DNS kuralı ve DNS olay 4013, Şubat 2026.
  5. Forest’in PDC Emulator’ü domain’in saat kaynağıdır ve dış kaynağı elle verilir. Sanal DC’de hipervizörün saat eşitlemesi kapatılır.
    Microsoft Learn, Windows Time ve KB 816042, Şubat 2026.
  6. Recycle Bin kapalı gelir ve yalnız açıldıktan sonra silineni korur.
    Microsoft Learn, AD Recycle Bin, Haziran 2025.
  7. ms-DS-MachineAccountQuota 10 gelir, yani her domain kullanıcısı 10 bilgisayarı domain’e alabilir. Fransa’nın siber güvenlik ajansı ANSSI’nin AD denetim listesi bu değeri 0 ister.
    Microsoft Learn, KB 243327, Şubat 2026. ANSSI, AD denetim listesi.
  8. Microsoft’un Security Baseline’ı 3 hatalı denemede hesabı 15 dakika kilitler ve en kısa parolayı 14 karakter ister.
    Microsoft Security Baseline, v2602.

Aşağıdaki tablo fabrika ayarıyla olması gerekeni yan yana koyuyor. “Fabrika ayarı” sütunu dc01’de ölçtüğüm değerdir:

AyarFabrika ayarı (ölçüldü)Olması gerekenKaynak
NetBIOS adıADKurumun kısa adı, en çok 15 karakterKB 909264
DC’nin DNS istemcisiYalnız 127.0.0.1 ve ::1Tek DC’de kendi IP’si, 127.0.0.1 ikinci sırada. İkinci DC’den sonra ilk sırada öbür DCKB 825036, BPA
PDC’nin saat kaynağıLocal CMOS Clockİç ya da dış NTP sunucusuKB 816042
Hipervizör saat eşitlemesiVMware’de VM’e göre değişirKapalıMicrosoft, VMware
Recycle BinKapalıAçıkAD Recycle Bin
ms-DS-MachineAccountQuota100KB 243327, ANSSI
Domain’de hesap kilitleme0, kapalı3 deneme, 15 dakikaMicrosoft temel çizgisi
Domain’de en kısa parola714Microsoft temel çizgisi
DC sayısı1En az 2, ayrı fiziksel makinelerdeMicrosoft

Domain Adı: Neden ad.alanadiniz.com?

Domain adı forest’in adıdır ve sonradan değiştirmek pratikte forest’i yeniden kurmak demektir. Üç yaklaşım var:

YaklaşımÖrnekDurum
.local ya da tek etiketli adsistemkusu.localÖnerilmez
Alan adının kendisisistemkusu.comÖnerilmez
Alan adının altında önekad.sistemkusu.comÖnerilen

.local herkese açık bir sertifika alamaz ve bulut kimlik eşitlemesinde ek iş çıkarır. Alan adının kendisini kullanmak, iç DNS’i web sitenizin zone’uyla çakıştırır. Önekli ad ikisini de önler ve kullanıcının e-posta adresiyle aynı oturum adını sonradan UPN suffix ile vermeye izin verir.

Önekli adın bir tuzağı var ve bunu kendi alan adımızda ölçtüm. sistemkusu.com’un herkese açık DNS’inde joker kayıt (*) var, web sitesi için. Bu yüzden ad.sistemkusu.com ve altındaki her ad, iç DNS yerine dışarıdaki bir çözücüye sorulduğunda web sitesinin adresini döndürüyor. Sunucu yanlışlıkla dışarıdaki bir çözücüye sorarsa domain’i bulamaz, üstelik hata da vermez, yanlış bir cevap alır. RFC 4592’ye göre herkese açık zone’a ad adında herhangi bir kayıt eklemek jokerin o dalın altına inmesini durdurur.

Hangi Functional Level Seçilir?

Server 2025’in sihirbazı yeni bir forest için yalnız iki düzey sunuyor: Windows Server 2016 ve Windows Server 2025. 2025 düzeyi, forest’e yalnız 2025 DC’lerinin katılmasına izin verir. Ortamda daha eski bir DC eklenecekse 2016 seçilir. Lab’daki her DC 2025 olacağı için 2025’i seçtim.

Domain Controller Options sayfasında Forest functional level listesi açık: yalnız Windows Server 2016 ve Windows Server 2025 seçenekleri, liste kırmızı çerçevede
Yeni bir forest için yalnız iki functional level var: 2016 ve 2025.

Functional level’la gelen isteğe bağlı bir özellik daha var: 32k veritabanı sayfaları. Forest çapında açılır ve geri alınamaz. Kazancı çok sayıda bağlantılı değer taşıyan büyük nesnelerde görülür, küçük bir forest’te hissedilmez. Lab’da açmadım.

AD DS Rolünü Kurmak

Rol, Windows Server kurulumunda anlattığımız Add Roles and Features sihirbazıyla gelir. Server Roles sayfasında Active Directory Domain Services işaretlenince sihirbaz gerekli yönetim araçlarını listeler: Group Policy Management, Active Directory Administrative Center, AD DS araçları ve PowerShell modülü.

Add features that are required for Active Directory Domain Services penceresi: Group Policy Management, AD DS araçları ve PowerShell modülü listesi ile Add Features düğmesi kırmızı çerçevede
AD DS işaretlenince gerekli yönetim araçları tek pencerede eklenir.

Rol kurulumu yeniden başlatma istemez. dc01’de PowerShell’in çıktısı Restart Needed: No dedi:

PowerShell
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Çıktı
Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             Success        {Active Directory Domain Services, Group P...

Rol kurulunca sunucu henüz domain controller değildir. Server Manager’ın üst çubuğundaki bayrakta Promote this server to a domain controller bağlantısı belirir ve promotion oradan başlar.

Server Manager bildirim bayrağı açık: Post-deployment Configuration altında Promote this server to a domain controller bağlantısı kırmızı çerçevede ve okla gösteriliyor
Rol kurulduktan sonra promotion Server Manager'ın bayrağından başlar.

Domain Controller Promotion

Promotion sihirbazı yedi sayfadır. Geri alınamayan an son sayfadaki Install düğmesidir. O ana kadar Previous ile her sayfaya dönülebilir.

Deployment Configuration: Yeni Forest

İlk sayfa üç seçenek sunar ve varsayılan seçim Add a domain controller to an existing domain’dir. İlk DC için Add a new forest seçilir ve Root domain name alanına domain adı yazılır. Lab’da ad.sistemkusu.com yazdım.

Deployment Configuration sayfası: Add a new forest seçili, Root domain name alanında ad.sistemkusu.com yazılı, ikisi kırmızı çerçevede
İlk DC için Add a new forest seçilir, domain adı bu alana yazılır.
SeçenekNe zaman
Add a domain controller to an existing domainVar olan domain’e ek DC (ikinci DC bu seçenekle kurulur)
Add a new domain to an existing forestVar olan forest’e yeni bir domain
Add a new forestİlk DC, sıfırdan forest

Domain Controller Options

Bu sayfada functional level, DC’nin rolleri ve DSRM parolası verilir. dc01’de sayfa açıldıktan sonra yaklaşık 10 dakika gri kaldı, alanlar ancak doğrulama bitince etkinleşti. O sırada sunucunun DNS’i hâlâ modemdi ve ad.sistemkusu.com dışarıda web sitesinin adresine çözülüyordu. Gecikmenin sebebinin bu olduğunu kanıtlamadım, ama sayfa uzun süre gri kalırsa beklemek yeterli.

Domain Controller Options sayfası: Forest ve Domain functional level Windows Server 2025, Domain Name System server ve Global Catalog işaretli, DSRM parola alanları dolu, hepsi kırmızı çerçevede
Functional level 2025, DNS ve Global Catalog işaretli, DSRM parolası iki kez yazıldı.

Sayfanın üç ayarı:

  1. Functional level: Forest functional level ve Domain functional level için Windows Server 2025. Yukarıdaki functional level bölümüne bakın.
  2. DC’nin rolleri: Global Catalog (GC) ilk DC’de zorunludur ve gri olarak işaretli gelir. Domain Name System (DNS) server varsayılan olarak işaretlidir ve Microsoft’un güçlü önerisidir. Read only domain controller (RODC) ilk DC’de seçilemez.
  3. DSRM parolası: Directory Services Restore Mode, DC’nin veritabanına çevrimdışı müdahale edilen kurtarma modudur. Parolası domain hesaplarından bağımsızdır. Güçlü bir parola yazın ve parola yöneticisine kaydedin.

DNS Options: Delegation Uyarısı

Sayfanın üstünde sarı bir uyarı çıkar ve Create DNS delegation kutusu gri kalır. Show more ile açılan metnin özeti şudur: üst zone (sistemkusu.com) Windows DNS’te olmadığı için ona bir delegation yazılamıyor. Var olan bir DNS altyapısına bağlanıyorsanız delegation’ı elle eklersiniz, değilse bir şey yapmanız gerekmez. Metnin son cümlesi de bunu söyler: “Otherwise, no action is required.”

DNS Options sayfası: A delegation for this DNS server cannot be created uyarısı sarı bantta kırmızı çerçevede, Create DNS delegation kutusu gri
Yeni forest'te delegation uyarısı beklenir. Next ile geçilir.

Additional Options: NetBIOS Adı

NetBIOS adı domain’in kısa adıdır. Eski uygulamalar, bazı yazıcılar ve runas gibi araçlar oturum adını KISAAD\kullanici biçiminde ister. Sihirbaz ad.sistemkusu.com için AD önerdi. Bunu kurumun kısa adıyla değiştirdim: SISTEMKUSU.

Additional Options sayfası: The NetBIOS domain name alanında SISTEMKUSU yazılı, alan kırmızı çerçevede
Sihirbazın önerdiği AD silinip kurumun kısa adı yazıldı.

NetBIOS adı en çok 15 karakterdir, nokta ve Türkçe harf taşımaz. Domain adı gibi sonradan değiştirmek zahmetlidir, bu yüzden promotion’dan önce kararlaştırılır.

Paths, Review Options ve View Script

Paths sayfası veritabanını, günlükleri ve SYSVOL’ü gösterir. Varsayılanları bıraktım:

AlanVarsayılanİçerik
Database folderC:\WINDOWS\NTDSntds.dit, dizin veritabanı
Log files folderC:\WINDOWS\NTDSVeritabanının işlem günlükleri
SYSVOL folderC:\WINDOWS\SYSVOLGroup Policy dosyaları ve oturum betikleri

Yoğun bir DC’de veritabanını ve günlükleri ayrı bir diske almak disk erişimini rahatlatır. Küçük ve sanal ortamlarda varsayılan yeterlidir.

Review Options seçimleri özetler. Sağ alttaki View script düğmesi aynı seçimlerin PowerShell karşılığını Not Defteri’nde açar. dc01’de çıkan betik buydu:

PowerShell
#
# Windows PowerShell script for AD DS Deployment
#

Import-Module ADDSDeployment
Install-ADDSForest `
-CreateDnsDelegation:$false `
-DatabasePath "C:\WINDOWS\NTDS" `
-DomainMode "Win2025" `
-DomainName "ad.sistemkusu.com" `
-DomainNetbiosName "SISTEMKUSU" `
-ForestMode "Win2025" `
-InstallDns:$true `
-LogPath "C:\WINDOWS\NTDS" `
-NoRebootOnCompletion:$false `
-SysvolPath "C:\WINDOWS\SYSVOL" `
-Force:$true

Betik DSRM parolasını bilerek içermez. Çalıştırıldığında parolayı sorar. Kurulum parametrelerinizi belgelemek için bu betiği saklayın.

Prerequisites Check ve Install

Ön koşul denetimi dc01’de yaklaşık iki dakika sürdü ve iki sarı uyarıyla geçti:

  1. Statik IP uyarısı: ağ kartında statik adresi olmayan bir protokol var. IPv4 adresi sabitti, IPv6 adresi modemden kendiliğinden geliyordu.
  2. Delegation uyarısı: DNS Options sayfasındakinin tekrarı.
Prerequisites Check sayfası: All prerequisite checks passed successfully bandı ve statik IP ile DNS delegation uyarıları kırmızı çerçevede, Install düğmesi okla gösteriliyor
Denetim iki uyarıyla geçti. Kırmızı hata yoksa Install etkin olur.

Sarı uyarı bilgidir, kırmızı hata kurulumu durdurur. Install’a 02:10’da bastım. Sunucu kendiliğinden yeniden başladı ve 02:14’te domain controller olarak açıldı.

İlk Açılış: Promotion Neyi Kendiliğinden Değiştirdi?

Giriş ekranı artık SISTEMKUSU\sistemkusuadm diyordu. Windows Server kurulumunda adını değiştirdiğimiz yerleşik Administrator hesabı domain’in Administrator’ı olmuştu ve parolası aynı kalmıştı. Promotion’ı yerleşik yerel Administrator ile yapmanın sebebi budur. Başka bir yerel yönetici hesabı da AD’ye taşınır, ama Domain Admins grubuna girmez.

Promotion'dan sonra giriş ekranı: SISTEMKUSU\sistemkusuadm hesap adı ve parola alanı kırmızı çerçevede
Yerleşik yerel Administrator, promotion'dan sonra domain'in Administrator'ı olarak açıldı.

İkinci değişiklik DNS’teydi. Promotion ağ kartının DNS ayarını kendisi değiştirdi ve önceki DNS adreslerini DNS forwarder yaptı. DNS forwarder, DNS sunucusunun kendi zone’larında olmayan adları (internetteki adlar gibi) sorduğu sunucudur:

PowerShell
Get-DnsClientServerAddress -InterfaceAlias Ethernet* | ft InterfaceAlias,AddressFamily,ServerAddresses -AutoSize
Get-DnsServerForwarder | fl IPAddress
Çıktı
InterfaceAlias AddressFamily ServerAddresses
-------------- ------------- ---------------
Ethernet0                  2 {127.0.0.1}
Ethernet0                 23 {::1}

IPAddress : {192.168.1.1, 2a02:...::1}

Satırlar şunu söylüyor:

  1. DNS istemcisi yalnız loopback adresini gösteriyor. IPv4’te 127.0.0.1, IPv6’da ::1. IPv6 tarafındaki modem adresi de böylece listeden çıktı.
  2. DNS forwarder’lar modemin iki adresi. Yani dış adları DC kendisi çözmüyor, modeme soruyor. Promotion’dan önce ağ kartına hangi DNS’i yazdıysanız o DNS forwarder olur.

DNS forwarder eksik olsa da DC dış adları root hints üzerinden, yani root server’lara sorarak çözer. Yine de promotion’dan önce ağ kartında yalnız çalışan bir DNS bırakın, çünkü DNS forwarder ondan gelir.

Microsoft tek DC için DNS istemcisinin DC’nin kendi IP’sini göstermesini önerir. 127.0.0.1 de aynı makinedir, yani aynı DNS hizmetine gider. Bu yüzden tek DC’de ikinci satır yedek değildir: DNS hizmeti durursa iki satır birden cevapsız kalır.

Loopback adresini yine de listeye yazdım, çünkü Best Practices Analyzer’ın DNS kuralı onu listede ister, ama ilk sırada değil. Microsoft’un güncel metni de kendini gösteren satır için 127.0.0.1 ile sunucunun sabit IP’sini eşdeğer sayar.

İlk sıranın neden önemli olduğu açılışta görülür. Başka DC’leri tanıyan bir DC açılırken önce onlardan değişiklikleri çeker ve bunun için ortağının adresini DNS’e sorar. AD ile bütünleşik DNS ise bu ilk eşitleme bitene kadar başlamayı erteler. DC yalnız kendini ya da önce kendini gösteriyorsa iki hizmet birbirini bekler. Microsoft bunu DNS olay 4013 olarak anlatır: açılış 15-20 dakika takılır.

Tek DC’nin değişiklik çekeceği bir ortak yoktur, Microsoft da tek DNS adresini yalnız tek DC’li forest’te kabul edilebilir sayar. İkinci satır asıl anlamını ikinci DC’yle kazanır: o zaman ilk sıraya öbür DC yazılır.

Bu sıra kendiliğinden kurulmuyor. Win + R ile ncpa.cpl açılır, ağ kartının Properties penceresinde Internet Protocol Version 4 (TCP/IPv4) seçilir. Preferred DNS server alanına sunucunun kendi adresini, Alternate DNS server alanına 127.0.0.1 yazdım:

dc01 IPv4 özellikleri: Preferred DNS server 192.168.1.10 ve Alternate DNS server 127.0.0.1, iki alan kırmızı çerçevede
Promotion yalnız 127.0.0.1 bırakmıştı. Kendi adresi önce, loopback adresi sonra.

Aynı ayarın komutu:

PowerShell
Set-DnsClientServerAddress -InterfaceAlias Ethernet0 -ServerAddresses 192.168.1.10,127.0.0.1

İkinci DC eklendiğinde her DC önce öbürünü gösterir, kendini ikinci sıraya alır. Zone’ların ve DNS forwarder’ların ayrıntısı Active Directory DNS yapılandırması yazımızda.

Doğrulama: DNS Zone’ları, SRV Kayıtları, SYSVOL ve dcdiag

Promotion DNS’te iki zone açar ve DC kendini oraya kaydeder. Server Manager’dan Tools → DNS açılıp sunucunun altındaki Forward Lookup Zones seçilince iki zone görünür: _msdcs.ad.sistemkusu.com ve ad.sistemkusu.com. İkisi de Active Directory’ye bağlı (Active Directory-Integrated) ve Running durumundadır.

DNS Manager Forward Lookup Zones: _msdcs.ad.sistemkusu.com ve ad.sistemkusu.com zone'ları Active Directory-Integrated Primary ve Running, iki satır kırmızı çerçevede
Promotion'ın açtığı iki zone, ikisi de Active Directory'ye bağlı ve çalışıyor.

İstemciler DC’yi SRV kaydıyla bulur. Kaydın varlığını komut gösterir:

PowerShell
Resolve-DnsName -Type SRV _ldap._tcp.dc._msdcs.ad.sistemkusu.com | ft Name,Type,Priority,Weight,Port,NameTarget -AutoSize
Çıktı
Name                                   Type Priority Weight Port NameTarget
----                                   ---- -------- ------ ---- ----------
_ldap._tcp.dc._msdcs.ad.sistemkusu.com SRV         0    100  389 dc01.ad.sistemkusu.com
dc01.ad.sistemkusu.com                 A
dc01.ad.sistemkusu.com                 AAAA

Sonra SYSVOL ve NETLOGON paylaşımlarına bakılır, çünkü Group Policy oradan dağıtılır:

PowerShell
Get-SmbShare SYSVOL,NETLOGON | ft Name,Path -AutoSize
Çıktı
Name     Path
----     ----
NETLOGON C:\WINDOWS\SYSVOL\sysvol\ad.sistemkusu.com\SCRIPTS
SYSVOL   C:\WINDOWS\SYSVOL\sysvol

Son olarak dcdiag, DC’nin bileşenlerini tek tek sınar. Çıktısı uzundur, DC’nin kendi testlerinin sonucunu şu filtre verir:

PowerShell
dcdiag | Select-String "DC01 (passed|failed) test"

Promotion’dan hemen sonra (02:19) iki test kalmıştı: DFSREvent ve SystemLog. Aynı komutu sekiz saat sonra (10:37) yeniden çalıştırdım:

Çıktı
         ......................... DC01 passed test Connectivity
         ......................... DC01 passed test Advertising
         ......................... DC01 passed test FrsEvent
         ......................... DC01 failed test DFSREvent
         ......................... DC01 passed test SysVolCheck
         ......................... DC01 passed test KccEvent
         ......................... DC01 passed test KnowsOfRoleHolders
         ......................... DC01 passed test MachineAccount
         ......................... DC01 passed test NCSecDesc
         ......................... DC01 passed test NetLogons
         ......................... DC01 passed test ObjectsReplicated
         ......................... DC01 passed test Replications
         ......................... DC01 passed test RidManager
         ......................... DC01 passed test Services
         ......................... DC01 passed test SystemLog
         ......................... DC01 passed test VerifyReferences

İki testin davranışı farklı çıktı:

  1. SystemLog sekiz saat sonra geçti. İlk çalıştırmada takıldığı hatalar promotion’dan önceki ve sonraki dakikalardandı: servis çökmeleri ve sanal makinede kapalı olan Secure Boot’un uyarıları. Bu test kısa bir pencereye bakıyor.
  2. DFSREvent hâlâ kalıyordu, çünkü kendi mesajının söylediği gibi son 24 saate bakar: “There are warning or error events within the last 24 hours after the SYSVOL has been shared.” DFS Replication günlüğünde rol kurulumu sırasında, henüz domain yokken iki 1202 hatası, ilk açılışta da bir 6016 uyarısı vardı. Uyarının hata kodu 1355’ti: “The specified domain either does not exist or could not be contacted”. Hemen ardından 4602 olayı SYSVOL’ün hazır olduğunu yazdı.

Diğer testler geçiyor, SYSVOL paylaşımda ve 4602 olayı varsa yeni bir forest’in ilk gününde bu iki testi kurulum sorunu saymayın. dcdiag’ı ertesi gün yeniden çalıştırın. KccEvent ise geçti, ama ilk çalıştırmada bir uyarı taşıyordu: veritabanının sıralama tablosu kurulum dosyasındaki eski sürümdendi ve Windows onu kendiliğinden güncelledi.

Saat Kaynağı: Forest’in İlk DC’si Saati Kendinden Alır

Kerberos, istemciyle DC arasındaki saat farkının beş dakikayı aşmasına izin vermez. Domain’de saat bir hiyerarşiyle akar: üyeler saati bir DC’den, DC’ler PDC Emulator’den alır. Forest’in ilk DC’si aynı zamanda PDC Emulator’dür ve üstünde kimse yoktur. Örnekteki otelde bu, bütün kart okuyucuların saatini ön büronun saatine göre ayarlamasına, ön büronun saatinin ise hiçbir yere bakmamasına benzer.

dc01 promote edildikten sonra durum tam buydu:

CMD
w32tm /query /source
w32tm /query /configuration | findstr /c:"Type:" /c:"NtpServer:"
Çıktı
Local CMOS Clock
Type: NT5DS (Local)

Event log’a da Time-Service’in 12 numaralı uyarısı düştü: “This machine is configured to use the domain hierarchy to determine its time source, but it is the AD PDC emulator for the domain at the root of the forest, so there is no machine above it.”

Çözüm, PDC Emulator’e saat kaynağını elle vermektir. Lab’ın NTP sunucusu ntp01’i (192.168.1.15) yazdım:

PowerShell
w32tm /config /manualpeerlist:"192.168.1.15,0x8" /syncfromflags:manual /reliable:yes /update
Restart-Service w32time
w32tm /resync /rediscover
w32tm /query /source
w32tm /query /status
Çıktı
The command completed successfully.
Sending resync command to local computer
The command completed successfully.
192.168.1.15,0x8
Leap Indicator: 0(no warning)
Stratum: 4 (secondary reference - syncd by (S)NTP)
Precision: -23 (119.209ns per tick)
Root Delay: 0.0157943s
Root Dispersion: 7.8981921s
ReferenceId: 0xC0A8010F (source IP:  192.168.1.15)
Last Successful Sync Time: 8.10.2026 08:09:07
Source: 192.168.1.15,0x8
Poll Interval: 6 (64s)

Komutun parçaları:

  1. 0x8: kaynağa istemci modunda sorulur. İki kaynak yazacaksanız aralarına boşluk koyup ikincisine de ,0x8 eklersiniz.
  2. /reliable:yes: DC’yi domain için güvenilir saat kaynağı ilan eder, diğer DC’ler saati ondan alır.
  3. /query /status: ayarın gerçekten kullanıldığını gösteren tek satır Source:’tır. /query /configuration yalnız yazılanı gösterir.

Bu komut yalnız PDC Emulator’de çalıştırılır. İkinci DC’ler, üye sunucular ve istemciler saati hiyerarşiden alır, onlara elle NTP yazmak domain içinde birbirinden bağımsız saat adaları üretir. Aynı ayar Group Policy ile de verilebilir (Configure Windows NTP Client). O yolda GPO bir WMI filter ile yalnız PDC Emulator rolünü taşıyan DC’ye uygulanır, böylece rol başka DC’ye taşınınca ayar da onunla gider. Group Policy’nin kendisini GPO yönetimi yazımızda anlattık.

Saat hiyerarşisinin bütünü ve domain dışı cihazların bu zincire bağlanması NTP nedir, ayrı bir zaman sunucusu da Linux NTP sunucusu kurulumu yazılarımızda.

Kurulumdan Sonra İlk Gün

Aşağıdaki dört ayar promotion’dan hemen sonra yapılır. Hepsini dc01’de, adı aşağıda geçen kişisel yönetici hesabıyla, ekranlardan yaptım.

Recycle Bin

Recycle Bin, silinen bir nesneyi bütün öznitelikleri ve grup üyelikleriyle geri getirir. Fabrika ayarında kapalıdır ve yalnız açıldıktan sonra silinenleri korur, bu yüzden ilk gün açılır. Server Manager’dan Tools → Active Directory Administrative Center açılır, soldan domain (ad (local)) seçilir ve sağdaki Tasks bölmesinde Enable Recycle Bin tıklanır.

Active Directory Administrative Center: soldan ad (local) seçili, sağdaki Tasks bölmesinde Enable Recycle Bin görevi kırmızı çerçevede ve okla gösteriliyor
Recycle Bin, domain seçiliyken Tasks bölmesinden açılır.

Onay penceresi geri dönüşü olmadığını söyler: “Once Recycle Bin has been enabled, it cannot be disabled.” Onaydan sonra ADAC kendini yenilemenizi ister. Yenileyince domain’in altında Deleted Objects kabı belirir ve görev griye döner. Pencerenin altındaki Windows PowerShell History bölmesi, ADAC’nin arka planda çalıştırdığı komutu gösterir.

ADAC'de Recycle Bin açıldıktan sonra: Deleted Objects kabı ve gri Enable Recycle Bin görevi, altta PowerShell History bölmesinde Enable-ADOptionalFeature komutu, üçü kırmızı çerçevede
Recycle Bin açık: Deleted Objects kabı geldi, ADAC'nin çalıştırdığı komut alttaki bölmede.

Makine Hesabı Kotası

ms-DS-MachineAccountQuota, yetkisi olmayan bir domain kullanıcısının kaç bilgisayarı domain’e alabileceğini belirler ve 10 gelir. Saldırganın ele geçirdiği sıradan bir hesapla domain’e kendi makine hesabını eklemesi, bilinen birkaç saldırının ilk adımıdır. Değeri 0 yaptım. Bilgisayarları domain’e yetkili bir hesap ya da bu iş için yetki verilmiş bir grup alır.

ADAC’de domain’e sağ tıklanıp Properties açılır, Extensions bölümünde Attribute Editor sekmesine geçilir. Listede ms-DS-MachineAccountQuota seçilip Edit ile değer 0 yapılır.

ADAC domain özellikleri Attribute Editor: Integer Attribute Editor penceresinde ms-DS-MachineAccountQuota ve Value alanında 0, kırmızı çerçevede
Kota, domain özelliklerinin Attribute Editor sekmesinden 0 yapıldı.

Bu değişiklik ADAC’nin PowerShell geçmişine düşmedi, Recycle Bin düşmüştü. Komut karşılığı PowerShell bölümünde.

Hesap Kilitleme

Domain’in parola ve kilitleme kuralı Default Domain Policy GPO’sundadır ve fabrika ayarında kilitleme eşiği 0’dır. Server Manager’dan Tools → Group Policy Management açılır, Default Domain Policy’ye sağ tıklanıp Edit seçilir. Kural Computer Configuration → Policies → Windows Settings → Security Settings → Account Policies → Account Lockout Policy altındadır.

Account lockout threshold’a 3 yazınca Windows diğer iki ayar için öneri getirdi: 10 dakikalık kilit süresi, 10 dakikalık sayaç ve Allow Administrator account lockout’un açılması.

Suggested Value Changes penceresi: Account lockout duration 10 minutes, Allow Administrator account lockout Enabled, Reset account lockout counter after 10 minutes önerileri kırmızı çerçevede
Eşik 3 olunca Windows süreler ve Administrator kilitlemesi için öneri getirdi.

Öneriyi kabul ettim, sonra süreleri Microsoft temel çizgisindeki 15 dakikaya çektim. Son hâl:

Group Policy Management Editor Account Lockout Policy: Account lockout duration 15 minutes, Account lockout threshold 3 invalid logon attempts, Allow Administrator account lockout Enabled, Reset account lockout counter after 15 minutes, dört satır kırmızı çerçevede
Default Domain Policy'de kilitleme 3 deneme ve 15 dakika.

gpupdate /force sonrası Get-ADDefaultDomainPasswordPolicy LockoutThreshold 3, LockoutDuration 00:15:00 ve LockoutObservationWindow 00:15:00 gösterdi. En kısa parola uzunluğu aynı ekrandaki Password Policy altındadır ve fabrika ayarında 7’dir. Temel çizgi 14 ister. Lab’da bunu 7’de bıraktım, kademeli parola kuralı ve yönetici hesaplarına ayrı kural Active Directory güvenlik sıkılaştırması yazımızda.

Kişisel Yönetici Hesabı

Günlük iş yerleşik Administrator ile yapılmaz, herkesin kendi adına bir hesabı olur. Kayıtlar böylece işi kimin yaptığını gösterir. Lab’da kendime ilker.pehlivan hesabını açtım ve Domain Admins’e ekledim. Bunu yaparken iki şeyi ölçtüm:

  1. Karmaşıklık kuralı adın parçasını reddediyor. New-ADUser’a verdiğim parola adımın bir parçasını içeriyordu ve “The password does not meet the length, complexity, or history requirement of the domain” hatası geldi. Hesap yine de oluştu, ama parolasız ve kapalıydı. Ardından çalışan Add-ADGroupMember onu Domain Admins’e ekledi. Hata alınca hesabı silmek ya da parolasını verip etkinleştirmek gerekir, yarım kalmış bir yönetici hesabı listede durmamalı.
  2. Domain Admins üyesi de UAC’ye tabidir. ilker.pehlivan ile Win + R üzerinden açtığım PowerShell yetkisiz açıldı. O oturumda whoami /groups Domain Admins’i “Group used for deny only” diye gösterdi ve deneme olarak çalıştırdığım New-ADUser “Access is denied” ile düştü. Server Manager’dan açılan ADAC ve Group Policy Management ise yetkili çalıştı. Komut için PowerShell’i Ctrl + Shift + Enter ile yönetici olarak açın.

Bu hesap yönetici hesabıdır. E-posta okunan, internette gezilen günlük hesap ayrı tutulur. Kullanıcı, grup ve OU tasarımı Active Directory kullanıcı, grup ve OU yönetimi yazımızda.

İkinci Domain Controller Ekleme

Tek DC kapandığında kimse oturum açamaz, yeni bilet alamaz ve Group Policy uygulanamaz. Bu yüzden ikinci DC ilk günün işidir ve birinciden ayrı bir fiziksel makinede çalışır, çünkü aynı hipervizördeki iki DC o makineyle birlikte durur. Örnekteki otelde bu, ön büroya ikinci bir masa açmaktır: iki masa aynı misafir listesini tutar, biri kapanınca öbürü oda kartı kodlamaya devam eder. Aynı soruyu kurumun diğer katmanlarına nasıl soracağınız tek nokta arızası yazımızda.

Hazırlık: Adres ve DNS

İkinci sunucu dc02, Windows Server kurulumundaki adımlarla hazırlanır. Lab’da dc02 de dc01 ile aynı iş istasyonunda çalışıyor. Kurulumu göstermek için bu yeterli, ama canlı ortamda iki DC’yi tek makineye koymak tek DC’nin riskini geri getirir. Hazırlıktaki tek fark DNS’tedir: dc02 henüz kendi DNS’ini taşımadığı için tercih edilen DNS’e birinci DC’nin adresi yazılır. İkinci alanı boş bıraktım. Eski rehberlerde görülen 8.8.8.8 önerisi yanlıştır, çünkü herkese açık bir çözücü iç domain’i bilmez.

dc02 IPv4 özellikleri: IP adresi 192.168.1.11, maske 255.255.255.0, ağ geçidi 192.168.1.1 ve Preferred DNS server 192.168.1.10, adres alanları ve DNS alanı kırmızı çerçevede
dc02'nin DNS'i birinci DC'yi gösteriyor. İkinci alan bilerek boş.

Sonra AD DS rolü kurulur. dc02’de de çıktı Restart Needed: No dedi.

Hazırlıkta asıl tuzak IPv6’daydı. dc02’nin IPv4 DNS’inde dc01 yazılıydı, ama IPv6 tarafında modemin dağıttığı adres kendiliğinden duruyordu. Domain’i sorduğumda cevap dışarıdan geldi:

PowerShell
Resolve-DnsName -Type SRV _ldap._tcp.dc._msdcs.ad.sistemkusu.com | ft Name,Type,Port,NameTarget,IPAddress -AutoSize
nltest /dsgetdc:ad.sistemkusu.com
Çıktı
Name           Type Port NameTarget IPAddress
----           ---- ---- ---------- ---------
sistemkusu.com SOA


Getting DC name failed: Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN

SRV sorgusuna iç domain’in kaydı yerine herkese açık sistemkusu.com zone’unun SOA kaydı döndü. Soru modemin IPv6 DNS’i üzerinden dışarı gitmişti ve nltest DC’yi bulamadı. dc02 bu hâliyle domain’e katılamazdı. Aynı SRV sorgusu -Server 192.168.1.10 ile doğrudan dc01’e sorulunca doğru cevap geldi.

IPv6’yı kapatmadım, çünkü dc02 bir DC olacaktı ve Microsoft DC’de IPv6’yı kapatmayı önermiyor. Onun yerine IPv6 ayarlarında DNS alanına ::1 yazdım. Promotion’dan önce dc02’de bu adreste dinleyen bir DNS yoktur, sorgu oradan sonuç alamaz ve IPv4’teki dc01’e gider. Promotion’dan sonra da ::1 doğru değerdir, dc01’de promotion bunu kendisi yazmıştı.

dc02 IPv6 özellikleri: Use the following DNS server addresses seçili ve Preferred DNS server alanında ::1, ikisi kırmızı çerçevede
IPv6 DNS alanına ::1 yazıldı. Modemin adresi listeden çıktı.

Ardından aynı iki komut doğru cevabı verdi. SRV kaydı dc01.ad.sistemkusu.com’u gösterdi, nltest DC’yi buldu ve bayrakları arasında PDC, GC, KDC ve GTIMESERV vardı. GTIMESERV, dc01’in güvenilir saat kaynağı olarak tanındığını da gösteriyor. Bu arızanın üye sunuculardaki karşılığını Windows Server kurulumu yazımızda anlattık.

Promotion: Var Olan Domain’e DC

Server Manager’ın bayrağından açılan sihirbazda bu sefer varsayılan seçim doğrudur: Add a domain controller to an existing domain. Domain alanına ad.sistemkusu.com yazılır, Change ile promotion’ı yapacak bir Domain Admins hesabı verilir.

dc02 Deployment Configuration: Add a domain controller to an existing domain seçili, Domain alanında ad.sistemkusu.com, credential olarak SISTEMKUSU\ilker.pehlivan, üçü kırmızı çerçevede
İlk denemenin ekranı. Kısa ad biçimindeki bu credential sonraki sayfada hata verdi.

Credential’ın (kimlik bilgisi) biçimi önemli çıktı. İlk denemede SISTEMKUSU\ilker.pehlivan yazdım. Sonraki sayfa yaklaşık sekiz dakika doğrulama yaptı ve şu hatayla durdu:

Domain Controller Options sayfasında kırmızı bant: Error getting the list of sites from the target environment: The user name or password is incorrect, bant kırmızı çerçevede
Parola doğruydu. Hata credential'ın kısa ad biçimindeydi.

Parola yanlış değildi: dc01’de hesabın hatalı deneme sayısı 0’dı ve hesap kilitli değildi. Previous ile dönüp aynı hesabı UPN biçiminde, ilker.pehlivan@ad.sistemkusu.com olarak yazdım ve sayfa iki dakikada açıldı. İki deneme arasındaki tek fark credential’ın biçimiydi. Domain’e katılmamış bir sunucudan promote ederken credential’ı UPN biçiminde verin.

Domain Controller Options sayfası ilk DC’dekinden farklıdır. Functional level sorulmaz, çünkü forest’te zaten belirlenmiştir. Onun yerine Site name gelir. Tek siteli bir domain’de Default-First-Site-Name kalır. DNS ve Global Catalog işaretli bırakılır ve DSRM parolası yazılır. Her DC’nin DSRM parolası kendinedir.

dc02 Domain Controller Options: DNS server ve Global Catalog işaretli, Site name Default-First-Site-Name, DSRM parola alanları dolu, üçü kırmızı çerçevede
İkinci DC'de functional level yerine site adı sorulur.

DNS Options sayfasında ilk DC’deki delegation uyarısı tekrar çıkar, bu sefer kutunun adı Update DNS delegation’dır ve yine gri kalır. Additional Options sayfası verinin nereden kopyalanacağını sorar. Replicate from alanında Any domain controller bırakılır, sihirbaz uygun DC’yi kendisi seçer. Belirli bir DC seçmek çok siteli ortamlarda anlam taşır. Üstteki Install from media seçeneği veritabanını ağ yerine önceden alınmış bir kopyadan kurar ve yavaş hatlı şubeler içindir.

dc02 Additional Options: Install from media kutusu boş, Replicate from alanında Any domain controller, alan kırmızı çerçevede
Replikasyon kaynağı varsayılanda kalır: Any domain controller.

View script bu sefer Install-ADDSDomainController betiğini üretir. dc02’de çıkan betik buydu:

PowerShell
#
# Windows PowerShell script for AD DS Deployment
#

Import-Module ADDSDeployment
Install-ADDSDomainController `
-NoGlobalCatalog:$false `
-CreateDnsDelegation:$false `
-Credential (Get-Credential) `
-CriticalReplicationOnly:$false `
-DatabasePath "C:\WINDOWS\NTDS" `
-DomainName "ad.sistemkusu.com" `
-InstallDns:$true `
-LogPath "C:\WINDOWS\NTDS" `
-NoRebootOnCompletion:$false `
-SiteName "Default-First-Site-Name" `
-SysvolPath "C:\WINDOWS\SYSVOL" `
-Force:$true

Ön koşul denetimi ilk DC’dekiyle aynı iki uyarıyla geçti: IPv6 adresi statik değil ve delegation yazılamıyor.

dc02 Prerequisites Check: All prerequisite checks passed successfully bandı ve iki uyarı kırmızı çerçevede, Install düğmesi okla gösteriliyor
İkinci DC'nin ön koşulları da iki uyarıyla geçti.

Install’a 11:07’de bastım. dc02 dizinin kopyasını dc01’den aldı ve kendiliğinden yeniden başladı.

İkinci DC’den Sonra: Replikasyon ve DNS Sırası

Replikasyonun iki yönde de çalıştığını repadmin gösterir:

PowerShell
repadmin /replsummary
Get-ADDomainController -Filter * | ft Name,IPv4Address,IsGlobalCatalog,OperationMasterRoles -AutoSize
Çıktı
Beginning data collection for replication summary, this may take awhile:
  .....


Source DSA          largest delta    fails/total %%   error
 DC01                      13m:12s    0 /   5    0
 DC02                      02m:41s    0 /   5    0


Destination DSA     largest delta    fails/total %%   error
 DC01                      02m:41s    0 /   5    0
 DC02                      13m:12s    0 /   5    0


Name IPv4Address  IsGlobalCatalog OperationMasterRoles
---- -----------  --------------- --------------------
DC02 192.168.1.11            True {}
DC01 192.168.1.10            True {SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster...}

Çıktı üç şey söylüyor:

  1. Hata yok: iki DC de beş replikasyon denemesinin hiçbirinde hata vermedi.
  2. İkisi de Global Catalog: sihirbazdaki işaret tuttu.
  3. FSMO rolleri dc01’de kaldı: ikinci DC rol almaz. PDC Emulator, yani domain’in saat kaynağı, hâlâ dc01’dir.

DNS sırası da ikinci DC’ye göre ayarlanır. Promotion dc02’nin IPv4 DNS’ini kendisi 192.168.1.10, 127.0.0.1 yaptı: önce dc01, sonra kendi loopback adresi. KB 825036 da yeni DC’nin, replikasyon iki yönde doğrulanmadan kendi DNS’ine dönmemesini ister. Yoksa DC bir “DNS adası” olur: kendi zone kopyasında ortaklarının kaydı henüz eksiktir, kendine sorduğunda onları bulamaz ve eksiği getirecek replikasyon başlamaz.

Replikasyonu gördükten sonra dc01’in DNS listesini de 192.168.1.11, 127.0.0.1 yaptım, yani önce dc02’yi gösteriyor. Bu, KB 825036’nın saydığı karma düzendir: öbür DC birinci, DC’nin kendisi ikinci sırada. Bir DC’nin DNS hizmeti durduğunda öbürü cevap verir. Bedeli de var. İki DC aynı anda yeniden başlarsa her biri açılışta DNS için öbürünü bekler. Microsoft’un olay 4013 belgesindeki testte bu karşılıklı bekleme açılışı 14 dakikanın üstüne çıkardı. Güncellemeleri ve yeniden başlatmaları DC’ler arasında sırayla yapın.

PowerShell ile Aynı İş

Yukarıda ekranlardan yaptığım her adımın komut karşılığı aşağıda, lab’ın değerleriyle. Install-ADDSForest ve Install-ADDSDomainController betikleri sihirbazın View script düğmesinin ürettiğidir. Recycle Bin ve kota satırlarını çalıştırmadım, onları ekranlardan yaptım. dc02’nin DNS satırını da arayüzden verdim.

PowerShell
# --- dc01: ilk DC ---
# 1. Rol
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

# 2. Yeni forest (DSRM parolasini sorar, sonunda sunucu yeniden baslar)
Install-ADDSForest -DomainName "ad.sistemkusu.com" -DomainNetbiosName "SISTEMKUSU" `
  -ForestMode "Win2025" -DomainMode "Win2025" -InstallDns:$true -CreateDnsDelegation:$false

# 3. PDC Emulator'un saat kaynagi
w32tm /config /manualpeerlist:"192.168.1.15,0x8" /syncfromflags:manual /reliable:yes /update

# 4. Recycle Bin (geri alinamaz)
Enable-ADOptionalFeature "Recycle Bin Feature" -Scope ForestOrConfigurationSet -Target "ad.sistemkusu.com"

# 5. Makine hesabi kotasi
Set-ADDomain -Identity "ad.sistemkusu.com" -Replace @{"ms-DS-MachineAccountQuota"="0"}

# --- dc02: ikinci DC ---
# 6. DNS: IPv4'te dc01, IPv6'da geri donus adresi (modemin IPv6 DNS'i listeden cikar)
Set-DnsClientServerAddress -InterfaceAlias Ethernet0 -ServerAddresses 192.168.1.10,::1

# 7. Rol ve yukseltme (credential'i UPN bicimiyle ver: ilker.pehlivan@ad.sistemkusu.com)
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController -DomainName "ad.sistemkusu.com" -Credential (Get-Credential) `
  -SiteName "Default-First-Site-Name" -InstallDns:$true

# --- iki DC'de: her biri once oburunu, sonra kendini gosterir ---
Set-DnsClientServerAddress -InterfaceAlias Ethernet0 -ServerAddresses 192.168.1.11,127.0.0.1   # dc01
Set-DnsClientServerAddress -InterfaceAlias Ethernet0 -ServerAddresses 192.168.1.10,127.0.0.1   # dc02

Kilitleme kuralının komutu bilerek listede yok. Set-ADDefaultDomainPasswordPolicy domain’in değerini doğrudan değiştirir, ama GPO’ya dokunmaz. dc01’de eşiği bu komutla 5 yaptım, gpupdate /force’tan sonra da 5 kaldı. GPO’daki değer ise değişmemişti, 3’tü: GPO bir değeri, domain başka bir değeri taşıyordu. Kilitleme ve parola kuralı tek yerde, Default Domain Policy’de tutulur. Değeri sonra yine komutla 3’e geri aldım.

Active Directory Kurulumunda Sık Karşılaşılan Hatalar

Aşağıdaki hataların hepsini dc01 ve dc02’yi kurarken gördüm.

ERROR_NO_SUCH_DOMAIN (1355): İkinci DC Domain’i Bulamıyor

nltest /dsgetdc: “Getting DC name failed: Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN” diyor, SRV sorgusuna da herkese açık zone’un SOA kaydı dönüyorsa sunucu soruyu iç DNS’e değil dışarıya soruyordur. dc02’de sebep, modemin IPv6 üzerinden dağıttığı DNS adresiydi. IPv6 DNS alanına ::1 yazınca düzeldi. Ayrıntısı ikinci DC’nin hazırlığında.

Error getting the list of sites from the target environment

Hatanın devamı “The user name or password is incorrect” der, ama parola doğru olabilir. dc02’de credential’ı SISTEMKUSU\ilker.pehlivan biçiminde verdiğimde sihirbaz sekiz dakika bekleyip bu hatayı verdi, hesabın hatalı deneme sayacı ise 0’da kaldı. Aynı hesabı ilker.pehlivan@ad.sistemkusu.com biçiminde verince sayfa iki dakikada açıldı. Domain’e katılmamış bir sunucudan promote ederken credential’ı UPN biçiminde verin.

DFSREvent ve SystemLog: failed test

Yeni bir forest’in ilk saatlerinde beklenir. SystemLog kısa bir pencereye baktığı için dc01’de sekiz saat sonra geçti, DFSREvent ise son 24 saate bakar. Teşhisi ve neye bakılacağı doğrulama bölümünde.

Domain Controller Options Sayfası Uzun Süre Gri Kalıyor

dc01’de sayfa yaklaşık 10 dakika doğrulama yaptı. O sırada sunucunun DNS’i modemdi ve alan adımızın herkese açık DNS’indeki joker kayıt yüzünden ad.sistemkusu.com dışarıda web sitesinin adresine çözülüyordu. Gecikmenin sebebinin bu olduğunu kanıtlamadım. Beklemek sayfayı açtı. Herkese açık zone’daki jokerin ad dalını domain adı bölümündeki gibi kapatmak bu belirsizliği ortadan kaldırır.

Access is denied: Domain Admins Üyesi Komut Çalıştıramıyor

PowerShell yönetici olarak açılmamıştır. UAC’nin süzdüğü oturumda whoami /groups Domain Admins’i “Group used for deny only” diye gösterir ve AD’ye yazan komut “Access is denied” ile düşer. Pencerenin başlığında “Administrator:” yazmıyorsa PowerShell’i Ctrl + Shift + Enter ile yeniden açın.

The password does not meet the length, complexity, or history requirement

Domain’in karmaşıklık kuralı parolada kullanıcının adının 3 ve daha fazla karakterlik bir parçasını kabul etmez. New-ADUser bu hatayı verdiğinde hesabı yine de parolasız ve kapalı oluşturur. Hesabı Set-ADAccountPassword -Reset ve Enable-ADAccount ile tamamlayın ya da silin.

Sonuç: Lab’da Beklenenden Farklı Çıkan Şeyler

dc01 ve dc02’yi domain controller yaparken şunlar beklediğimden farklı çıktı:

  1. NetBIOS adı AD önerildi. Sihirbaz alt alan adının ilk etiketini aldı.
  2. Functional level listesinde yalnız 2016 ve 2025 vardı.
  3. Rol kurulumu yeniden başlatma istemedi. Eski rehberlerin “yeniden başlatın” adımı Server 2025’te gerekmiyor.
  4. Promotion DNS istemcisini yalnız loopback adresine çevirdi, eski DNS adresini DNS forwarder yaptı. dc02’de ise doğru sırayı kendisi kurdu: önce dc01, sonra 127.0.0.1.
  5. Saat kaynağı kayboldu, forest’in ilk DC’si donanım saatine düştü.
  6. Domain’de kilitleme kapalı geldi, oysa promotion’dan önce local policy 10 denemede kilitliyordu.
  7. dcdiag ilk gün iki test kaldı. SystemLog sekiz saat sonra geçti, DFSREvent 24 saati bekliyor.
  8. New-ADUser parolayı reddettiği hâlde hesabı açtı.
  9. Modemin IPv6 DNS’i ikinci DC’nin domain’i bulmasını engelledi. IPv6 DNS alanına ::1 yazmak IPv6’yı kapatmadan düzeltti.
  10. Kısa ad biçimindeki credential “parola yanlış” dedirtti, UPN biçimi geçti.
  11. Komutla değiştirilen kilitleme eşiği GPO ile çelişti ve gpupdate /force onu düzeltmedi.

Girişteki benzetmeye dönersek: otelin adı (ad.sistemkusu.com) ve kısa adı (SISTEMKUSU) açılıştan önce kondu. Ön büro, yani dc01, saatini ntp01’e göre ayarladı, böylece kart okuyucular oda kartlarını doğru saate göre okuyor. Kayıp eşya dolabı, yani Recycle Bin, ilk gün kuruldu. İkinci ön büro masası dc02, birinci kapandığında da kart kodlamaya devam ediyor.

Sıradaki adımlar:

  1. Active Directory DNS yapılandırması: zone’lar, DNS forwarder’lar ve reverse lookup zone.
  2. UPN suffix: kullanıcının e-posta adresiyle aynı oturum adı.
  3. Kullanıcı, grup ve OU yönetimi ve GPO yönetimi.
  4. Bilgisayarı domain’e ekleme.
  5. Active Directory güvenlik sıkılaştırması.

Active Directory Kurulumu Hakkında Sık Sorulan Sorular

Promotion'ın kendisi kısa: lab'da Install'a 02:10'da bastım, sunucu 02:14'te domain controller olarak açıldı. Sihirbazın doğrulamaları, saat kaynağı, ilk gün ayarları ve ikinci DC ile birlikte iş yarım günü bulur. Domain adı ve NetBIOS adı gibi geri alınamayan kararlar bu sürenin dışında, kurulumdan önce verilir.
Hayır. Microsoft, kurumun kayıtlı alan adının altında bir önek önerir, örneğin ad.sistemkusu.com. .local ve tek etiketli adlar önerilmez. Alan adınızın herkese açık DNS'inde joker kayıt (*) varsa ad.alanadiniz.com dışarıda web sitenizin adresine çözülür. Bu durumda herkese açık zone'a ad adında bir kayıt eklemek jokerin o dala inmesini durdurur.
Hayır. Tek DC kapandığında kimse oturum açamaz, yeni bilet alamaz ve Group Policy uygulanamaz. En az iki DC kurulur ve ikisi farklı fiziksel makinelerde çalışır. Aynı hipervizördeki iki DC, o makine durduğunda birlikte durur.
DFSREvent son 24 saatin DFS Replication olaylarına, SystemLog daha kısa bir pencereye bakar. Yeni bir forest'te rol kurulumu ve ilk açılış sırasında birkaç DFSR uyarısı ve servis hatası düşer. Lab'da SystemLog sekiz saat sonra geçti. Diğer testler geçiyorsa, SYSVOL paylaşımdaysa ve DFSR günlüğünde 4602 olayı varsa kurulum sağlamdır, dcdiag ertesi gün yeniden çalıştırılır.
DC çalışırken ntdsutil ile yeni bir DSRM parolası verilir (Microsoft KB 322672). Windows Server 2025'te Windows LAPS, domain functional level en az 2016 ve parola şifrelemesi açıksa DSRM parolasını da Active Directory'de yedekleyebilir. Parolayı bir parola yöneticisine kaydetmek yine de ilk iştir.
İlker Pehlivan
Yazan

BT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi

İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştürür. Buradaki rehberleri kendi laboratuvarında kurup ölçerek yazar.

LinkedIn

Benzer Makaleler

BT Sistem Yönetimi altındaki diğer 32 makale

Ücretsiz Değerlendirme

Domain adı ve ilk DC'nin kararları sonradan değişmez. Kurulum sıranızı birlikte planlayalım.