[TOC]

nltest 命令

描述:Nltest是内置于 Windows Server 2008 和 Windows Server 2008 R2 的命令行工具。
如果您有 AD DS 或 AD LDS 服务器角色安装,则可用,如果安装活动目录域服务工具的一部分的远程服务器管理工具 (RSAT)则也可以用。 若要使用nltest您必须从提升的命令提示符下运行nltest命令。
注意:要打开提升的命令提示符,请单击开始用鼠标右键单击命令提示符下,然后单击以管理员身份运行。

功能:获取域控制器的列表 强制远程关闭 查询信任的状态 测试在 Windows 域的信任关系和域控制器复制的状态 强制同步 Windows NT 版本 4.0 或更早版本的域控制器上的用户帐户数据库
Nltest可以测试和重置客户端之间进行登录的域控制器的 NetLogon 服务建立的安全通道, 使用 Kerberos 身份验证的客户端不能使用此安全通道。

查看登陆到的DC
描述:在查找域控的时候非常有用;

C:\Users\administrator.xxxIDC>set l
LOCALAPPDATA=C:\Users\administrator.xxxIDC\AppData\Local
LOGONSERVER=\\WLZXDC02 #关键点

nltest语法:

nltest [/域控服务器: <servername>] [<operation> [<parameter>]
您指定的远程域控制器上运行nltest 。 如果不指定此参数,在本地计算机,它是域控制器上将运行nltest 。

参数 说明
/query 您使用的安全通道上一次的状态报告。 (安全通道是 NetLogon 服务建立的。
/repl 强制与主域控制器 (PDC) 进行同步。 Nltest同步仅尚未复制到备份域控制器 (BDC) 的更改。 您可以使用此参数 Windows NT 4.0 Bdc 的不是用于 Active Directory 复制。 您必须具有管理凭据才能使用此参数。
/sync 强制与 PDC 立刻同步整个安全帐户管理器 (SAM) 数据库。 您可以使用此参数 Windows NT 4.0 Bdc 的不是用于 Active Directory 复制。 您必须具有管理凭据才能使用此参数。
/pdc_repl 强制将同步通知发送到所有 Bdc PDC。 您可以使用此参数 Windows NT 4.0 Pdc 的不是用于 Active Directory 复制。 您必须具有管理凭据才能使用此参数。
/sc_query: 安全通道使用上一次的状态报告。 (安全通道是 NetLogon 服务建立的。此参数中列出的域控制器的安全通道,还查询的名称。
/sc_reset: 删除,然后重新生成,NetLogon 服务建立的安全通道。 您必须具有管理凭据才能使用此参数。
/sc_verify: 检查状态的 NetLogon 服务建立的安全通道。 如果不能对安全通道,此参数将删除现有的通道,,然后生成一个新。 您必须具有管理凭据才能使用此参数。 此参数才是在运行 Windows 2000 Service Pack 2 和更高版本的域控制器上有效。
/sc_change_pwd: 更改为您指定的域的信任帐户的密码。 如果您在域控制器上,运行nltest存在显式的信任关系, nltest重置的域间信任帐户的密码。 否则, nltest更改为您指定的域计算机帐户密码。此参数仅用于运行 Windows 2000 及更高版本的计算机。
/dclist: 列出域中的所有域控制器。 在 Windows NT 4.0 域环境中,此参数检索的域的列表使用浏览器服务。 在活动目录环境中,此命令首先查询 Active Directory 域控制器的列表。 如果该查询失败, nltest然后使用浏览器服务。
/dcname: 列出域的主域控制器或 PDC 模拟器的域名称。
/dsquerydns 查询所有特定于您指定的域控制器的 DNS 记录的最后一次更新的状态。
/bdc_query: 查询的域名称,在 Bdc 的列表,并显示其状态的同步和复制状态。 此参数仅用于 Windows NT 4.0 的域控制器。
/sim_sync: 模拟完全同步复制。 这是非常有用的参数,用于测试环境。
/list_deltas: 显示文件名的内容更改日志文件,其中列出了用户帐户数据库的更改。 Netlogon.chg 是此日志文件,只在 Windows NT 4.0 Bdc 上驻留的默认名称。
/cdigest: /domain: 显示当前客户端使用安全通道的摘要。 (摘要是计算密码派生自该nltest 。)此参数显示还基于以前的密码,该摘要。 Nltest登录客户端计算机的域控制器之间还是域控制器之间复制的目录服务,请使用安全通道。 您可以检查的信任帐户密码同步的/sdigest参数一起使用此参数。
/sdigest: 删除 /: <RID_In_Hexadecimal> 显示当前服务器使用安全通道的摘要。 (摘要是计算密码派生自该nltest 。)此参数也显示为以前的密码,该摘要。 如果从服务器的摘要与从客户端的摘要相匹配,然后nltest同步密码对安全通道。 如果摘要不匹配,然后nltest可能没有复制密码更改尚未。
/shutdown: \<Reason> \<Seconds> 远程关闭服务器名称中指定的服务器。 一个字符串,用于在原因的值,指定关机的原因,您使用一个整数,指定的秒值在关机之前的时间量。 有关完整说明,请参阅InitiateSystemShutdown平台 SDK 文档。
/shutdown_abort 终止系统关机。
/whowill: / 查找具有指定的用户帐户的域控制器。 此参数用于确定nltest是否已复制到其他域控制器的帐户信息。
/finduser: 查找直接信任您指定的用户帐户所属的域。 此参数用于较旧的客户端操作系统的登录问题进行故障排除。/transport_notify 刷新强制发现域控制器的负缓存。 Windows NT 4.0 域控制器,您可以使用此参数。 客户端登录到 Windows 2000 和 Windows Server 2003 的域控制器时,将自动完成此操作。
/dbflag: 设置新的调试标志。 大多数情况下,使用 0x2000FFFF 作为值HexadecimalFlags。 调试标志在 Windows Server 2003 注册表中的项是HKLM\System\CurrentControlSet\Services\Netlogon\Parameters\DBFlag。
/user: 显示许多您维护的属性所指定的用户的 SAM 帐户数据库中。 您不能使用此参数存储在 Active Directory 数据库中的用户帐户。
/时间: 将转换为 ASCII Windows NT 格林威治标准时间 (GMT) 的时间。 HexadecimalLSL是最不重要的 longword 的十六进制值。 HexadecimalMSL是最重要的 longword 的十六进制值。
/logon_query 查询累积的 NTLM 登录尝试次数在控制台或通过网络。

/dsgetdc: \<DomainName> | 查询的域名系统 (DNS) 服务器列表中的域控制器和其相应的 IP 地址。 此参数还联系,检查连接的每个域控制器。下面的列表显示了可用于筛选域控制器的列表,或在语法中指定备用名称类型的值。
/PDC: 只返回 PDC (Windows NT 4.0) 或域控制器指定为 PDC 仿真程序 (Windows 2000 及更高版本)。
/DS: 返回只有这些域控制器的 Windows 2000 及更高版本。
/DSP: 只返回 Windows 2000 和更高版本的域控制器。 如果查询找到这样的服务器,此值将返回 Windows NT 4.0 的域控制器。
/GC: 返回指定为全局编录服务器的域控制器。
/KDC: 返回指定 Kerberos 密钥分发中心为这些域控制器。
/TIMESERV: 返回指定时间服务器为这些域控制器。
/GTTIMESERV: 返回指定服务器主机的时间为这些域控制器。
/NetBIOS: 在语法中的计算机名指定为 NetBIOS 名称。 如果您没有指定返回格式,域控制器可以返回 NetBIOS 或 DNS 格式。
/DNS: 完全限定域名 (Fqdn) 语法中指定的计算机名称。 如果您没有指定返回格式,域控制器可以返回 NetBIOS 或 DNS 格式。
/IP: 返回具有 IP 地址的域控制器。 此值,则返回使用 TCP/IP 作为其协议栈的域控制器。
/FORCE: 强制计算机针对 DNS 服务器,而不是查找信息的高速缓存中运行命令。

/dnsgetdc: \<DomainName> 查询 DNS 服务器的列表中的域控制器和其相应的 IP 地址。
下面的列表显示了可用于筛选的域控制器列表的值。

  • /PDC: 返回只有这些域控制器的 Pdc (Windows NT 4.0) 或指定为 PDC 仿真程序。
  • /GC: 返回指定为全局编录的域控制器。
  • /KDC: 返回指定 Kerberos 密钥分发中心为这些域控制器。
  • /WRITABLE: 返回可接受的目录数据库的更改这些域控制器。 此值,则返回所有 Active Directory 域控制器,但不是 Windows NT 4.0 Bdc。
  • /LDAPONLY: 返回一个轻量目录访问协议 (LDAP) 应用程序运行的服务器。 服务器可以包含 LDAP 服务器不是域控制器。
  • /FORCE: 强制计算机针对 DNS 服务器,而不是查找信息的高速缓存中运行命令。
  • /SITE 站点名: 对返回的记录,首先列出与您指定的站点相关的记录进行排序。
  • /SITESPEC: 筛选返回的记录来显示与您指定的站点相关的记录。 此操作只能与/SITE参数一起使用。

/dsgetfti: \<DomainName> [/UpdateTDO] 返回有关林间的信任关系的信息。 您可以使用此参数仅用于 Windows Server 2008 的域控制器的目录林根中的。 如果不存在任何林间的信任关系,此参数会返回错误。

  • /UpdateTDO /UpdateTDO 值自动更新存储在本地林间的信任。
  • /dsgetsite 返回所驻留的域控制器的站点的名称。
  • /dsgetsitecov 返回包含域控制器的站点的名称。 域控制器可覆盖具有其自身的任何本地域控制器的站点。
  • /parentdomain 返回父域的服务器的名称。
  • /dsregdns 刷新所有特定于您指定的域控制器的 DNS 记录注册。

/dsderegdns: \<DnsHostName> 注销适用参数中指定的主机的 DNS 主机记录。下面的列表显示了可用于指定nltest注销的记录的值。

  • /DOM: 指定的主机的 DNS 服务器上的记录进行搜索时使用的 DNS 域名。 如果不指定此值,则nltest使用的 DNS 域名适用参数的后缀。
  • /DSAGUID: 删除目录系统代理 (DSA) 记录为基础的 GUID。
  • DOMGUID: 删除 DNS 记录为基础的全局唯一标识符 (GUID)。

/domain_trusts 返回受信任域的列表。/主 /Forest /Direct_Out /Direct_In /All_Trusts /v。
下面的列表显示了可用于筛选列表的域的值。

  • /Primary主/: 返回其计算机帐户所属的域。
  • /Forest: 返回仅那些中主要域在同一个林中的域。
  • /Direct_Out: 返回明确主域与受信任的域。
  • /Direct_In: 返回显式信任主要域的域。
  • /All_Trusts: 返回所有受信任域。
  • /v: 显示详细输出,其中包括任何域 Sid 和可用的 Guid。

实际案例:

#示例 0:显示域的信任关系下面的示例列出了为您的域建立的信任关系。
nltest /domain_trusts


#示例 1:验证域中的域控制器下面的示例使用/dclist参数来创建列表的域控制器的域 IDC
>nltest /dclist:xxxIDC
获得域“”中 DC 的列表(从“\\WLZXDC02.xxxx.CN”中)。
WLZXDC02.XXXIDC.CN [PDC] [DS] 站点: Default-First-Site-Name
WLZXDC01.XXXIDC.CN [DS] 站点: Default-First-Site-Name
此命令成功完成

#示例 2:用户的高级的信息下面的示例显示有关特定用户的详细的信息。
nltest /user:"TestAdmin"
#此命令将显示与以下类似的输出:

WeiyiGeek.

#示例 3: 验证信任关系与特定的服务器
#下面的示例验证 dc1 的服务器具有有效的信任关系的域。
nltest.exe /server:WLZXDC02 /sc_query:XXXIDC
# 此命令将显示与以下类似的输出:
# 标志: 30 HAS_IP HAS_TIMESERVTrusted
# DC 名称 \\WLZXDC02.comTrusted
# DC 的连接状态状态 = 0 0x0 NERR_SuccessThe
# 命令已成功完成


#示例 4: 确定为域的 PDC 仿真程序
#下面的示例标识为一个域的 PDC 仿真,请参阅 Windows NT 4.0–based 的计算机的域控制器。您可以看到该 a-dcp 是为您的域的 PDC 仿真程序。
nltest /dcname:WLZXDC02
#此命令将显示与以下类似的输出:
# XXXIDC 域的 PDC 是 \\WLZXDC02The 命令已成功完成

注意:DNS_DC 和 DNS_DOMAIN 标志指示中 (类似于垃圾回收或 TIMESERV,告诉您有关返回信息的域控制器的标志) 相对于该请求返回的信息的格式。 具体来说,它们的存在表示返回的域控制器的名称和域名,分别 DNS 格式。 它们不存在表示返回的域控制器的名称和域名 NetBIOS 格式。

#示例5:查看返回当前域IP地址和包含用户 hvuser 的DC
nltest /server:WLZXDC02 /dsgetdc:XXXIDC.CN /accont:administrator #server 2008
>nltest /server:WLZXDC02 /DNSGETDC:XXXIDC.CN /USER:administrator #SERVER 2012

WeiyiGeek.

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

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

WeiyiGeek.


setspn 命令

描述:读取、修改和删除Active Directory服务帐户的服务主体名称( SPN )目录属性。您可以使用SPNs查找运行服务的目标主体名称。您可以使用setspn查看当前SPN,重置帐户的默认SPN,以及添加或删除补充SPN;
适用于: Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows 8
setspn是内置于Windows Server 2008中的命令行工具。如果您安装了Active Directory域服务( AD DS )服务器角色,则可以使用它(需要提升权限)

语法:

setspn [parameter] accountname   //其中 accountname 可以是目标计算机或用户帐户的名称或域名
setspn <Computer> [-l] [-r] [-d <SPN>] [-s <SPN>] [-?]
#参数:
1)编辑模式开关:
-R = 重置 HOST ServicePrincipalName
用法: setspn -R accountname
-A = 添加任意 SPN
用法: setspn -A SPN accountname
-S = 验证不存在重复项之后,添加任意 SPN
用法: setspn -S SPN accountname
-D = 删除任意 SPN
用法: setspn -D SPN accountname
-L = 列出注册到目标帐户的 SPN
用法: setspn [-L] accountname
2) 编辑模式修饰符:
-C = 指定 accountname 是计算机帐户
-U = 指定 accountname 是用户帐户
注意: -C 和 -U 具有排他性。如果两者均未指定,则工具会在存在此类计算机时将 accountname解释为计算机名称,不存在时则解释为用户名。
3) 查询模式开关:
-Q = 查询是否存在 SPN
用法: setspn -Q SPN
-X = 搜索重复的 SPN
用法: setspn -X
注意: 搜索重复项(尤其在林范围)可能会花费较长的时间,并占用大量内存。
-Q 将在每个目标域/林上执行。
-X 将返回存在于所有目标中的重复项。
不要求 SPN 在各个林之间唯一,但重复项可能会导致在进行身份验证时出现身份验证问题。
4)查询模式修饰符:
-P = 抑制控制台的进度,可在将输出重定向到文件时或在无人参与脚本中使用时使用。直到命令完成 时才有输出。
-F = 在林级别而不是域级别执行查询
-T = 在指定的域或林(同时使用 -F 时)中执行查询
用法: setspn -T domain (开关和其他参数)可以使用 "" 或 * 表示当前域或林。
注意: 可以与 -S 开关一起使用这些修饰符,以便在添加 SPN之前指定应在何处执行重复检查。
注意: -T 可以指定多次。


示例1:列出当前注册的SPN

=> setspn -l WLZXDC02
Registered ServicePrincipalNames 用于 CN=WLZXDC02,OU=Domain Controllers,DC=XXXXIDC,DC=CN:
exchangeAB/WLZXDC02.XXXXIDC.CN
TERMSRV/WLZXDC02.XXXXIDC.CN
RestrictedKrbHost/WLZXDC02
RestrictedKrbHost/WLZXDC02.XXXXIDC.CN

WeiyiGeek.

示例2:重置默认注册的SPNs

=> setspn -r daserver1
Registering ServicePrincipalNames for CN=DASERVER1,CN=Computers,DC=reskit,DC=contoso,DC=com
HOST/daserver1.reskit.contoso.com
HOST/daserver1
Updated object

示例3.Add a new SPN 它将为计算机 “daserver1” 注册 SPN “http/daserver”

=> setspn -s http/daserver1.reskit.contoso.com daserver1

Registering ServicePrincipalNames for CN=DASERVER1,CN=Computers,DC=reskit,DC=contoso,DC=com
http/daserver1.reskit.contoso.com
Updated object

示例4:Remove an SPN 它将删除计算机 “daserver1” 的 SPN “http/daserver”

=>  setspn -d http/daserver1.reskit.contoso.com daserver1
Unregistering ServicePrincipalNames for CN=DASERVER1,CN=Computers,DC=reskit,DC=contoso,DC=com
http/daserver1.reskit.contoso.com
Updated object

示例5:其他案例

setspn -F -S http/daserver daserver1  //它将为计算机 "daserver1" 注册 SPN "http/daserver" 如果林中不存在此类 SPN
setspn -U -A http/daserver dauser //它将为用户帐户 "dauser" 注册 SPN "http/daserver"
setspn -T * -T foo -X //它将报告此域和 foo 中 SPN 的所有重复的注册
setspn -T foo -F -Q */daserver //它将查找在 foo 所属的域控中注册的表单 */daserver 的所有 SPN