AD维护管理工具dcdiag详解

AD维护管理工具dcdiag详解
AD维护管理工具dcdiag详解

AD维护管理工具DCdian详解

工具名称: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: [/u:\ /p:*||""]

[/hqv] [/n:] [/f:] [/ferr:]

[/skip:] [/test:]

二:主要参数说明:

/s:Domain Controller - 指定测试的DC,默认测试本机。

/n:Naming Context - 指定测试时关联的名称上下文。似乎只能使用域名称上下文,无法测试Schema,Configration等名称上下文。

域名称上下文可以使用域的DNS名称,NetBios名称或DN名称。

/u:Domain\Username /p: - 用指定的帐号密码连接DC,此时该帐号的密码为显示密码。

如:DcDiag /u:https://www.360docs.net/doc/cd4046214.html,\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中注册

CrossRefValidation - 检查交叉引用是否有效

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测试项

三:使用示例

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:https://www.360docs.net/doc/cd4046214.html, /newforest

测试是否可以在当前服务器上新建树 >dcdiag /test:DCpromo /dnsdomain:https://www.360docs.net/doc/cd4046214.html, /newtree /forestRoot:https://www.360docs.net/doc/cd4046214.html,

测试是否可以在当前服务器上新建子域

>dcdiag /test:dcpromo /dnsdomain:https://www.360docs.net/doc/cd4046214.html, /childDomain

测试是否可以在当前服务器上安装辅助DC

>dcdiag /test:dcpromo /dnsdomain:https://www.360docs.net/doc/cd4046214.html, /ReplicaDC

5:测试DC是否在DNS中注册

>Dcdiag /v /test:RegisterInDns /Dnsdomain:https://www.360docs.net/doc/cd4046214.html,

6:DNS诊断

最简单用法,测试除/DnsResolveExtName之外的六项子测试

>dcdiag /test:dns

基本测试:执行基本DNS 测试,包括网络连接性、DNS 客户端配置、服务可用性和区域存在性

>dcdiag /test:dns /DnsBasic

测试DnsBasic和转发器

>dcdiag /v /test:dns /dnsForwarders

测试DnsBasic和解析指定的域名

>Dcdiag /v /test:dns /dnsinternetname:https://www.360docs.net/doc/cd4046214.html,

***********************************************************************************************

详解windows 2000域诊断工具Dcdiag

Dcdiag.exe是域控制器诊断工具,如所周知,windows2000对网络功能进行了很多加强,本诊断工具仅在网络环境下才能使用,单机环境不可能遇到的域控制器.也就遑论对域控制器进行诊断了.Dcdiag 可以分析目录林或"组织"中的域控制器状态,并生成一个报告,报告将所有通过诊断测试得到的问题汇集在自身中,当管理人员或技术支持人员分析问题和排除故障时候,依此作为判断的参考资料. DcDiag本身可以向终端用户报告问题,在程序中,已经封装有详细的、关于如何识别系统不正常状态的功能和相关知识。

如果将DcDiag理解为一个框架的话,那么,这个框架就是由(对系统的)一系列测试和校验构成的.当然,既然是测试,这些测试就必须以一定的顺序进行.程序依照用户的选择来进行域控制器的诊断测试,从范围上说,测试可以是针对组织单位、站点或者是单一服务器的某些项,也可以针对所有项目进行完整的测试.从执行方法上说,测试既可以指定某一项目,也可以跳过某些无必要的项目.通常应有下列项目:

· 连通性

· 复制

· 拓补完整性

· 检查 NC Head 安全描述符

· 检查登录权

· 取得域控制器位置

· 安全边界

· 检查任务或脚色.

· 信任关系的验证.

在以前介绍的NetDiag连通测试工具中也有关于信任关系验证的项目.(可以参考本人上一篇"连通测试工具中的介绍")

二.使用语法:

dcdiag /s:DomainController [/n:NamingContext] [/u:Domain\Username /p:{* | Password | ""}] [{/a | /e}] [{/q | /v}] [/i] [/f:LogFile] [/ferr:ErrLog] [/c [/skip:Test]] [/test:Test] [{/h | /?}]

参数含义及说明:

/s:DomainController

域控制器使用的主服务器,这是一个必须的参数,不可省去。

/n:NamingContext

指定测试的时候关联的系统,域可以指定NetBIOS、DNS或别的系统。

/u:Domain\Username /p:{* | Password | ""}

使用”域/用户名”所附的信任凭证时的提示符号,其实就是密码的显示符号,例如,我们在键入密码时,通常显示的并不是密码本身,而是*****符号.也有使用....作为显示符号的.

/a

测试网站的所有的服务器。

/e

在整个规划中测试所有的服务器,并忽略选项/a

/q

在空闲的时间内打印错误信息报告。

/v

打印详细的信息报告.

/i

忽略多余的错误信息。

/f:LogFile

将所有的信息报告改为输出到由LogFile命名的登记文件中,也就是不再将信息报告输出到系统默认的登记文件。

/ferr:ErrLog

将致命的错误信息改为输出到由ErrLog.命名的、单独的登记文件中,与上一条类似.

/c

运行所有测试项目,包括非默认的测试.当然如果已经确定某些项目无需测试,可以使用/skip 开关来指定哪些测试可以跳过。所谓非默认的测试是指下列几项:

拓补

对方服务器是否关闭服务器

安全通道输出范围.

skip:Test

用skip开关指出要跳过不测的项目,必须在使用/c(选择完全测试)的时候才能用这个来配合,并且注意在命令行中不能出现互相矛盾的选择项。

/test:Test

只运行单一测试,但连通测试不可跳过, 并且在命令行中注意不能出现互相矛盾的选择.

不论指定进行哪些测试,或要指定跳过哪些测试,都必须使用以下的名字:

Connectivity 连通性

测试域控制器是否在DNS(域名解析服务系统)已经登记注册、或通过Ping测试,并已经具备LDAP/RPC 的连用性..

Replications 复制

检查域控制器之间的复制.

Topology 拓补

检查全部域控制器的所有链结的拓补(结构)

CutoffServers

检查服务器因对方服务器关闭而还没有接受到的复制

NCSecDesc

以名子为关联信息检查安全描述符

NetLogons

检查登陆权限是否适当,如果适当则允许复制继续进行

LocatorGetDc

检查每个域控制器是否有可以关闭的广告.

Intersite

检查临时位际的复制

RolesHeld

检查已知的全局"任务占有者(role-holders)"、可能的位置及其响应.

RidManager

检测RID是否可访问以及相关信息的正确性.

MachineAccount

检查计算机账号信息.

Services

检测域控制器服务的运行

OutboundSecureChannels

从所指定的域中检查安全通道

ObjectsReplicated

检查计算机账号和DSA 对象的复制

{/h | /?} 显示帮助信息.

三.验证及发现的问题

这个工具只能运行于在命令行中.仿照以前介绍的命令行窗口的打开方法,打开该窗口后,在提示符后面键入:dcdiag/?或dcdiag/h ,可以显示帮助信息.大概是这个工具的项目太多吧!显示出来的帮助信息很长,对工具中的每个测试项目的使用方法,都有很详细的介绍.如果想仔细研究,建议把这些信息保存到一个文件中,便于以后仔细研究.要保存这些帮助信息,可以在命令行窗口中显示出完整的帮助信息后,鼠标移动至屏幕下面"托盘"中命令行窗口的图标上后,点击右键,会出现一个菜单,其中有"编辑"一项,再将鼠标移动至"编辑",自动会显示出下一层菜单,先点击"全选"、后点击"复制",就可以将其粘贴到记事本等窗口中保存起来.

从显示的信息看,其内容与上面(第二部分)介绍的有不少出入.同是一个工具,其专门的帮助文档和用/?得出的帮助信息不一样,在Support Tools中已经不是第一次遇到,其中原因我始终没有搞清楚.经对照发现,以下项目就是帮助文档中没有的:

/fix: 安全修复

frssysvol - 这个测试用来检查文件(以及系统卷)复制系统是否准备就绪.

kccevent - 这个测试用来检查外部Com端口的兼容(或冲突)方面的问题

systemlog - 这个测试用来检查系统运行的外部错误

以上信息是我截取命令行窗口中的提示信息后,与帮助文档对照后发现的.同时,也发现某些项目在帮助文档中有介绍,但在提示信息中却没有.对于工具中的测试项目,我考虑到时间和条件,仅仅进行了很少部分的验证,正常运行是没问题的.

可以从Microsoft 下载中心下载下列文件:

Netdiag.exe

Download Netdiag_setup.exe now

Dcdiag.exe

Download Dcdiag_setup.exe now

有关如何下载Microsoft 支持文件的其他信息,请单击下面的文章编号,查看Microsoft 知识库中相应的文章:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是此文件发布时最新的病毒检测软件。此文件保存在安全服务器上,以防对它进行任何未经授权的更改。

DCDiag 和 NetDiag 测试可以手动执行。如想了解执行这些测试的其他信息以及 Windows 2000 Active Directory 的 DNS 要求,请参见以下文档:

DNS Requirements for the Successful Active Directory Deployment

相关主题
相关文档
最新文档