[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 描述:在查找域控的时候非常有用;
[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 描述:在查找域控的时候非常有用;1 2 3 C:\Users\administrator.xxxIDC>set l LOCALAPPDATA=C:\Users\administrator.xxxIDC\AppData\Local LOGONSERVER=\\WLZXDC02
nltest语法:1 2 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。
实际案例:1 2 3 4 5 6 7 8 9 10 11 12 13 14 nltest /domain_trusts >nltest /dclist:xxxIDC 获得域“”中 DC 的列表(从“\\WLZXDC02.xxxx.CN”中)。 WLZXDC02.XXXIDC.CN [PDC] [DS] 站点: Default-First-Site-Name WLZXDC01.XXXIDC.CN [DS] 站点: Default-First-Site-Name 此命令成功完成 nltest /user:"TestAdmin"
weiyigeek.top-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 nltest.exe /server:WLZXDC02 /sc_query:XXXIDC nltest /dcname:WLZXDC02
注意:DNS_DC 和 DNS_DOMAIN 标志指示中 (类似于垃圾回收或 TIMESERV,告诉您有关返回信息的域控制器的标志) 相对于该请求返回的信息的格式。 具体来说,它们的存在表示返回的域控制器的名称和域名,分别 DNS 格式。 它们不存在表示返回的域控制器的名称和域名 NetBIOS 格式。
1 2 3 nltest /server:WLZXDC02 /dsgetdc:XXXIDC.CN /accont:administrator >nltest /server:WLZXDC02 /DNSGETDC:XXXIDC.CN /USER:administrator
weiyigeek.top-
DSA操作不能继续因为一个DNS查找错误
⑴使用Nltest /dsgetdc: /pdc /force /avoidself
命令确定是否返回了正确的主域控制器;
⑵如果使用REPLMON或者REPADMIN命令报告此处有一个连接对象但是没有一个复制链接,问题可能出在KCC上;
⑶在主域控制器上运行以下命令:nltest /DBFLAG:0x2000FFFF
和nltest /DSGETDC: /GC
,然后根据输出信息判断错误出在什么地方;
⑷运行nltest /dsgetdc: /gc /force
确定你能否联系一个GC;
⑸在主域控制器和发生错误的服务器上检查“passWord last changed”参数。
weiyigeek.top-
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 )服务器角色,则可以使用它(需要提升权限)
语法:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 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:列出当前注册的SPN1 2 3 4 5 6 => 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.top-
示例2:重置默认注册的SPNs1 2 3 4 5 => 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”1 2 3 4 5 => 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”1 2 3 4 => 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:其他案例1 2 3 4 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
csvde 添加用户账户(或其他类型的对象),不能使用它修改或删除用户账户.事先将用户账户数据创建到纯文本文件( Text File )内,然后用户账户一次同时导入到 Active Directory 数据库.
XLSX快速构建DN:1 ="CN=" &A2&",OU=View Users,OU=View Group,DC=view,DC=WeiyiGeek,DC=cn"
1 2 3 4 5 6 7 8 9 10 C:\Users\Administrator\Desktop>csvde -f OUTPUT.CSV -d "OU=View Users,OU=View Group,DC=view,DC=weiyigeek,DC=top" 连接到“(null)” 用 SSPI 作为当前用户登录 将目录导出到文件 OUTPUT.CSV 搜索项目... 写出项目 .... 导出完毕。后续处理正在进行... 导出了 4 个项目
命令已成功完成
常用域成员导入字段 DN | objectClass | name | userAccountControl | sAMAccountName | userPrincipalName | physicalDeliveryOfficeName | givenName | Description| |:—|:—|:—|:—|:—|:—|:—|:—|:—|:—|:—|:—| DN树 | 对象类 | 登陆名称 | 禁用创建的用户 | 用户 | 用户主体名称 | 办公室号 | 名称 | 描述 | CN=01,OU=View Users,OU=View Group,DC=view,DC=weiyigeek,DC=top | user | 01| 514 |01| 01@view.weiyigeek.top | 1909 | WeiyiGeek | 姓名:,房号: ·|
1 2 DN,objectClass,name,userAccountControl ,sAMAccountName,userPrincipalName,physicalDeliveryOfficeName,givenName,Description
2、在powershell或者cmd中输入:csvde -i -f d:\user.csv(其中d:\user.csv是用户保存文件的路径);csvde详细的参数:http://technet.microsoft.com/zh-cn/library/cc772704(WS.10).aspx
指定memberof字段会产生SAM安全策略不能访问该属性;”由于该属性处于“安全帐户管理器” (SAM),不允许访问该属性。”, 我们可以在导入操作后选择对应用户进行添加到组。
1 2 3 4 5 6 For /F "tokens=1" %%a in (user.txt) do dsquery user -samid %%a | dsmod user -pwd abc123@ -pwdneverexpires yes –disabled no DSQUERY USER -samid WeiyiGeek01 | dsmod user -pwd PXfuLyYn1 -pwdneverexpires yes -disabled no ="DSQUERY USER -samid " &K1&" | dsmod user -pwd " &E2&" -pwdneverexpires yes -disabled no"
批量创建群组
方法类似于创建用户,新建一个excel表包含以下字段,其中GroupType为8,表示通讯组,4为安全组 导出群组信息
使用下面命令导出所有群组即可。 csvde -f c:\exportgroups.csv -d “dc=domainname,dc=com” -r “(&(objectcategory=group)(objectClass=*))”
因为域的密码策略有长度和复杂度有要求,而记事本中又不能包括密码,因此导入的用户必须是禁用状态,所以userAccountControl的值设置为514,导入的用户禁用状态。512为启用状态
ldifde :添加、侧除、修改用户账户(或其他类型的对象).您先将用户账户数据创建到纯文本文件内,然后将用户账户一次同时导入到 Active Directory 数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 http://support.microsoft.com/default.aspx?scid=kb;cn;237677 使用 LDIFDE 来导出和导入目录对象 ldifde -f exportOu.ldf -s 服务器 1 -d "dc=Export,dc=com" -p subtree -r "(objectClass=organizationalUnit)" -l "cn,objectclass,ou" 从整个目录林导出对象 例如,要针对 GC 执行所描述的导出操作,LDIFDE 命令就会是: ldifde -f Exportuser.ldf -s 服务器 1 -t 3268 -d "dc=Export,dc=com" -p subtree -r "(&(objectCategory=person)(objectClass=User)(givenname=*))" -l "cn,givenName,objectclass,sAMAccountName" 备注:为了修改 AD 中的属性,遵循导入文件的以下格式(尤其是单行上的“-”,其下一行为全空行)是非常重要的。要导入此文件,只需运行:ldifde -i -f Import.ldf -s 服务器。 示例导入/修改文件格式: dn: CN=Jane Doe,OU=Staff,DC=microsoft,DC=com changetype: modify replace: extensionAttribute1 extensionAttribute1: Staff - dn: CN=John Doe,OU=Staff,DC=microsoft,DC=com changetype: modify replace: extensionAttribute1 extensionAttribute1: Staff - 示例: ldifde -f c:\exportOu.ldf -u -d "dc=ibrcn,dc=com" -p subtree -r "(objectClass=organizationalUnit)" -l "cn,objectclass,ou" ldifde -f c:\Exportuser.ldf -u -d "dc=ibrcn,dc=com" -p subtree -r "(&(objectCategory=person)(objectClass=User)(givenname=*))" -l "cn,co,canonicalname,c,company,department,description,displayname,distinguishedname,givenname,i,mail,mailnickname,memberof,mobile,name,physicaldeliveryofficename,postalcode,sn,st,streetaddress,telephonenumber,title" DC上的用户和组信息导出。 一般以前用的比较多的是CSVDE ,立即动手,执行命令: ldifde -l name,memberof -r "(objectclass=user)" -f c:/userandgroup.ldf
dsadd 用来添加用户账户(或其他类型的时象)、 dsmod . exe 用来修改用户账户、 dsrm . exe 用来删除用户账户.需要先创建批处理文件,使用这 3 个程序将要添加、修改或侧除的用户账户创建到此批处理文件中;
dsmod dsquery 可以看到新增加的两个用户,但它们与其余三个不同,有个向下的箭头。这是因为CSVDE命令是无法导入密码的,所以导入的用户都是禁用状态。接下来我们批量设置密码、启用帐号,并设置密码永不过期。使用以下命令:(参考http://technet.microsoft.com/zh-tw/library/cc755470#BKMK_6、http://technet.microsoft.com/zh-cn/library/cc755655(WS.10).aspx )1 dsquery user "ou=T0500_客户,ou=IT,dc=weiyigeek,dc=top" | dsmod user -pwd 123@abc -pwdneverexpires yes –disabled no
dsrm wbadmin https://www.it610.com/article/3289794.htm https://blog.csdn.net/zgeyzq/article/details/2326075 http://www.360doc.com/content/17/1121/04/50391_705724631.shtml
https://www.cnblogs.com/jackadam/p/11284012.html