域控制器诊断工具 (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 健全性。

此功能适用于哪些用户?

此功能适用于下列用户:
DNS 管理员
域控制器管理员
DCDiag.exe 用户

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,则命令将尝试解析名称 [url]www.microsoft.com[/url]。如果指定了 /DnsInternetName,则命令将尝试解析用户所提供的 Internet 名称。
/DnsAll
执行除 DnsResolveExtName 测试 以外的所有测试并生成报告。
/f: Logfile
将输出重定向到用户提供的日志文件。
/ferr: Logerr
将致命错误输出重定向到单独的日志文件。
/s: DCName
指定要为其运行测试的域控制器。
/e
针对 Active Directory 林中的所有域控制器运行 /test:DNS 指定的所有测试。
/v
详细信息。除了显示有关错误和警告的信息以外,还显示有关成功的测试结果的信息。(如果未使用 /v 参数,将仅显示错误和警告信息。)在总结表中报告错误或警告时,Microsoft 建议使用 /v 开关

企业 DNS 结构测试 (/e)

当将 /test:DNS 与 /e 参数结合运行时,会针对 Active Directory 林中的所有域控制器运行由 test:/DNS 指定的所有测试。

注:

当使用 /e 参数时,DNS 测试的运行时间对大型企业而言很重要。处于脱机状态的域控制器和 DNS 服务器将因为 RPC 和其他协议长时间处于超时阶段而增加运行时间。

连接测试

连接测试是一个强制性测试,它将先于任何其他 dcdiag 测试自动运行。
连接测试可以决定是否在 DNS 中注册域控制器、是否可以对域控制器执行 Ping 操作以及是否具有 LDAP/RPC 连接。
如果连接测试在指定的控制器上失败,则不会对该域控制器运行其他测试。

注:

SP1 中的连接测试没有发生更改,本文档提及该测试是供参考用。

基本 DNS 测试 (/DnsBasic)

基本 DNS 测试用于确认下列重要服务是否正在运行并且可以在由 dcdiag 测试的域控制器上使用:
DNS 客户端服务
Netlogon 服务
KDC 服务
DNS 服务器服务(如果域控制器上安装了 DNS)
基本 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.
记录 说明
CNAME GUID
注册为 DNS 服务器的规范名称 (CNAME) 的 GUID。
A
主机地址 (A) 资源记录。将 DNS 域名映射到 Internet 协议 (IP) 版本 4 的 32 位地址中。
LDAP SRV
LDAP 服务的服务定位器 (SRV) 资源记录。
GC SRV
全局编录 (GC) 服务器的服务定位器 (SRV) 资源记录。
PDC SRV
主域控制器 (PDC) 的服务定位器 (SRV) 资源记录。

外部名称解析测试 (/DnsResolveExtName)


注:

外部名称解析测试仅在明确指定(使用 /DnsResolveExtName)的情况下运行;它不会作为 /DnsAll 的一部分运行。
外部名称解析测试使用示例 Internet 名称 ([url]www.microsoft.com[/url]) 或用户提供的 Internet 名称,来验证来自指定客户端的基本外部 DNS 解析。
外部名称解析测试无法解析使用代理服务器的环境中的外部 Internet 名称。
您可以使用 Intranet 名称或 Internet 名称来测试名称解析。
要解析用户提供的 Internet 或 Intranet 名称(而不是默认名称 [url]www.microsoft.com[/url]),必须使用 /DnsInternetName 参数。

如何读取 DNS 增强 dcdiag 的输出

以下步骤概括了如何解释 DNS 增强的 dcdiag 所提供的结果:
1.
运行 dcdiagtest:DNS /e /f:dns.txt。Microsoft 建议始终使用 /v 开关获取详细信息。
2.
在记事本或兼容的编辑器中打开报告。
3.
滚动到报告末尾并阅读总结表。
4.
在总结表中标识针对任何子测试返回的“警告”或“失败”状态的服务器。
5.
检查该服务器的输出部分,以查看检测到的问题(提示:使用“编辑”菜单上的“查找”命令在字符串“DC: DC_computername”(不包括引号)中搜索,以查找指定 DC 的详细部分。)
6.
根据需要解决有关 DNS 客户端或 DNS 服务器的问题。
7.
再次运行 dcdiag /test:DNS /v /e(或 /s: DCName)以验证修补程序。重复第 1 步到第 6 步,直到了解并协调了所有故障。

警告和错误

Dcdiag 采用保守方法来识别可能有问题、不符合最佳实践配置或者 dcdiag 无法完整验证的 DNS 客户端或 DNS 服务器配置。因此,dcdiag 的总结和详细部分可能会报告目前运行正常的 DNS 配置的警告。当由 dcdiag 进行识别时,管理员应该查看并验证此类配置。
下表包含的配置可以触发 dcdiag,以报告每个 DNS 子集的警告或错误。

基本

警告 附加信息
警告:适配器 <适配器名称> 具有动态 IP 地址
建议为所有 DNS 服务器使用静态 IP 地址。
警告:适配器 <适配器名称> 具有无效的 DNS 服务器:<名称> <IP 地址>
可能无法访问 DNS 服务器。
警告:无 DNS RPC 连接(出错或当前运行的是非 Microsoft DNS 服务器)
如果 DNS 服务器为 BIND 服务器或其他非 Microsoft DNS 服务器,则可以忽略此警告。
警告:未找到此 DC/DNS 服务器上的 Active Directory 区域
N/A
警告:未找到此 DC/DNS 服务器上的根区域
N/A
错误 附加信息
错误:使用指定的凭据身份验证失败
DCDIAG 需要企业管理员凭据才能运行所有测试。
错误:没有 LDAP 连接
N/A
错误:没有 DS RPC 连接
N/A
错误:没有 WMI 连接
DNS 测试要求 WMI 连接才能在远程计算机上运行。
错误:无法通过 WMI 读取操作系统版本
这可能是因为远程计算机上缺少 WMI 连接。
错误:<操作系统名称> 不受支持(只有 Windows 2000、Windows XP 和 Windows Server 2003 支持此工具)
N/A
错误:打开服务控制管理程序失败
无法查看服务是否正在运行。
错误:Kdc/netlogon/DNS/dnscache 没有运行
某些关键服务没有运行。
错误:无法通过 WMI 读取网络适配器信息
N/A
错误:所有 DNS 服务器都无效
客户端所指向的 DNS 服务器要么无法访问、要么不是 DNS 服务器、要么具有无效的 IP 地址。
错误:未找到此 DC 的 A 记录
每个 DC 都应该注册一个 A 记录。请确保客户端所指向的所有 DNS 服务器上都注册了 A 记录。
错误:区域枚举无法找到根和 AD 区域
N/A
错误:无法查询此 DC 上的 DNS 区域
确保要在其中注册 DC 的区域存在。

转发器

错误 附加信息
错误:转发器列表具有无效的转发器:<转发器的 IP 地址>
DNS 服务器上配置的转发器具有无效的 IP 地址或者不是一个 DNS 服务器,或者名称解析无法正常工作(也就是说,如果它是非根域 DC,将无法解析林根域 SRV 记录)。
错误:既未配置根提示,也未配置转发器。请配置转发器或根提示
请确保 DNS 服务器上已配置转发器或根提示,除非该服务器寄存根区域。
错误:根提示列表具有无效的根提示服务器:<根提示服务器的 IP 地址>
DNS 服务器上配置的根提示服务器具有无效的 IP 地址或者不是一个 DNS 服务器,或者名称解析无法正常工作(也就是说,如果它是非根域 DC,将无法解析林根域 SRV 记录)。
错误:<根提示服务器名称> IP:<不可用> 状态:<服务器的状态>
配置的根提示服务器没有相应的 IP 地址。状态字段将告诉您服务器的状态
错误:<根提示服务器名称> IP:<不可用> 状态:未找到 A 记录
配置的根提示服务器没有 A 记录。
错误:<DNS 服务器名称> 上的根提示服务器枚举失败
无法在目标 DNS 服务器上列出根提示服务器。

委派

警告 附加信息
警告:DNS 服务器:<DnsServer 名称> IP:<Ipaddress> 故障:缺少粘附 A 记录
配置的委派缺少粘附 A 记录。
错误 附加信息
DNS 服务器:<服务器名称> IP:<IP 地址> 错误:断开的委派 - 详细
配置了委派但名称服务器不相应。
DNS 服务器:<服务器名称> IP:<IP 地址> 错误:断开的委派域 <委派域名称> - 非详细
N/A
错误:无法枚举服务器的区域根上的记录
暂缺

DynamicUpdate

警告 附加信息
警告:区域上已启用动态更新,但不是安全的 <区域名称>
建议采用安全的动态更新。
警告:无法在区域 <区域名称> 中添加包含错误 <错误代码> 的测试 record _dcdiag_test_record
测试动态添加虚拟记录
警告:无法在区域 <区域名称> 中删除包含错误 <错误代码> 的测试 record _dcdiag_test_record
还会删除添加的记录。
错误 附加信息
错误:区域 <区域名称> 上未启用动态更新
Active Directory 区域上未启用动态更新,因此客户端无法注册其记录。

记录注册

警告 其他信息
警告:DNS 服务器中缺少 DC SRV 记录 <记录名称>
如果已配置 DNSAvoidRegisterRecord 注册表项或其组策略用以阻止注册此记录,则请忽略此错误。
警告:DNS 服务器中缺少 GC SRV 记录 <记录名称>
如果已配置 DNSAvoidRegisterRecord 注册表项或其组策略以阻止注册此记录,则请忽略此错误。
警告:DNS 服务器中缺少 PDC SRV 记录 <记录名称>
如果已配置 DNSAvoidRegisterRecord 注册表项或其组策略以阻止注册此记录,则请忽略此错误。
警告:某些网络适配器中未找到记录注册
N/A
错误 附加信息
错误:DNS 服务器 <DNS 服务器 IP 地址> 中缺少 A 记录:<A 记录名称>
DC 尚未在指定的 DNS 服务器上注册其 A 记录。
错误:DNS 服务器 <DNS 服务器 IP 地址> 中缺少 CNAME 记录:<CNAME 记录名称>
DC 尚未在指定的 DNS 服务器上注册其 CNAME 记录。
错误:DNS 服务器 <DNS 服务器 IP 地址> 中缺少 DC SRV 记录:<SRV 记录名称>
DC 尚未在指定的 DNS 服务器上注册其 DC SRV 记录。
错误:DNS 服务器 <DNS 服务器 IP 地址> 中缺少 GC SRV 记录:<SRV 记录名称>
DC 尚未在指定的 DNS 服务器上注册其 GC SRV 记录。
错误:DNS 服务器 <DNS 服务器 IP 地址> 中缺少 PDC SRV 记录:<SRV 记录名称>
DC 尚未在指定的 DNS 服务器上注册指定的 PDC SRV 记录。所有这些记录都可以通过停止并启动 netlogon 服务来注册。
错误:所有网络适配器都无法找到记录注册
如果有多个网络适配器,则测试将检查是否所有记录都显示在每个适配器上配置的所有 DNS 服务器上。如果 DNS 服务器中缺少记录注册,就会发生此错误。

外部名称解析

错误 附加信息
错误:无法解析 Internet 名称 <名称>
无法解析指定的 Internet 名称。请确保已正确配置代理客户端、服务器、根提示和转发器。

企业 DNS 结构测试

警告 附加信息
警告:从从属域到父域既未配置转发器也未配置根提示
需要在寄存其各自区域的授权区域的父域或从属域中配置转发器或根提示,才能使名称解析正常工作。
错误 附加信息
错误:父域上未配置委派
从父域到从属域都应该配置委派。
错误:存在委派但缺少粘附记录
配置了委派,但名称服务器缺少其粘附记录。
错误:从父域到从属域的转发器配置错误
必须配置从从属域到父域的转发器。
错误:从父域到从属域的根提示配置错误
必须配置从从属域到父域的根提示。
错误:配置了从从属域到父域的转发器,但某些转发器未通过 DNS 服务器测试(请参阅 DNS 服务器部分了解错误详细信息)
配置的转发器具有无效的 IP 地址或者不是一个有效的 DNS 服务器,或者名称解析无法正常工作(如果它位于非根域中,将无法解析林根域 SRV 记录)。
错误:配置了从从属域到父域的根提示,但某些转发器未通过 DNS 服务器测试(请参阅 DNS 服务器部分了解错误详细信息)
配置的根提示具有无效的 IP 地址或者不是一个有效的 DNS 服务器,或者名称解析无法正常工作。

示例:

以下示例演示了 Windows Server 2003 SP1 dcdiag 的使用。您应该将以斜体表示的参数替换为适用于您环境的参数:
要以非详细模式在单个域控制器上运行所有 DNS 测试,请执行以下操作:
Dcdiag /test:DNS /s: TargetDCName /f: LogFileName
要以详细模式在单个域控制器上运行所有 DNS 测试,请执行以下操作:
Dcdiag /test:DNS /s: TargetDCName /v /f: LogFileName
要以非详细模式在整个林中运行所有 DNS 测试,请执行以下操作:
Dcdiag /test:DNS /e /f: LogFileName
要以详细模式在整个林中运行所有 DNS 测试,请执行以下操作:
Dcdiag /test:DNS /v /e /f: LogFileName
要在单个域控制器上运行 DNS 基本测试,请执行以下操作:
Dcdiag /test:DNS /DnsBasic /s: TargetDCName /f: LogFileName
要在单个域控制器上运行 DNS 转发器测试,请执行以下操作:
Dcdiag /test:DNS /DnsForwarders /s: TargetDCName /f: LogFileName
要在单个域控制器上运行 DNS 委派测试,请执行以下操作:
Dcdiag /test:DNS /DnsDelegation /s: TargetDCName /f: LogFileName
要在单个域控制器上运行 DNS 动态更新测试,请执行以下操作:
Dcdiag /test:DNS /DnsDynamicUpdate /s: TargetDCName /f: LogFileName
要在单个域控制器上运行 DNS 记录注册测试,请执行以下操作:
Dcdiag /test:DNS /DnsRecordRegistration /s: TargetDCName /f: LogFileName
要解析示例 Internet 或 Intranet 名称,请执行以下操作:
Dcdiag /test:DNS /DnsResolveExtName /DnsInternetName: InternetName /f: LogFileName

注:

当运行单个测试时,在运行指定的单个测试之前,将默认运行 /DnsBasic 测试。
如果未指定单个测试,则默认情况下将运行所有 DNS 测试(/DnsResolveName 除外)。

新的 Active Directory 复制安全性测试

详细说明

DCDiag.exe 已在 Windows Server 2003 Service Pack 1 中得到了增强,包括用于识别可能会导致 Active Directory 复制失败的安全配置的新功能。
可以在 Active Directory 林中的一个或所有域控制器上执行新的 CheckSecurityError 测试。该测试执行下列操作:
检查目标域控制器和源域控制器的域中的“密钥发行中心 (KDC)”是否可用。
验证目标 DC 是否足以收发较大的 UDP 格式的数据包(供 Kerberos 使用)。
验证目标 DC 的系统时钟与目标域和源域中的 KDC 以及源 DC 的系统时间相差不超过 5 分钟。
确认为源域控制器上每个命名上下文的根配置了必要的权限。
确认未禁用源 DC 和目标 DC 计算机帐户,可以得到委派信任,并且包含所有必要的服务主体名称。
测试完成时,DCDiag.exe 将显示所测试的每个域控制器的结果总结以及遇到的安全错误的诊断。
可以使用以下语法从命令行运行此测试:
Dcdiag /test:CheckSecurityError
或者,您可以在命令中添加 /ReplSource: SourceDC 开关,以将特定的域控制器标识为复制尝试的来源。/replsource: 参数中指定的域控制器不必是当前源域控制器,即当前所测试的域控制器从该源控制器复制(目标域控制器当前具有来自该源控制器的入站连接对象)。此测试将收 集来自域控制器、密钥发行中心 (KDC) 源服务器和目标服务器以及 Active Directory 的信息。

注:

Dcdiag /test:CheckSecurityError 可以在成员计算机(使用 /e 或 /s: servername 命令)以及域控制器的控制台上执行。要获得最佳效果,请在入站 Active Directory 复制由于可疑安全错误而失败的每个域控制器的控制台上运行 Dcdiag /test:CheckSecurityError

你可能感兴趣的:(职场,休闲)