写在前面:
这是一直想写但一直在犹豫的系列,因为系列准备介绍的没有那种包治百病,灵丹妙药式的工具,只有日常维护和排错过程中常用工具。这些工具都包含在MS Support Tools或Resource Tools中,微软网站或工具自带的使用帮助中已有相应的使用说明,网络中也有许多类似的文章可以参考。从这点来说,再整理这样的系列,未免有画蛇添足之嫌。但另一方面,MS Support Tools和Resource Tools包含的工具如此之多,多数又缺少工具功能和使用范围介绍,在实际环境中遇到故障时,有时无法确定该使用哪种适当工具进行故障定位和排错。且对于部分人而言,阅读英文说明文档是一件痛苦的事情,以至于对这些经典工具望而却步,在论坛中也经常可以看到“某某AD工具如何使用”诸如此类的求助帖子。
整理这个系列,一方面是帮助自己梳理常用的这些工具使用文档,方便日常的工作和管理。另一方面也希望能对刚接触活动目录管理的新手如何使用这些工具起指导入门的作用。
至于文章中工具功能和参数的解释,大部分是通过查看工具自带帮助翻译理解而成,由于英文水平和理解能力有限,肯定存在理解偏差或完全错误的地方,欢迎大家指正,毕竟良好的交流和沟通氛围,是学习技术重要的途径!
这是一直想写但一直在犹豫的系列,因为系列准备介绍的没有那种包治百病,灵丹妙药式的工具,只有日常维护和排错过程中常用工具。这些工具都包含在MS Support Tools或Resource Tools中,微软网站或工具自带的使用帮助中已有相应的使用说明,网络中也有许多类似的文章可以参考。从这点来说,再整理这样的系列,未免有画蛇添足之嫌。但另一方面,MS Support Tools和Resource Tools包含的工具如此之多,多数又缺少工具功能和使用范围介绍,在实际环境中遇到故障时,有时无法确定该使用哪种适当工具进行故障定位和排错。且对于部分人而言,阅读英文说明文档是一件痛苦的事情,以至于对这些经典工具望而却步,在论坛中也经常可以看到“某某AD工具如何使用”诸如此类的求助帖子。
整理这个系列,一方面是帮助自己梳理常用的这些工具使用文档,方便日常的工作和管理。另一方面也希望能对刚接触活动目录管理的新手如何使用这些工具起指导入门的作用。
至于文章中工具功能和参数的解释,大部分是通过查看工具自带帮助翻译理解而成,由于英文水平和理解能力有限,肯定存在理解偏差或完全错误的地方,欢迎大家指正,毕竟良好的交流和沟通氛围,是学习技术重要的途径!
工具名称:DcDiag
工具出处:MS Support Tools
工具类型:命令行工具
当前环境:Win2003 SP1 + R2,DC
主要功能:
DcDiag是域控制器诊断工具,通过各种诊断测试,用来分析当前林或域中域控制器状态,生成相应的检测报告。DcDiag可以说是域控制器诊断全能工具,当DC出现问题却无法判断具体故障原因时,首选使用DcDiag工具对DC进行一次全面诊断,查看检测报告,从而缩小问题范围以及定位问题!
DcDiag工具由对系统的一系列测试和校验构成,可以根据用户的选择,针对不同的范围(林,域)对域控制器进行不同项目的诊断测试,主要测试项目有:
1:连通性
2:复制
3:拓朴完整性
4:检查NC Head安全描述符
5:检查登录权
6:获取DC位置
7:验证安全边界
8:验证FSMO角色
9:验证信任关系
10:DNS
一:DcDiag工具语法格式
DcDiag.exe /s:<Domain Controller> [/u:<Domain>\<Username> /p:*|<Password>|""]
[/hqv] [/n:<Naming Context>] [/f:<Log>] [/ferr:<Errlog>]
[/skip:<Test>] [/test:<Test>]
DcDiag.exe /s:<Domain Controller> [/u:<Domain>\<Username> /p:*|<Password>|""]
[/hqv] [/n:<Naming Context>] [/f:<Log>] [/ferr:<Errlog>]
[/skip:<Test>] [/test:<Test>]
二:主要参数说明:
/s:Domain Controller - 指定测试的DC,默认测试本机。
/n:Naming Context - 指定测试时关联的名称上下文。似乎只能使用域名称上下文,无法测试Schema,Configration等名称上下文。
域名称上下文可以使用域的DNS名称,NetBios名称或DN名称。
/u:Domain\Username /p: - 用指定的帐号密码连接DC,此时该帐号的密码为显示密码。
如:DcDiag /u:superlan.vmtest.com\administrator /p:1qa2ws3ed
/a - 测试当前站点所有DC
/e - 测试整个企业(整个林)中所有DC的状况
/q - 只显示错误信息
/v - 显示详细检测报告
/i - 忽略多余的错误信息
/fix - 仅对 MachineAccount 测试有影响。此参数会使测试过程对目录服务器的计算机帐户对象上的服务主体名称 (SPN) 进行修复
/f - 将信息报告输出到指定的文件
/ferr - 将致命错误输出重定向指定的文件
/c - 诊断除 DcPromo 和 RegisterInDNS 之外的所有测试项目,包括非默认的测试。
非默认测试项包括:拓扑,对方服务器是否关闭,安全通道输出范围以及DNS动态注册等。
/skip:Test - 指定不进行诊断的测试项,必须与/c配合使用。
/test:Test - 只运行单一测试项,但连通测试不跳过
具体测试项有:
Connectivity - 连通性。测试DC是否在DNS中登记注册,Ping测试以及LDAP/RPC的可用性。
Replications - 检测DC之间的复制情况
Topology - 检查KCC是否为所有DC生成完整的链接拓扑
CutoffServers - 检查因复制伙伴不可用而没有接受到的复制的DC
NCSecDesc - 检查在名称上下文头中的安全描述符是否有适当的复制权限
NetLogon - 检查是否有进行复制的适当登录权限
Advertising - 检查每个DC是否已公告它自己能够执行的角色。如果 Net Logon 服务停止或未能启动,则此测试将失败。
KnowsOfRoleHolders - 检查DC是否可以与FSMO操作主机正常联系
Intersite - 检查会阻止或暂时中止站点间复制的故障,并尝试预测 KCC 能够恢复之前需要的时间。
FSMOCheck - 检查DC是否能联系密钥发行中心 (KDC)、时间服务器、首选时间服务器、主目录服务器(主域控制器 (PDC))和全局编录服务器。
RidManager - 检查是否可访问 RID 主机,以及 RID 主机是否包含正确的信息。
MachineAccount - 检查机器的帐户是否包含正确信息。
如果本地计算机帐号丢失,使用/RecreateMachineAccount进行尝试修复
如果本地计算机帐号标志不正确,使用/FixMachineAccount进行尝试修复
Services - 检查DC服务是否在运行正常
OutboundSecureChannels 检查当前域中所有DC的安全通道。
ObjectsReplicated - 检查 Machine Account 和 DSA 对象是否已复制
frssysvol - 检查SYSVOL文件夹共享状态。
frsevent - 检查FRS是否存在错误记录
kccevent - 检查 KCC是否存在错误记录。
systemlog - 检查系统是否无错误运行。
DCPromo - 检查DC上的DNS记录是否正常
RegisterInDNS - 检查DC是否在DNS中注册
Cro***efValidation - 检查交叉引用是否有效
CheckSDRefDom - 检查目录分区的安全
VerifyReplicas - 检查复制服务器上目录分区的安全性
VerifyReference - 检查对于 FRS 和“复制”基础结构系统参数的正确与完整性
VerifyEnterpriseReferences - 检查整个企业范围内的所有DC上系统参数是否正确与完整
/s:Domain Controller - 指定测试的DC,默认测试本机。
/n:Naming Context - 指定测试时关联的名称上下文。似乎只能使用域名称上下文,无法测试Schema,Configration等名称上下文。
域名称上下文可以使用域的DNS名称,NetBios名称或DN名称。
/u:Domain\Username /p: - 用指定的帐号密码连接DC,此时该帐号的密码为显示密码。
如:DcDiag /u:superlan.vmtest.com\administrator /p:1qa2ws3ed
/a - 测试当前站点所有DC
/e - 测试整个企业(整个林)中所有DC的状况
/q - 只显示错误信息
/v - 显示详细检测报告
/i - 忽略多余的错误信息
/fix - 仅对 MachineAccount 测试有影响。此参数会使测试过程对目录服务器的计算机帐户对象上的服务主体名称 (SPN) 进行修复
/f - 将信息报告输出到指定的文件
/ferr - 将致命错误输出重定向指定的文件
/c - 诊断除 DcPromo 和 RegisterInDNS 之外的所有测试项目,包括非默认的测试。
非默认测试项包括:拓扑,对方服务器是否关闭,安全通道输出范围以及DNS动态注册等。
/skip:Test - 指定不进行诊断的测试项,必须与/c配合使用。
/test:Test - 只运行单一测试项,但连通测试不跳过
具体测试项有:
Connectivity - 连通性。测试DC是否在DNS中登记注册,Ping测试以及LDAP/RPC的可用性。
Replications - 检测DC之间的复制情况
Topology - 检查KCC是否为所有DC生成完整的链接拓扑
CutoffServers - 检查因复制伙伴不可用而没有接受到的复制的DC
NCSecDesc - 检查在名称上下文头中的安全描述符是否有适当的复制权限
NetLogon - 检查是否有进行复制的适当登录权限
Advertising - 检查每个DC是否已公告它自己能够执行的角色。如果 Net Logon 服务停止或未能启动,则此测试将失败。
KnowsOfRoleHolders - 检查DC是否可以与FSMO操作主机正常联系
Intersite - 检查会阻止或暂时中止站点间复制的故障,并尝试预测 KCC 能够恢复之前需要的时间。
FSMOCheck - 检查DC是否能联系密钥发行中心 (KDC)、时间服务器、首选时间服务器、主目录服务器(主域控制器 (PDC))和全局编录服务器。
RidManager - 检查是否可访问 RID 主机,以及 RID 主机是否包含正确的信息。
MachineAccount - 检查机器的帐户是否包含正确信息。
如果本地计算机帐号丢失,使用/RecreateMachineAccount进行尝试修复
如果本地计算机帐号标志不正确,使用/FixMachineAccount进行尝试修复
Services - 检查DC服务是否在运行正常
OutboundSecureChannels 检查当前域中所有DC的安全通道。
ObjectsReplicated - 检查 Machine Account 和 DSA 对象是否已复制
frssysvol - 检查SYSVOL文件夹共享状态。
frsevent - 检查FRS是否存在错误记录
kccevent - 检查 KCC是否存在错误记录。
systemlog - 检查系统是否无错误运行。
DCPromo - 检查DC上的DNS记录是否正常
RegisterInDNS - 检查DC是否在DNS中注册
Cro***efValidation - 检查交叉引用是否有效
CheckSDRefDom - 检查目录分区的安全
VerifyReplicas - 检查复制服务器上目录分区的安全性
VerifyReference - 检查对于 FRS 和“复制”基础结构系统参数的正确与完整性
VerifyEnterpriseReferences - 检查整个企业范围内的所有DC上系统参数是否正确与完整
(Win2003 SP1新增功能)
CheckSecurityError - 检测可能会造成AD复制失败的安全配置
DNS - 检查整个企业内的DNS健康性。
DNS测试子项有:
/DnsBasic - 基本DNS测试,包括网络连接性、DNS客户端配置、服务可用性和区域存在性。
/DnsForwarders - /DnsBasic 测试,还检查转发器的配置
/DnsDelegation - /DnsBasic 测试,还检查委派配置
/DnsDynamicUpdate - /DnsBasic测试,还检查是否配置动态更新
/DnsRecordRegistration - /DnsBasic测试,检查是否已注册A、CNAME和已知的SRV记录。此外,还根据结果创建清单报告
/DnsResolveExtName - /DnsBasic测试,还尝试解析指定的域名名称.
/DnsInternetName - /DnsBasic测试,还尝试解析指定域名
/DnsAll - 除了/DnsResolveExtName外的所有DNS测试项
CheckSecurityError - 检测可能会造成AD复制失败的安全配置
DNS - 检查整个企业内的DNS健康性。
DNS测试子项有:
/DnsBasic - 基本DNS测试,包括网络连接性、DNS客户端配置、服务可用性和区域存在性。
/DnsForwarders - /DnsBasic 测试,还检查转发器的配置
/DnsDelegation - /DnsBasic 测试,还检查委派配置
/DnsDynamicUpdate - /DnsBasic测试,还检查是否配置动态更新
/DnsRecordRegistration - /DnsBasic测试,检查是否已注册A、CNAME和已知的SRV记录。此外,还根据结果创建清单报告
/DnsResolveExtName - /DnsBasic测试,还尝试解析指定的域名名称.
/DnsInternetName - /DnsBasic测试,还尝试解析指定域名
/DnsAll - 除了/DnsResolveExtName外的所有DNS测试项
三:使用示例
DcDiag参数众多,且可以组合使用,下面只给出基本的使用示例,对用法做一简单描述。
1:最简单的用法,诊断当前DC状况
>DcDiag
2:测试当前DC的连通性
>dcdiag /s:vmtest /test:connetivity
3:测试整个林拓扑结构
>dcdiag /e /test:Topology
4:DCPromo参数用法。 注:DcPromo主要是当使用AD安装向导或通过DCPromo命令安装AD出错时使用
测试是否可以在当前服务器上新建一个林
>dcdiag /test:dcpromo /dnsdomain:vmtest.com /newforest
>dcdiag /s:vmtest /test:connetivity
3:测试整个林拓扑结构
>dcdiag /e /test:Topology
4:DCPromo参数用法。 注:DcPromo主要是当使用AD安装向导或通过DCPromo命令安装AD出错时使用
测试是否可以在当前服务器上新建一个林
>dcdiag /test:dcpromo /dnsdomain:vmtest.com /newforest
![](https://i-blog.csdnimg.cn/blog_migrate/169e7c12ac81d16b0e40e81275c6271a.gif)
测试是否可以在当前服务器上新建树 >dcdiag /test:DCpromo /dnsdomain:vmtest.com /newtree /forestRoot:vmtest.com
测试是否可以在当前服务器上新建子域
>dcdiag /test:dcpromo /dnsdomain:vmtest.com /childDomain
测试是否可以在当前服务器上安装辅助DC
>dcdiag /test:dcpromo /dnsdomain:vmtest.com /ReplicaDC
>dcdiag /test:dcpromo /dnsdomain:vmtest.com /childDomain
测试是否可以在当前服务器上安装辅助DC
>dcdiag /test:dcpromo /dnsdomain:vmtest.com /ReplicaDC
5:测试DC是否在DNS中注册
>Dcdiag /v /test:RegisterInDns /Dnsdomain:vmtest.com
>Dcdiag /v /test:RegisterInDns /Dnsdomain:vmtest.com
6:DNS诊断
最简单用法,测试除/DnsResolveExtName之外的六项子测试
>dcdiag /test:dns
最简单用法,测试除/DnsResolveExtName之外的六项子测试
>dcdiag /test:dns
基本测试:执行基本 DNS 测试,包括网络连接性、DNS 客户端配置、服务可用性和区域存在性
>dcdiag /test:dns /DnsBasic
>dcdiag /test:dns /DnsBasic
测试DnsBasic和转发器
>dcdiag /v /test:dns /dnsForwarders
测试DnsBasic和解析指定的域名
>Dcdiag /v /test:dns /dnsinternetname:[url]www.baidu.com[/url]
>dcdiag /v /test:dns /dnsForwarders
测试DnsBasic和解析指定的域名
>Dcdiag /v /test:dns /dnsinternetname:[url]www.baidu.com[/url]
四:一个完整的DcDiag诊断信息注解
参考链接: [url]http://hi.baidu.com/maxhan/blog/item/783ccafceb979d87b901a0c5.html[/url]
参考链接: [url]http://hi.baidu.com/maxhan/blog/item/783ccafceb979d87b901a0c5.html[/url]
转载于:https://blog.51cto.com/alligator/98797