CSDN博客

img spidertan

域安全通道实用工具nltest.exe的使用简介(下)

发表于2003/12/19 23:21:00  1682人阅读

分类: 网站制作技术

 

/DSGETDC:<DomainName>

/PDC

只返回主域控制器

/DS

只返回Windows 2000或者Windows Server 2003域控制器

/DSP

请求Windows 2000或者Windows Server 2003域控制器,如果没有,返回NT与控制器

/GC

只返回指派为全局编录的域控制器

/KDC

只返回指派为Kerberos密钥分配中心的域控制器

/TIMESERV

只返回指派为时间服务的域控制器

/GTIMESERV

只返回指派为主要的时间服务的域控制器

/NETBIOS

指定计算机名称为NetBIOS名称

/DNS

指定计算机名称为FQDNs

/IP

返回指定IP地址的域控制器

/FORCE

强制计算机在DNS服务器上运行命令,而不是在缓存中查找信息

/WRITABLE

所有的活动目录域控制器将会返回,而NT 4.0备份域控制器BDCs将不会返回

/AVOIDSELF

确保可以定位到域中另外的域控制器上

/LDAPONLY

返回运行LDAP应用程序的服务器

/BACKG

返回备份域控制器

/SITE:<SiteName>

排序使得<SiteName>位于列表的第一个

/ACCOUNT:<AccountName>

返回包含账户<AccountName>的域控制器信息

/RET_DNS

返回DNS域的域控制器

/RET_NETBIOS

返回NetBIOS域控制器

/DNSGETDC:<DomainName>

/PDC

只返回主域控制器

/GC

只返回指派为全局编录的域控制器

/KDC

只返回指派为Kerberos密钥分配中心的域控制器

/WRITABLE

所有的活动目录域控制器将会返回,而NT 4.0备份域控制器BDCs将不会返回

/LDAPONLY

返回运行LDAP应用程序的服务器

/FORCE

强制计算机在DNS服务器上运行命令,而不是在缓存中查找信息

/SITESPEC

仅返回包含站点<SiteName>的记录,此参数要和/SITE一起使用

/DSGETFTI:<DomainName>

/UPDATE_TDO

更新帧间信任上本地存储信息

/DOMAIN_TRUSTS

/PRIMARY

仅返回计算机账户属于的域

/FOREST

仅返回主域同一森林下的域

/DIRECT_OUT

返回被主域明确信任的域

/DIRECT_IN

返回明确信任主域的域

/ALL_TRUSTS

返回所有已信任的域

/V

显示详细的输出,包括域的SIDsGUIDs

/DSDEREGDNS:<DnsHostName>

/DOM:<DnsDomainName>

指定主机的DNS域名称,如果没有指定,将假定DnsHostName的后缀名就是DNS域名称

/DOMGUID:<DomainGuid>

删除基于GUIDDNS记录

/DSAGUID:<DsaGuid>

删除基于GUIDDSA记录

 

       应用举例:

       例子一

       假定域A信任域B,运行Windows NT工作站的计算机TAN是域A的一个成员。现在我们输入:

C:/>nltest /trusted_domains

Trusted domain list:

B

The command completed successfully

可以看到域A上已信任的域B

例子二

       查看域A上的域控制器,只需要输入:

       C:/>nltest /dclist:A

       List of DCs in Domain A

      //C1 (PDC)

      //C2

   The command completed successfully

       可以看到域A上的两个域控制器C1C2,其中C1是主域控制器。同理,我们要看域B上的域控制器信息,参照上面的格式输入即可查询到想要的信息

       例子三

要查看域A中每个域控制器与域B中的一个域控制器之间的安全通道,只需要按下面的输入:

       C:/>nltest /server:C1 /sc_query:B

   Flags: 0

   Connection Status = 0 0x0 NERR_Success

   Trusted DC Name //D1

   Trusted DC Connection Status Status = 0 0x0 NERR_Success

   The command completed successfully

 

   C:/>nltest /server:C2 /sc_query:B

   Flags: 0

   Connection Status = 0 0x0 NERR_Success

   Trusted DC Name //D1

   Trusted DC Connection Status Status = 0 0x0 NERR_Success

   The command completed successfully

       从上面可以看出域A中的C1C2域控制器都信任域B中的D1域控制器。

       例子四

要查看工作站TAN是否与域A的域控制器有明确的信任关系,可以如下输入:

       C:/>nltest /server:TAN /sc_query:A

   Flags: 0

   Connection Status = 0 0x0 NERR_Success

   Trusted DC Name //C1

   Trusted DC Connection Status Status = 0 0x0 NERR_Success

   The command completed successfully

       从上可以看出工作站TAN与域A中的C1域控制器之间有一个信任连结。

       例子五

       要测定一个域控制器是否能鉴别一个用户帐号,可以按下面所示输入:

       C:/>nltest /whowill:B administrator

   [20:58:55] Mail message 0 sent successfully

   (/MAILSLOT/NET/GETDC939)

   [20:58:55] Response 0: S://D1 D:B A:administrator (Act found)

   The command completed successfully

 

   C:/>nltest /whowill:A administrator

   [21:26:13] Response 0: S://C1 D:A A:administrator (Act found)

   [21:26:15] Mail message 0 sent successfully

   (/MAILSLOT/NET/GETDC295)

   The command completed successfully

       大家可以看出两个administrator分别与域B的域控制器D1和域A的域控制器C1产生了一个通话,证明两个administrator都分别在各自的域中得到验证。

       例子六

       使用nltest.exe找给定用户帐号的一个已信任域,我们只需要按下面的输入:

       C:/>nltest /finduser:administrato

   Domain Name: B

   Trusted DC Name //D1

   The command completed successfully

       从上面我们可以看出使用administrator账号找到了域B和域B中的已信任域控制器D1

       例子七

       要检验备份域控制器BDC同步的状态,只需要如下输入:

       C:/>nltest /bdc_query:A

   Server : //C2

      SyncState : IN_SYNC

      ConnectionState : Status = 0 0x0 NERR_Success

   The command completed successfully

       看出备份域控制器C2的同步状态是IN_SYNC,也即备份域控制器C2的的同步状态良好。

       例子八

       Nltest.exe也可以用来同步账号数据库,比如从一个主域控制器同步域,我们只需要输入:C:/ nltest /PDC_Repl;要从一个成员服务器、备份域控制器或者一个Windows NT工作站同步域,输入:C:/ nltest /Server:<PDCName> /PDC_Repl,其中<PDCName>是主域控制器的真实名称,而不是域的名称。

       问题解答:

       问:DSA操作不能继续因为一个DNS查找错误

       答:使用Nltest /dsgetdc: /pdc /force /avoidself命令确定是否返回了正确的主域控制器;如果使用REPLMON或者REPADMIN命令报告此处有一个连接对象但是没有一个复制链接,问题可能出在KCC上;在主域控制器上运行以下命令:nltest /DBFLAG:0x2000FFFFnltest /DSGETDC: /GC,然后根据输出信息判断错误出在什么地方;运行nltest /dsgetdc: /gc /force确定你能否联系一个GC在主域控制器和发生错误的服务器上检查“password last changed”参数。

       问:组策略在交叉域控制器之间应用不一致

       答:使用chkpolicy the name of your domain命令运行以下脚本:

              @echo off

REM /logs/chkpolicy domain_name

set filename=sysvol/%dom_name%/Policies/{6AC1786C-016F-11D2-945F-00C04fB984F9}/Machine/Microsoft/Windows NT/SecEdit/GPTTMPL.INF

nltest /dclist:%dom_name% > dclist.tmp

del dclist1.tmp

FOR /F "eol=; tokens=1 delims=, " %%i in (dclist.tmp) do (

     @echo %%i >> dclist1.tmp

)

FOR /F "eol=. tokens=1 delims=. " %%i in (dclist1.tmp) do (

     @echo %%i

     dir  "//%%i/%filename%"

)

       问:目录服务太忙而不能完成操作

       答:运行以下脚本:

              setlocal

set destgc=__setgcnamehere__.site1.forest1.com

:domain1

repadmin /delete DC=domain1,DC=site1,DC=forest1,DC=com %destgc% /nosource

if %errorlevel% == 8438 goto :domain2

:domain2

repadmin /delete DC=domain2,DC=Site1,DC=forest1,DC=com %destgc% /nosource

if %errorlevel% == 8438 goto :domain3

REM ...

Endlocal

0 0

相关博文

我的热门文章

img
取 消
img