域控制器诊断工具 (dcdiag.exe)
DCDiag.exe 有何功能?
此命令行工具可以分析林中一个或所有域控制器的状态,并报告任何问题以帮助进行疑难解答。DCDiag.exe 由各种测试组成,这些测试可以单独运行,也可以作为套件的一部分来验证域控制器的健全性。工具要求
• |
除非是下面声明的情况,否则,DCDiag 中的所有命令可以在 Windows XP Professional 和 Windows Server 2003 家族(成员服务器和域控制器)上运行。
|
• |
从 Windows XP 或 Windows Server 2003 成员计算机或者 Windows Server 2003 域控制器的控制台上运行新的 DCDIAG /TEST:DNS 命令,可以验证 Windows 2000 Server(SP3 或更高版本)或 Windows Server 2003 家族域控制器的 DNS 健全性。
|
此功能适用于哪些用户?
此功能适用于下列用户:
Windows Server 2003 Service Pack 1 为此功能新增了哪种新功能?
Windows Server 2003 Service Pack 1 中对 DCDiag 进行了两项重大改进:
• |
DCDIAG /TEST:DNS 可以验证 DNS 健全性。
|
• |
DCDIAG /CheckSecurityError 可以检测可能会造成 Active Directory 复制失败的安全配置。.
|
这些新增强功能的详细信息如下所述。新的 DNS 诊断测试
详细说明
DCDiag.exe 已在 Windows Server 2003 Service Pack 1 中得到增强,包括了可用于报告有关域控制器整体 DNS 健全性的新 DNS 功能。有七种与 DNS 相关的新测试,可以单独运行这些测试,也可以同时运行。可以在 Active Directory 林中的一个或所有域控制器上执行这些测试。当测试完成时,DCDiag.exe 将显示一个结果总结以及每个被测试的域控制器的详细信息。
注: | |
新的 DNS 测试要求企业管理员凭据。
可以仅针对 Windows 2000 Server(SP3 或更高版本)或 Windows Server 2003 家族域控制器运行新 DNS 测试。
|
命令行语法
Windows Server 2003 SP1 dcdiag 使用的基本语法与早期版本的 dcdiag 的基本语法相同。运行新的 DNS 测试的语法如下:Dcdiag /test:DNS [/DnsBasic | /DnsForwarders | /DnsDelegation | /DnsDynamicUpdate | /DnsRecordRegistration | /DnsResolveExtName [/DnsInternetName:InternetName] | /DnsAll] [/f:Logfile] [/ferr:Logerr] /S:DCName[/e] [/v]
参数 | 说明 |
/test:DNS
|
针对一定范围内的域控制器执行除 /DnsInternetName 测试以外的所有七种子测试。最常见的 DCDIAG 命令行参数包括:针对单个域控制器 (DC) 运行六种默认 DNS 子测试的 DCDIAG /TEST:DNS /V /S:DCNAME,或者针对控制台计算机测试林中所有 DC 运行六种默认 DNS 子测试的 DCDIAG /TEST:DNS /V /E。如果未定义各个子测试,则 DCDIAG /TEST:DNS 与 /DnsAll 命令相同。
|
/test:DNS [DNS test]
|
执行指定的 DNS 测试。如果未指定测试,则默认为 /DnsAll。
|
/DnsBasic
|
执行基本 DNS 测试,包括网络连接性、DNS 客户端配置、服务可用性和区域存在性。
|
/DnsForwarders
|
执行 /DnsBasic 测试,还检查转发器的配置。
|
/DnsDelegation
|
执行 /DnsBasic 测试,还检查正确的委派。
|
/DnsDynamicUpdate
|
执行 /DnsBasic 测试,并同时确定是否在 Active Directory 区域中启用动态更新。
|
/DnsRecordRegistration
|
执行 /DnsBasic 测试,还检查是否已注册 A、CNAME 和已知的 SRV 记录。此外,还根据结果创建清单报告。
|
/DnsResolveExtName [/DnsInternetName:InternetName]
|
执行 /DnsBasic 测试,还尝试解析示例 Intranet 或 Internet 名称。如果未指定 /DnsInternetName,则命令将尝试解析名称 www.microsoft.com。如果指定了 /DnsInternetName,则命令将尝试解析用户所提供的 Internet 名称。
|
/DnsAll
|
执行除 DnsResolveExtName 测试 以外的所有测试并生成报告。
|
/f:Logfile
|
将输出重定向到用户提供的日志文件。
|
/ferr:Logerr
|
将致命错误输出重定向到单独的日志文件。
|
/s:DCName
|
指定要为其运行测试的域控制器。
|
/e
|
针对 Active Directory 林中的所有域控制器运行 /test:DNS 指定的所有测试。
|
/v
|
详细信息。除了显示有关错误和警告的信息以外,还显示有关成功的测试结果的信息。(如果未使用 /v 参数,将仅显示错误和警告信息。)在总结表中报告错误或警告时,Microsoft 建议使用 /v 开关
|
• |
当将 /test:DNS 与 /e 参数结合运行时,会针对 Active Directory 林中的所有域控制器运行由 test:/DNS 指定的所有测试。
|
注: | |
当使用 /e 参数时,DNS 测试的运行时间对大型企业而言很重要。处于脱机状态的域控制器和 DNS 服务器将因为 RPC 和其他协议长时间处于超时阶段而增加运行时间。
|
连接测试
• |
连接测试是一个强制性测试,它将先于任何其他 dcdiag 测试自动运行。
|
• |
连接测试可以决定是否在 DNS 中注册域控制器、是否可以对域控制器执行 Ping 操作以及是否具有 LDAP/RPC 连接。
|
• |
如果连接测试在指定的控制器上失败,则不会对该域控制器运行其他测试。
|
注: | |
SP1 中的连接测试没有发生更改,本文档提及该测试是供参考用。
|
基本 DNS 测试 (/DnsBasic)
• |
基本 DNS 测试用于确认下列重要服务是否正在运行并且可以在由 dcdiag 测试的域控制器上使用:
|
• |
基本 DNS 测试通过确认所有适配器上的 DNS 服务器都可以访问,来确认每个域控制器的网络连接性。
|
• |
基本 DNS 测试确认在客户端上配置的至少一个 DNS 服务器上注册每个域控制器的 A 记录。
|
• |
如果域控制器运行的是 DNS 服务器服务,则基本 DNS 测试将确认是否存在 Active Directory 域区域和 Active Directory 域区域的 SOA 记录。
|
• |
基本 DNS 测试将检查是否存在根 (.) 区域。
|
转发器测试 (/DnsForwarders)
注: | |
此测试仅在被测试的域控制器运行 Microsoft DNS 服务器服务时运行。
|
• |
转发器测试确定是否启用递归。
|
• |
如果配置了转发器或根提示,则转发器测试将确认 DNS 服务器上的所有转发器或根提示是否都可以正常工作,还确认是否已解析 _ldap._tcp.<林根域> DC 定位器记录。(不会为林根域控制器上配置的转发器或根提示尝试解析 _ldap_tcp.<林根域> DC 定位器记录。)
|
委派测试 (/DnsDelegation)
注: | |
此测试仅在被测试的域控制器运行 Microsoft DNS 服务器服务时运行。
|
• |
委派测试确认委派的名称服务器是一个运行正常的 DNS 服务器。
|
• |
委派测试通过确保 Active Directory 域区域(目标域控制器所在的区域)中的所有 NS 记录均具有相应的粘附 A 记录,来检查断开的委派。
|
动态更新测试 (/DnsDynamicUpdate)
• |
动态更新测试确认已为安全动态更新配置了 Active Directory 域区域,并执行测试记录 (_dcdiag_test_record) 的注册。然后,测试记录将被删除。
|
记录注册测试 (/DnsRecordRegistration)
• |
记录注册测试验证所有 DNS 服务器(在域控制器的每个适配器上配置)上的所有重要 DC 定位器记录的注册。 This test returns the following records.
|
注: | |
外部名称解析测试仅在明确指定(使用 /DnsResolveExtName)的情况下运行;它不会作为 /DnsAll 的一部分运行。
|
• |
外部名称解析测试使用示例 Internet 名称 (www.microsoft.com) 或用户提供的 Internet 名称,来验证来自指定客户端的基本外部 DNS 解析。
|
• |
外部名称解析测试无法解析使用代理服务器的环境中的外部 Internet 名称。
|
• |
您可以使用 Intranet 名称或 Internet 名称来测试名称解析。
|
• |
要解析用户提供的 Internet 或 Intranet 名称(而不是默认名称 www.microsoft.com),必须使用 /DnsInternetName 参数。
|
如何读取 DNS 增强 dcdiag 的输出
以下步骤概括了如何解释 DNS 增强的 dcdiag 所提供的结果:
Dcdiag 采用保守方法来识别可能有问题、不符合最佳实践配置或者 dcdiag 无法完整验证的 DNS 客户端或 DNS 服务器配置。因此,dcdiag 的总结和详细部分可能会报告目前运行正常的 DNS 配置的警告。当由 dcdiag 进行识别时,管理员应该查看并验证此类配置。 下表包含的配置可以触发 dcdiag,以报告每个 DNS 子集的警告或错误。基本
转发器
DynamicUpdate
记录注册
外部名称解析
企业 DNS 结构测试
示例:
以下示例演示了 Windows Server 2003 SP1 dcdiag 的使用。您应该将以斜体表示的参数替换为适用于您环境的参数:
新的 Active Directory 复制安全性测试
DCDiag.exe 已在 Windows Server 2003 Service Pack 1 中得到了增强,包括用于识别可能会导致 Active Directory 复制失败的安全配置的新功能。
可以在 Active Directory 林中的一个或所有域控制器上执行新的 CheckSecurityError 测试。该测试执行下列操作:
测试完成时,DCDiag.exe 将显示所测试的每个域控制器的结果总结以及遇到的安全错误的诊断。
可以使用以下语法从命令行运行此测试:
Dcdiag /test:CheckSecurityError
或者,您可以在命令中添加 /ReplSource:SourceDC 开关,以将特定的域控制器标识为复制尝试的来源。/replsource: 参数中指定的域控制器不必是当前源域控制器,即当前所测试的域控制器从该源控制器复制(目标域控制器当前具有来自该源控制器的入站连接对象)。此测试将收集来自域控制器、密钥发行中心 (KDC) 源服务器和目标服务器以及 Active Directory 的信息。
|