Active Directory เป็นบริการที่เชื่อถือได้ แต่ซับซ้อนและสำคัญ และความสามารถในการทำงานของเครือข่ายองค์กรทั้งหมดขึ้นอยู่กับมัน ผู้ดูแลระบบควรตรวจสอบอย่างสม่ำเสมอว่า Active Directory ทำงานอย่างถูกต้องหรือไม่ ในบทความนี้ เราจะพูดถึงวิธีการหลักๆ ของวิธีตรวจสอบและวินิจฉัยความสมบูรณ์ของ Active Directory โดเมน ตัวควบคุมโดเมน และการจำลองแบบ
สารบัญ:
- จะตรวจสอบความสมบูรณ์ของตัวควบคุมโดเมน AD โดยใช้ Dcdiag ได้อย่างไร
- การตรวจสอบข้อผิดพลาดการจำลองแบบ Active Directory ระหว่าง DC
จะตรวจสอบความสมบูรณ์ของตัวควบคุมโดเมน AD โดยใช้ Dcdiag ได้อย่างไร
Dcdiag เป็นเครื่องมือพื้นฐานในตัวเพื่อตรวจสอบความสมบูรณ์ของตัวควบคุมโดเมน Active Directory หากต้องการตรวจสอบสถานะของตัวควบคุมโดเมน AD อย่างรวดเร็ว ให้ใช้คำสั่งด้านล่าง:
dcdiag /s:DC01
คำสั่งรันการทดสอบต่างๆ กับ Domain Controller ที่ระบุ และส่งคืนสถานะสำหรับการทดสอบแต่ละครั้ง (ผ่าน /ล้มเหลว )
การทดสอบทั่วไป:
- การเชื่อมต่อ – ตรวจสอบว่า DC ลงทะเบียนใน DNS, สร้างการทดสอบการเชื่อมต่อ LDAP และ RPC;
- โฆษณา – ตรวจสอบบทบาทและบริการที่เผยแพร่ใน DC;
- FRSEvent – ตรวจสอบว่ามีข้อผิดพลาดของบริการการจำลองแบบไฟล์หรือไม่ (ข้อผิดพลาดในการจำลองแบบ SYSVOL)
- FSMOCheck – ตรวจสอบว่า DC สามารถเชื่อมต่อกับเซิร์ฟเวอร์ KDC, PDC และ Global Catalog ได้หรือไม่
- บัญชีเครื่องจักร — ตรวจสอบว่าบัญชี DC ลงทะเบียนใน AD ถูกต้องหรือไม่ และความสัมพันธ์ความเชื่อถือโดเมนถูกต้องหรือไม่
- NetLogons – ตรวจสอบสิทธิ์ในการเข้าสู่ระบบเพื่อให้การจำลองแบบดำเนินต่อไปได้
- การจำลองแบบ – ตรวจสอบสถานะของการจำลองแบบระหว่างตัวควบคุมโดเมนและหากมีข้อผิดพลาดใด ๆ
- KnowsOfRoleHolders – ตรวจสอบความพร้อมใช้งานของตัวควบคุมโดเมนที่มีบทบาท FSMO
- บริการ – ตรวจสอบว่าบริการบนตัวควบคุมโดเมนกำลังทำงานอยู่หรือไม่
- บันทึกระบบ – ตรวจสอบว่ามีข้อผิดพลาดในบันทึก DC หรือไม่
- เป็นต้น
คุณสามารถค้นหาคำอธิบายแบบเต็มของการทดสอบ dcdiag ที่มีทั้งหมดได้ที่นี่
นอกจากการทดสอบเริ่มต้นแล้ว คุณยังสามารถเรียกใช้การตรวจสอบตัวควบคุมโดเมนเพิ่มเติมได้:
- โทโพโลยี – ตรวจสอบว่า KCC ได้สร้างโทโพโลยีเต็มรูปแบบสำหรับ DC ทั้งหมดหรือไม่
- CheckSecurityError
- CutoffServers – พบ DC ที่ไม่ได้จำลองเนื่องจากพันธมิตรไม่พร้อมใช้งาน
- DNS – มีการตรวจสอบ DNS 6 รายการ (
/DnsBasic
,/DnsForwarders
,/DnsDelegation
,/DnsDymanicUpdate
,/DnsRecordRegistration
,/DnsResolveExtName
) - OutboundSecureChannels
- VerifyReplicas – ตรวจสอบว่าพาร์ติชันของแอปพลิเคชันจำลองอย่างถูกต้องหรือไม่
- VerifyEnterpriseReferences
ตัวอย่างเช่น หากต้องการตรวจสอบว่า DNS ทำงานอย่างถูกต้องบนตัวควบคุมโดเมนทั้งหมดหรือไม่ ให้ใช้คำสั่งต่อไปนี้:
dcdiag.exe /s:DC01 /test:dns /e /v
จะส่งผลให้ตารางสรุปแสดงผลการทดสอบว่า DNS แก้ไขชื่อใน DC ทั้งหมดได้อย่างไร (หากใช้ได้ คุณจะเห็น ผ่าน ในทุกเซลล์) หากคุณเห็นล้มเหลว คุณต้องเรียกใช้การทดสอบนี้กับ DC ที่ระบุ:
dcdiag.exe /s:DC01 /test:dns /DnsForwarders /v
หากต้องการข้อมูลเพิ่มเติมจากผลการทดสอบตัวควบคุมโดเมนและบันทึกลงในไฟล์ข้อความ ให้ใช้คำสั่งนี้:
dcdiag /s:DC01 /v >> c:\ps\dc01_dcdiag_test.log
คำสั่ง PowerShell ต่อไปนี้แสดงเฉพาะข้อมูลสรุปเกี่ยวกับการทดสอบ dcdiag ที่ดำเนินการ:
Dcdiag /s:DC01 | select-string -pattern '\. (.*) \b(passed|failed)\b test (.*)'
ในการรับสถานะของตัวควบคุมโดเมนทั้งหมด ให้ใช้:
dcdiag.exe /s:woshub.com /a
หากคุณต้องการแสดงเฉพาะข้อผิดพลาดที่พบ ให้ใช้ /q ตัวเลือก:
dcdiag.exe /s:dc01 /q
ในตัวอย่างของฉัน เครื่องมือตรวจพบข้อผิดพลาดในการจำลอง:
There are warning or error events within the last 24 hours after the SYSVOL has been shared. Failing SYSVOL replication problems may cause Group Policy problems. ......................... DC01 failed test DFSREvent
หากต้องการให้ dcdiag แก้ไขข้อผิดพลาดชื่อบริการหลักสำหรับบัญชี DC โดยอัตโนมัติ ให้ใช้ /แก้ไข ตัวเลือก:
dcdiag.exe /s:dc01 /fix
การตรวจสอบข้อผิดพลาดการจำลองแบบ Active Directory ระหว่าง DC
repadmin . ในตัว เครื่องมือที่ใช้ตรวจสอบการจำลองแบบในโดเมน Active Directory
นี่คือคำสั่งพื้นฐานในการตรวจสอบการจำลอง AD:
repadmin /replsum
เครื่องมือได้ส่งคืนสถานะการจำลองแบบปัจจุบันระหว่าง DC ทั้งหมด ตามหลักการแล้ว เดลต้าที่ใหญ่ที่สุด ค่าควรน้อยกว่า 1 ชั่วโมง (ขึ้นอยู่กับการตั้งค่าโทโพโลยี AD และความถี่การจำลองแบบระหว่างไซต์) และจำนวนข้อผิดพลาด =0 ในตัวอย่างของฉัน คุณจะเห็นว่าการจำลองแบบล่าสุดรายการหนึ่งใช้เวลา 14 วัน แต่ตอนนี้ก็โอเค .
วิธีตรวจสอบการจำลองสำหรับ DC ทั้งหมดในโดเมน:
repadmin /replsum *
วิธีทดสอบการจำลองแบบระหว่างไซต์:
repadmin /showism
หากต้องการดูโทโพโลยีการจำลองแบบและข้อผิดพลาด (ถ้ามี) ให้รันคำสั่งนี้:
repadmin /showrepl
คำสั่งจะตรวจสอบ DC และส่งคืนเวลาและวันที่ของการจำลองแบบที่สำเร็จครั้งล่าสุดสำหรับแต่ละพาร์ติชันไดเรกทอรี (last attempt xxxx was successful
)
หากต้องการแสดงข้อมูลการจำลองเพิ่มเติม ให้ใช้คำสั่งนี้:
repadmin /showrepl *
เมื่อต้องการเรียกใช้การจำลองแบบรหัสผ่านจากตัวควบคุมโดเมนแบบเขียนได้ไปยังตัวควบคุมโดเมนแบบอ่านอย่างเดียว (RODC) /rodcpwdrepl ใช้ตัวเลือก
/ทำซ้ำ ตัวเลือกเริ่มการจำลองแบบของพาร์ติชันไดเรกทอรีที่ระบุไปยัง DC เฉพาะทันที
หากต้องการซิงโครไนซ์ DC ที่ระบุกับพาร์ทเนอร์การจำลองแบบทั้งหมด ให้ใช้คำสั่งด้านล่าง:
replmon /syncall <nameDC>
วิธีดูคิวการจำลองแบบ:
repadmin /queue
ตามหลักการแล้ว คิวการจำลองแบบควรว่างเปล่า
ตรวจสอบว่ามีการสร้างข้อมูลสำรองล่าสุดของตัวควบคุมโดเมนปัจจุบัน:
Repadmin /showbackup *
คุณยังสามารถตรวจสอบสถานะการจำลองแบบโดยใช้ PowerShell ตัวอย่างเช่น คำสั่งต่อไปนี้จะแสดงข้อผิดพลาดการจำลองแบบทั้งหมดที่พบในตาราง Out-GridView:
Get-ADReplicationPartnerMetadata -Target * -Partition * | Select-Object Server,Partition,Partner,ConsecutiveReplicationFailures,LastReplicationSuccess,LastRepicationResult | Out-GridView
ฉันได้อัปโหลดสคริปต์ PowerShell ที่ฉันมักใช้ตรวจสอบสถานะการจำลองแบบใน AD ไปยังที่เก็บ GitHub ของฉัน สคริปต์สร้างไฟล์ HTML และสามารถส่งทางอีเมลโดยใช้ Send-MailMessage cmdlet
https://github.com/maxbakhub/winposh/blob/main/ADHealthCheck.ps1
คุณยังสามารถตรวจสอบสถานะของบริการพื้นฐานของ ADDS บนตัวควบคุมโดเมนได้โดยใช้ Get-Service cmdlet:
- บริการระบบโดเมนไดเรกทอรีที่ใช้งานอยู่ (
ntds
) - บริการเว็บไดเรกทอรีที่ใช้งานอยู่ (
adws
) – cmdlet ทั้งหมดจากโมดูล AD PowerShell เชื่อมต่อกับบริการนี้ - DNS (
dnscache
.) และdns
) - ศูนย์กระจายคีย์ Kerberos (
kdc
) - บริการ Windows Time (
w32time
) - NetLogon (
netlogon
.) )
Get-Service -name ntds,adws,dns,dnscache,kdc,w32time,netlogon -ComputerName dc01
ดังนั้น ในบทความนี้ เราจึงได้แสดงเครื่องมือพื้นฐาน คำสั่ง และสคริปต์ PowerShell ที่คุณสามารถใช้เพื่อวินิจฉัยความสมบูรณ์ของโดเมน Active Directory คุณสามารถใช้ได้ในทุกเวอร์ชันของ Windows Server ที่รองรับ รวมถึง Domain Controller ที่ทำงานในโหมด Server Core