本文提供了在将工作组计算机加入域时解决远程过程调用(RPC)状态代码0x6bf或0xc002001c的故障排除步骤。
将工作组计算机加入域时,会收到以下错误消息:
远程过程调用失败,未执行。
检查 NetSetup.log 文件时,会看到以下条目。 例如:
NetpGetLsaHandle: LsaOpenPolicy on \\<DC name>.<domain>.<tld> failed: 0xc002001c
NetpGetLsaPrimaryDomain: status: 0xc002001c
NetpJoinDomain: initiaing a rollback due to earlier errors
NetpJoinDomain: status of disconnecting from '\\<DC name>.<domain>.<tld>': 0x0
NetpDoDomainJoin: status: 0x6bf
网络设备拒绝网络数据包
当网络设备(路由器、防火墙或虚拟专用网络(VPN)设备)拒绝加入客户端与域控制器(DC)之间的网络数据包时,会出现此错误。
错误0x6ba(RPC_S_SERVER_UNAVAILABLE)不同。 发生错误0x6ba时,设备无法创建到服务器端口的 TCP 会话。 错误0x6bf指示可以创建 TCP 会话,但 RPC 请求消息无法成功传递,并且 TCP 会话已重置。
RPC 网络会话问题的另一个变体是错误0x6be(RPC_S_CALL_FAILED)。 在这种情况下,可以传递 RPC 请求消息,但在收到响应之前重置 TCP 会话。
验证并测试连接
若要排查此问题,请使用以下步骤:
通过所需的端口和协议验证要加入的客户端与目标 DC 之间的连接。
服务器端口 服务/协议 传输控制协议 (TCP) 135 RPC 终结点映射程序 TCP 49152 - 65535 RPC (动态端口分配) TCP 445 服务器消息块 (SMB) 用户数据报协议 (UDP)/TCP 389 轻型目录访问协议 (LDAP) 请参阅 “如何为 Active Directory 域和信任配置防火墙”中所需端口的列表。
通过运行以下 cmdlet 测试客户端与 DC 之间的连接:
Test-NetConnection <IP_address_of_the_DC> -Port 389
预期输出如下所示:
ComputerName : <ComputerName> RemoteAddress : <RemoteAddress> RemotePort : 389 InterfaceAlias : Ethernet 2 SourceAddress : <SourceAddress> TcpTestSucceeded : True
输出指示 LDAP 端口 TCP 389 在客户端和 DC 之间打开。
使用 PortQry 命令行工具确定 DC 上是否阻止了端口(TCP/UDP)。 有关详细信息,请参阅 使用 PortQry 命令行工具。
下面是一些示例语法:
portqry -n <problem_server> -e 135
portqry -n <problem_server> -e 445
portqry -n <problem_server> -e 389
portqry -n <problem_server> -p UDP -e 389
portqry -n <problem_server> -r 49152:65535
下面是一些示例输出:
如果 DC 上的 TCP 135 端口连接被阻止,则会看到以下输出:
C:\PortQryV2>portqry -n dc2 -e 135 Querying target system called: Dc2 Attempting to resolve name to IP address… Name resolved to 192.168.1.2 querying... TCP port 135 <epmap service>: FILTERED
如果 DC 上的 TCP 389 端口连接成功,则会看到以下输出:
C:\PortQryV2>portqry -n dc2 -e 389 Querying target system called: Dc2 Attempting to resolve name to IP address… Name resolved to 192.168.1.2 querying... TCP port 389 <ldap service>: LISTENING
若要确定是否存在进一步的网络连接问题,请在重现问题时根据需要收集网络跟踪。 可用于 netsh trace
生成 ETL 文件,并将 ETL 文件转换为 PCAP 文件,Wireshark 可以读取该文件。