本指南提供了排查 Active Directory 域加入问题时使用的基本概念。
故障排除清单
域名系统 (DNS):每当加入域时出现问题,首先要检查的项目之一就是 DNS。 DNS 是 Active Directory(AD)的核心,确保其各个方面正常运作,包括域加入过程。 请确保以下各项:
- DNS 服务器地址正确。
- 如果有多个 DNS 域正在运行,则 DNS 后缀搜索顺序是正确的。
- 没有引用同一计算机帐户的过时或重复的 DNS 记录。
- 反向 DNS 不会指向其他名称作为 A 记录。
- 可以对域名、域控制器 (DC) 和 DNS 服务器进行 ping 测试。
- 检查特定服务器的 DNS 记录冲突。
Netsetup.log:排查域加入问题时,Netsetup.log文件是有价值的资源。 netsetup.log文件位于 C:\Windows\Debug\netsetup.log。
网络跟踪:在 AD 域加入期间,客户端与某些 DNS 服务器之间以及客户端与某些 DC 之间会发生多种类型的流量。 如果在上述任何流量中看到错误,请按照该协议或组件的相应故障排除步骤将其缩小范围。 有关详细信息,请参阅 使用 Netsh 管理跟踪。
域连接加固变更:2022年10月11日及之后发布的 Windows 更新包含由 CVE-2022-38042 引入的额外保护措施。 除非存在以下条件之一,否则这些保护会有意阻止域加入操作重复使用目标域中的现有计算机帐户:
- 尝试操作的用户是现有帐户的创建者。
- 计算机由域管理员组的成员创建。
有关详细信息,请参阅 KB5020276—Netjoin:域加入强化更改。
端口要求
下表列出了客户端计算机和 DC 之间打开所需的端口。
端口 | 协议 | 应用程序协议 | 系统服务名称 |
---|---|---|---|
53 | TCP | DNS(域名系统) | DNS 服务器 |
53 | UDP | DNS(域名系统) | DNS 服务器 |
389 | UDP | DC 定位器 | LSASS 公司 |
389 | TCP | LDAP 服务器 | LSASS 公司 |
88 | TCP | Kerberos | Kerberos 密钥分发服务器 |
135 | TCP | RPC | RPC 终结点映射程序 |
445 | TCP | 中小型企业 (SMB) | Lanman服务器 |
1024-65535 | TCP | RPC | 在客户端和域控制器之间处理 DSCrackNames、SAMR 和 Netlogon 调用的 RPC 终结点映射器。 |
常见问题和解决方案
域加入错误代码 | 原因 | 相关文章 |
---|---|---|
0x569 | 出现此错误的原因是,用于域加入的用户帐户在为域加入操作提供服务的域控制器(DC)上缺少从网络访问此计算机的权限。 | 故障排除错误代码0x569:用户未被授予在此计算机上的请求登录类型 |
0xaac或0x8b0 | 尝试使用现有计算机帐户名称将计算机加入域时,会发生此错误。 | 故障排除错误代码0xaac:使用现有计算机帐户加入域时失败 |
0x6BF 或 0xC002001C | 当网络设备(路由器、防火墙或虚拟专用网络(VPN)设备)拒绝加入客户端与域控制器(DC)之间的网络数据包时,会出现此错误。 | 对状态代码 0x6bf 或 0xc002001c 进行故障排除:远程过程调用失败且未执行 |
0x6D9 | 当加入的客户端和域控制器 (DC) 之间的网络连接被阻止时,会出现此错误。 | 对错误代码 0x6D9 “从端点映射器中没有更多可用的端点” 进行故障排除 |
0xa8b | 当您将工作组计算机加入域时,会出现此错误。 | 排查错误代码 0xa8b:尝试解析正在加入的域中的 DC 的 DNS 名称失败 |
0x40 | 此问题与获取服务器消息块 (SMB) 会话的 Kerberos 票证有关。 | 对错误代码 0x40 “指定的网络名称不再可用” 进行故障排除 |
0x54b | 出现此错误的原因是无法联系指定的域,这表明查找域控制器 (DC) 时出现问题。 | 故障排除错误代码 0x54b |
0x0000232A | 此错误表示无法解析域名系统 (DNS) 名称。 | 对错误代码 0x0000232A 进行故障排除 |
0x3a | 当客户端计算机在客户端计算机和域控制器 (DC) 之间的传输控制协议 (TCP) 389 端口上缺乏可靠的网络连接时,会发生此错误。 | 排查状态码0x3a:指定服务器无法执行请求的操作 |
0x216d | 当用户帐户超过可加入域的 10 台计算机的限制时,或者当组策略限制用户将计算机加入域时,会出现此错误。 | 故障排除状态代码0x216d:您的计算机无法加入域 |
将基于 Windows 的计算机加入域时发生的其他错误
有关详细信息,请参阅:
有关域加入问题的数据收集
若要排查域加入问题,以下日志可能会有所帮助:
Netsetup 日志
此日志文件包含有关域加入活动的大多数信息。 该文件位于客户端计算机上%windir%\debug\netsetup.log
。
默认情况下,此日志文件处于启用状态。 无需显式启用它。网络跟踪
网络跟踪包含客户端计算机与相对服务器(如 DNS 服务器和域控制器)之间通过网络进行通信。 应在客户端计算机上将其收集。 多个工具可以收集网络跟踪(如 Wireshark),netsh.exe 包含在所有 Windows 版本中。
可以单独收集每个日志。 或者,可以使用Microsoft提供的一些工具将它们收集在一起。 为此,请遵循以下部分中的步骤。
手动收集
- 在要加入 AD 域的客户端计算机上下载并安装 Wireshark。
- 使用管理员权限启动应用程序,然后开始捕获。
- 尝试加入 AD 域以重现错误。 记录错误消息。
- 停止在应用中捕获并将网络跟踪保存到文件中。
- 收集位于 %windir%\debug\netsetup.log 的 netsetup.log 文件。
使用身份验证脚本
身份验证脚本是由Microsoft开发的轻型 PowerShell 脚本,用于简化日志收集,以排查身份验证相关问题。 若要使用它,请执行以下步骤:
在客户端计算机上下载 身份验证脚本 。 将文件解压缩到文件夹。
使用管理员权限启动 PowerShell 窗口。 切换到包含这些提取文件的文件夹。
运行 start-auth.ps1,当出现提示时,接受最终用户许可协议,并在警告不受信任的发布者时允许执行。
注释
如果由于执行策略不允许运行脚本,请参阅 about_Execution_Policies。
命令成功完成后,请尝试加入 AD 域以重现错误。 记录错误消息。
运行 stop-auth.ps1,如果出现关于不受信任发布者的警告,请允许执行。
日志文件保存在 authlogs 子文件夹中,其中包括 Netsetup.log 日志和网络跟踪文件(Nettrace.etl)。
使用 TSS 工具
TSS 工具是由Microsoft开发的另一种工具,用于简化日志收集。 若要使用它,请执行以下步骤:
在客户端计算机上下载 TSS 工具 。 将文件解压缩到文件夹。
使用管理员权限启动 PowerShell 窗口。 切换到包含这些提取文件的文件夹。
运行下面的命令:
TSS.ps1 -scenario ADS_AUTH -noSDP -norecording -noxray -noupdate -accepteula -startnowait
如果系统提示,请接受 EULA;如果出现不受信任发布者的警告,请允许执行。
注释
如果由于执行策略不允许运行脚本,请参阅 about_Execution_Policies。
该命令需要几分钟才能完成。 命令成功完成后,请尝试加入 AD 域以重现错误。 记录错误消息。
运行
TSS.ps1 -stop
,如果收到关于不受信任发布者的警告,请允许执行。日志文件保存在 C:\MS_DATA 子文件夹中,并且已压缩。 ZIP 文件名遵循 TSS_<hostname>_<date-time><>-ADS_AUTH.zip格式。
zip 文件包括 Netsetup.log和网络跟踪。 网络跟踪文件名为 <hostname>_<date>-<time>-Netsh_packetcapture.etl。