前言
Active Directory是一项可靠但复杂且关键的服务,整个企业网络的可操作性依赖于它。系统管理员应不断检查Active Directory是否正常工作。在本文中,我将记录和分享如何检查和诊断Active Directory域控制器和复制的运行状况的主要方法。
dcdiag介绍
dcdiag是一个基本的内置工具,用于检查Active Directory域控制器的运行状况。要快速检查AD域控制器的状态,请使用以下命令
dcdiag /s:AD
该命令针对指定的域控制器运行不同的测试,并返回每个测试的状态(通过/失败)。
- Connectivity – 检查 DC 是否在 DNS 中注册,建立测试 LDAP 和 RPC 连接
- Advertising – 检查 DC 上发布的角色和服务
- FRSEvent – 检查文件复制服务是否有任何错误(SYSVOL复制错误)
- FSMOCheck – 检查 DC 是否可以连接到 KDC、PDC 和全局目录服务器
- MachineAccount — 检查 DC 帐户是否在 AD 中正确注册以及
域信任关系是否正确 - NetLogons – 检查登录权限以允许复制继续进行
- Replications – 检查域控制器之间的复制状态以及是否存在任何错误
- KnowsOfRoleHolders – 检查具有FSMO 角色的域控制器的可用性
- Services – 检查域控制器上的服务是否正在运行
- Systemlog – 检查DC日志中是否有错误
你可以点击此处 找到所有可用关于dcdiag测试的完整说明
除了默认测试之外,还可以运行其他域控制器检查
- Topology – 检查 KCC 是否已为所有 DC 生成完整拓扑
- CheckSecurityError – 检查安全错误
- CutoffServers – 查找由于其伙伴不可用而未复制的 DC
- DNS – 6 个 DNS 检查可用
/DnsBasic
/DnsForwarders
/DnsDelegation
/DnsDymanicUpdate
/DnsRecordRegistration
/DnsResolveExtName
- OutboundSecureChannels – 出站安全通道
- VerifyReplicas – 检查应用程序分区是否已正确复制
- VerifyEnterpriseReferences – 验证企业参考
检查运行状况
例如,要检查 DNS 是否在所有域控制器上正常工作,请使用以下命令:
dcdiag.exe /s:AD /test:dns /e /v
它将生成一个汇总表,显示有关DNS如何解析所有DC上的名称的测试结果(如果正常,你将在每个单元格中看到“PASS” 如下图所示)。
如果看到Fail,则需要针对指定的DC运行此测试
dcdiag.exe /s:AD /test:dns /DnsForwarders /v
要从域控制器测试结果获取更多信息并将其保存到文本文件,请使用以下命令
dcdiag /s:AD /v >> C:\AD_dcdiag_test.log
要获取所有域控制器的状态,请使用
dcdiag.exe /s:woshub.com /a
如果只想显示发现的错误,请使用/q选项
dcdiag.exe /s:AD /q
要使dcdiag自动修复DC帐户的服务主体名称错误,请使用/fix选项:
dcdiag.exe /s:AD /fix
检查复制错误
内置的repadmin工具用于检查Active Directory域中的复制
repadmin /replsum
该工具已返回所有DC之间的当前复制状态。理想情况下,最大增量值应小于1小时(取决于AD拓扑和站点间复制频率设置),并且错误数 = 0。在我的演示环境中只有一台Active Directory 所有无法展现。
要检查域中所有 DC 的复制
repadmin /replsum *
要测试站点间复制
repadmin /showism
要查看复制拓扑和错误(如果有),请运行以下命令
repadmin /showrepl
该命令将检查DC并返回每个目录分区 ( last attempt xxxx was successful
) 上次成功复制的时间和日期。
要将指定的DC与其所有复制伙伴同步,请使用以下命令
replmon /syncall <nameDC>
检查当前域控制器的最新备份何时创建
Repadmin /showbackup *