ติดตั้ง Active Directory Domain Services บน Windows Server
คำตอบสั้น ๆ: ยกระดับ Windows Server เป็น Domain Controller ตั้งแต่ตั้ง IP คงที่ ติดตั้ง Role สร้างโดเมนใหม่ จนถึงการนำเครื่องลูกเข้าโดเมน
คู่มือนี้อธิบาย Active Directory ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
Active Directory คือระบบจัดการผู้ใช้และเครื่องแบบรวมศูนย์ของ Windows เมื่อองค์กรมีเครื่องเกินสิบเครื่อง การจัดการบัญชีผู้ใช้แยกทีละเครื่องจะเริ่มควบคุมไม่ได้ ทั้งเรื่องรหัสผ่านที่ไม่ตรงกัน และพนักงานที่ลาออกแล้วแต่บัญชีบางเครื่องยังอยู่
คู่มือนี้ติดตั้ง Domain Controller เครื่องแรกสำหรับโดเมนใหม่ ใช้ได้กับ Windows Server 2019, 2022 และ 2025 โดยทำผ่าน Server Manager และให้คำสั่ง PowerShell คู่กันไปด้วย
สิ่งที่ต้องเตรียม
Windows Server ที่ติดตั้งเสร็จแล้วและอัปเดตล่าสุด
หน่วยความจำอย่างน้อย 4 GB และพื้นที่ดิสก์ว่าง 40 GB ขึ้นไป
ชื่อโดเมนภายในที่วางแผนไว้ เช่น corp.example.com
สิทธิ์ Administrator บนเครื่อง
คำแนะนำเรื่องการตั้งชื่อโดเมน อย่าใช้ชื่อเดียวกับโดเมนเว็บไซต์จริงของคุณ เช่น example.com เพราะจะทำให้เครื่องในโดเมนหาเว็บไซต์ภายนอกของบริษัทเองไม่เจอ ให้ใช้ซับโดเมนแทน เช่น corp.example.com หรือ ad.example.com และอย่าใช้ .local เพราะชนกับโพรโทคอล mDNS
ขั้นตอนที่ 1: ตั้ง IP แบบคงที่
Domain Controller ต้องมี IP ที่ไม่เปลี่ยน เพราะเครื่องลูกใช้มันเป็น DNS Server
Get-NetAdapter
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 10.0.0.10 `
-PrefixLength 24 -DefaultGateway 10.0.0.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 127.0.0.1
ตั้ง DNS ของตัวเองชี้มาที่ 127.0.0.1 เพราะเครื่องนี้จะกลายเป็น DNS Server เองหลังติดตั้งเสร็จ
ขั้นตอนที่ 2: เปลี่ยนชื่อเครื่อง
ต้องทำก่อนยกระดับเป็น Domain Controller เพราะเปลี่ยนชื่อทีหลังยุ่งยากมาก
Rename-Computer -NewName "DC01" -Restart
รอเครื่องรีสตาร์ตแล้วเข้าระบบใหม่
ขั้นตอนที่ 3: ติดตั้ง Role
ผ่าน Server Manager เลือก Manage แล้ว Add Roles and Features เลือก Active Directory Domain Services หรือใช้ PowerShell ซึ่งเร็วกว่ามาก
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Get-WindowsFeature -Name AD-Domain-Services
ขั้นตอนที่ 4: ยกระดับเป็น Domain Controller
Import-Module ADDSDeployment
Install-ADDSForest `
-DomainName "corp.example.com" `
-DomainNetbiosName "CORP" `
-ForestMode "WinThreshold" `
-DomainMode "WinThreshold" `
-InstallDns:$true `
-DatabasePath "C:\Windows\NTDS" `
-LogPath "C:\Windows\NTDS" `
-SysvolPath "C:\Windows\SYSVOL" `
-NoRebootOnCompletion:$false `
-Force:$true
ระบบจะถามรหัสผ่านสำหรับ Directory Services Restore Mode ซึ่งใช้กู้ระบบเมื่อ Active Directory เสียหาย เก็บรหัสนี้ไว้ในที่ปลอดภัยนอกเครื่อง เพราะจะต้องใช้ในวันที่แย่ที่สุดเท่านั้น
เครื่องจะรีสตาร์ตเอง เมื่อกลับมาให้เข้าระบบด้วย CORP\Administrator
ขั้นตอนที่ 5: ตรวจว่าติดตั้งสำเร็จ
Get-ADDomain
Get-ADForest
Get-ADDomainController
# ตรวจสุขภาพแบบละเอียด
dcdiag /v
nltest /dsgetdc:corp.example.com
ตรวจว่า DNS สร้างระเบียนที่จำเป็นครบ
Get-DnsServerZone
Resolve-DnsName -Name "_ldap._tcp.dc._msdcs.corp.example.com" -Type SRV
ระเบียน SRV เหล่านี้คือสิ่งที่เครื่องลูกใช้ค้นหา Domain Controller หากไม่มี เครื่องลูกจะเข้าโดเมนไม่ได้
ขั้นตอนที่ 6: สร้างโครงสร้าง OU
อย่าวางผู้ใช้ทั้งหมดไว้ใน Users ตามค่าเริ่มต้น เพราะจะใช้ Group Policy กับเฉพาะบางกลุ่มไม่ได้
New-ADOrganizationalUnit -Name "TDC" -Path "DC=corp,DC=example,DC=com"
New-ADOrganizationalUnit -Name "Users" -Path "OU=TDC,DC=corp,DC=example,DC=com"
New-ADOrganizationalUnit -Name "Computers" -Path "OU=TDC,DC=corp,DC=example,DC=com"
New-ADOrganizationalUnit -Name "Servers" -Path "OU=TDC,DC=corp,DC=example,DC=com"
New-ADOrganizationalUnit -Name "Groups" -Path "OU=TDC,DC=corp,DC=example,DC=com"
Get-ADOrganizationalUnit -Filter * | Select-Object Name, DistinguishedName
ขั้นตอนที่ 7: สร้างผู้ใช้และกลุ่ม
$pw = Read-Host -AsSecureString -Prompt "รหัสผ่านเริ่มต้น"
New-ADUser -Name "Somchai Jaidee" `
-GivenName "Somchai" -Surname "Jaidee" `
-SamAccountName "somchai" `
-UserPrincipalName "[email protected] " `
-Path "OU=Users,OU=TDC,DC=corp,DC=example,DC=com" `
-AccountPassword $pw `
-ChangePasswordAtLogon $true `
-Enabled $true
New-ADGroup -Name "Finance" -GroupScope Global `
-Path "OU=Groups,OU=TDC,DC=corp,DC=example,DC=com"
Add-ADGroupMember -Identity "Finance" -Members "somchai"
Get-ADGroupMember -Identity "Finance" | Select-Object Name
สร้างผู้ใช้จำนวนมากจากไฟล์ CSV
Import-Csv users.csv | ForEach-Object {
New-ADUser -Name $_.Name -SamAccountName $_.Username `
-UserPrincipalName "$($_.Username)@corp.example.com" `
-Path "OU=Users,OU=TDC,DC=corp,DC=example,DC=com" `
-AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -Force) `
-ChangePasswordAtLogon $true -Enabled $true
}
ขั้นตอนที่ 8: นำเครื่องลูกเข้าโดเมน
ที่เครื่องลูก ตั้ง DNS ให้ชี้มาที่ Domain Controller ก่อน ขั้นตอนนี้สำคัญที่สุดและเป็นสาเหตุที่คนเข้าโดเมนไม่ได้
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 10.0.0.10
Resolve-DnsName corp.example.com
Add-Computer -DomainName "corp.example.com" `
-OUPath "OU=Computers,OU=TDC,DC=corp,DC=example,DC=com" `
-Credential (Get-Credential CORP\Administrator) -Restart
ขั้นตอนที่ 9: เพิ่ม Domain Controller เครื่องที่สอง
Domain Controller เพียงเครื่องเดียวคือจุดตายของทั้งระบบ เมื่อเครื่องนี้ล่ม ทุกคนล็อกอินไม่ได้ ควรมีเครื่องที่สองเสมอ
# บนเครื่องที่สอง หลังตั้ง DNS ชี้ไป DC01 แล้ว
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController `
-DomainName "corp.example.com" `
-InstallDns:$true `
-Credential (Get-Credential CORP\Administrator) `
-Force:$true
หลังเสร็จ ให้แก้ DNS ของทั้งสองเครื่องให้ชี้หากันไขว้กัน โดยแต่ละเครื่องใช้ IP ของอีกเครื่องเป็น DNS ตัวแรก และ 127.0.0.1 เป็นตัวที่สอง
ปัญหาที่พบบ่อยเกี่ยวกับ Active Directory
เครื่องลูกเข้าโดเมนไม่ได้ ขึ้นว่าหาโดเมนไม่พบ
เกือบทุกครั้งเป็นเรื่อง DNS ตรวจที่เครื่องลูกว่า DNS ชี้ไปที่ Domain Controller ไม่ใช่ 8.8.8.8 ด้วย ipconfig /all แล้วทดสอบด้วย nslookup corp.example.com
เวลาไม่ตรงกันจนล็อกอินไม่ได้
Kerberos ยอมให้เวลาต่างกันได้ไม่เกิน 5 นาที ตรวจด้วย w32tm /query /status และบังคับซิงก์ด้วย w32tm /resync บน Domain Controller ควรตั้งให้ซิงก์กับ NTP ภายนอก
w32tm /config /manualpeerlist:"time.navy.mi.th,0x8" /syncfromflags:manual /reliable:yes /update
Restart-Service w32time
dcdiag แจ้งข้อผิดพลาดเรื่อง SYSVOL
ตรวจว่าแชร์ SYSVOL และ NETLOGON ถูกสร้างแล้วด้วย net share หากไม่มี มักเป็นปัญหาการจำลองข้อมูล ให้ดู Event Log ใน Directory Service และ DFS Replication
ตั้งชื่อโดเมนผิดแล้วอยากแก้
การเปลี่ยนชื่อโดเมนทำได้แต่ซับซ้อนและเสี่ยงมาก หากยังไม่มีข้อมูลสำคัญ ให้ถอนการติดตั้งแล้วเริ่มใหม่จะเร็วกว่า ด้วย Uninstall-ADDSDomainController -ForceRemoval
ต้องการวางระบบ Active Directory พร้อม DR Site ที่มีทีมวิศวกรดูแล ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
สรุปขั้นตอน Active Directory
ทบทวน Active Directory ทั้งหมดตามลำดับ ก่อนนำไปใช้กับระบบจริง
ตั้ง IP แบบคงที่
เปลี่ยนชื่อเครื่อง
ติดตั้ง Role
ยกระดับเป็น Domain Controller
ตรวจว่าติดตั้งสำเร็จ
สร้างโครงสร้าง OU
สร้างผู้ใช้และกลุ่ม
นำเครื่องลูกเข้าโดเมน
เพิ่ม Domain Controller เครื่องที่สอง
เมื่อทำครบทุกข้อแล้ว Active Directory จะพร้อมใช้งาน หากผลลัพธ์ไม่เป็นไปตามที่คาด ให้ย้อนกลับไปดูหัวข้อปัญหาที่พบบ่อยด้านบน ซึ่งรวบรวมกรณีที่พบจริงจากการใช้งาน Active Directory ไว้แล้ว
อ่านเพิ่มเติมเกี่ยวกับ Active Directory