本文提供了一种解决方法,用于解决域控制器启动时 IsmServ 服务无法正确启动的问题。
原始 KB 数: 4530043
现象
启动 Windows Server 域控制器(DC)时,它无法正确启动。 检查系统登录事件查看器时,可找到事件 ID 7023 的以下条目:
日志名称: 系统 源:服务控制管理器 事件 ID:7023 级别:错误 描述: IsmServ 服务已终止并出现以下错误: 指定的服务器无法执行请求的操作。 事件 Xml: <事件 xmlns=“
http://schemas.microsoft.com/win/2004/08/events/event”> ... <EventData> <数据名称=“param1”>IsmServ</Data> <数据名称=“param2”>%%58</Data> </EventData> </事件>
此事件包括以下数据参数:
- param1 参数值 IsmServ:这表示站点间消息服务(ISMserv.exe)。
- param2 参数值 58:这映射到ERROR_BAD_NET_RESP消息(“指定的服务器无法执行请求的操作”)。
若要收集有关此问题的详细信息,可以将 Windows 的 LDAP 事件跟踪(ETW)配置为在系统启动时运行。 (有关如何执行此操作的详细信息,请参阅 详细信息。)重启 DC 后,日志中应会显示以下行:
[Microsoft-Windows-LDAP-Client/Debug]Message=LDAP 连接0xec4b08a8使用 GetHostByName 成功解析了“localhost”。 ... [Microsoft-Windows-LDAP-Client/Debug]Message=gethostbyname 为“
dc1.contoso.com[Microsoft-Windows-LDAP-Client/Debug] Message=LdapParallelConnect 收集了 2 条记录,该记录调用连接0xec4b08a8超时为 45 秒 0 usec。总计数为 2。 [Microsoft-Windows-LDAP-Client/Debug]消息=尚未响应... [Microsoft-Windows-LDAP-Client/Debug]Message=LdapParallelConnect 已完成连接0xec4b08a8。 花费的时间是 1 秒。指定的原始超时为 45 秒 0 usec。 ... [Microsoft-Windows-LDAP-Client/Debug]Message=LdapConnect 无法打开连接0xec4b08a8,错误 = 0x5b。 [Microsoft-Windows-LDAP-Client/Debug]Message=LdapConnect 线程0xce0已关闭连接0xec4b08a8。
在此事件中,错误参数(0x5b或 91)的值映射到LDAP_CONNECT_ERROR消息。
原因
ISMServ 依赖于Active Directory 域服务(AD DS)。 但是,在系统启动期间,ISMServ 可能会尝试在 AD DS 联机之前创建与 AD DS 的 LDAP 连接。 发生这种情况时,ISMServ 尝试连接时,LDAP 端口(TCP 端口 389)不可用。 由于端口未侦听,ISMServ 确定连接已失败,而无需等待连接超时期限(45 秒)。 因此,ISMServ 不会启动。
解决方法
若要立即解决此问题,请手动重启 ISMServ。
若要避免将来出现此问题,请使用服务和应用程序 MMC 管理单元将 ISMServ 的启动类型从自动更改为自动(延迟启动)。
详细信息
若要配置 LDAP ETW,请执行以下步骤:
-
使用注册表编辑器创建以下注册表子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ldap\Tracing\ISMSERV.EXE -
打开提升的命令提示符窗口,并运行以下命令:
logman create trace "autosession\g_os" -ow -o c:\boot-ldap.etl -p "Microsoft-Windows-LDAP-Client" 0xffffffffffffffff 0xff -nb 16 16 -bs 1024 -mode Circular -f bincirc -max 4096 -ets reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\g_os /v FileMax /t REG_DWORD /d 2 /F -
重新启动计算机。
-
计算机启动后,在提升的命令提示符处运行以下命令:
logman stop "g_os" -ets -
完成收集数据后,在提升的命令提示符处运行以下命令以停止跟踪:
logman delete "autosession\g_os" -ets
Status
Microsoft已确认,本文开头列出的Microsoft产品中存在此问题。