使用远程管理诊断失败
简介
本文可帮助你检查并修复在使用 RemoteMgr 时发现的故障。 这基于 iis.net 论坛上的常见问题。
无法连接到远程服务器?
确保客户端和服务器使用相同的内部版本。 例如,服务器 Beta 3 RemoteMgr 不适用于 RC1 服务器内部版本。
可能存在与访问控制列表相关的问题, (ACL) 。
查看事件查看器 (eventvwr.msc) 日志。 事件记录时会附带详细的错误消息和堆栈跟踪。 查看事件查看器通常会告诉你问题可能是什么。
更新 WMSvc 绑定后无法连接到远程服务器?
如果在更新 Web Management Service (WMSvc) 配置为运行的端口后发生这种情况,检查服务器防火墙是否处于打开状态。 如果为 ON,请为运行 WMSvc 的端口添加新的异常规则, (默认值:8172) 。 然后,再次尝试连接到服务器。
如果这不能解决问题,请运行以下命令:
netsh http show sslcert
确保端口 8172 (运行 WMSvc 的端口) 具有 SSL 证书绑定。 此外,请确保证书哈希与管理服务 UI) 中 WMSvc 绑定到 (的证书哈希匹配。
下面是示例输出:
c:\>netsh http show sslcert
SSL Certificate bindings:
-------------------------
IP:port : 0.0.0.0:8172
Certificate Hash : f06ae62a5275a818338f05ecc80707335be1e204
Application ID : {00000000-0000-0000-0000-000000000000}
Certificate Store Name: MY
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only: Disabled
Usage Check : Enabled
Revocation Freshness Time: 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
然后运行以下命令:
netsh http show urlacl
确保 URL https://*:8172/
(配置为运行 WMSvc 的端口) 显示在保留 URL 列表中。
下面是示例输出:
c:\>netsh http show urlacl
URL Reservations:
-----------------
Reserved URL : https://*:8172/
User: NT SERVICE\WMSvc
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;S-1-5-80-257763619-1023834443-750927789-3464696139-1457670516)
使用 netsh
上一段中提到的命令来确定绑定是否未正确配置。 问题可能是计算机密钥对尝试调整 WMSvc 绑定的管理员没有权限。 在这种情况下,请尝试以下步骤:
获取计算机密钥的所有权:
takeown /F %ProgramData%\Microsoft\Crypto\RSA\MachineKeys\bedbf0b4da5f8061b6444baedf4c00b1* /R
配置计算机密钥的 ACL,以便管理员组具有读取权限:
icacls %ProgramData%\Microsoft\Crypto\RSA\MachineKeys\bedbf0b4da5f8061b6444baedf4c00b1* /grant Administrators:(R)
为 WMSvc 保留端口 8172。
netsh http add urlacl url=https://*:8172/ User="NT SERVICE\wmsvc"
将证书与端口相关联:
netsh http add sslcert ipport=0.0.0.0:8172 certhash=<certHash> appid={d7d72267-fcf9-4424-9eec-7e1d8dcec9a9}
不想每次连接到远程服务器时都看到客户端上的提示?
确保服务器对 WMSvc 使用受信任的根证书。 创建受信任的根证书 (如果尚未) ,请在“管理服务”功能页上分配该服务要使用的此证书。 这可确保客户端不会收到一条消息,提示服务器是否可以 (信任,因为证书不受信任) 。
其他帮助
如果前面的解决方法不起作用,请使用以下步骤捕获异常并调用堆栈。 然后将问题发布到 IIS.NET 论坛 上,并包括 eventvwr.msc 日志以及异常和调用堆栈。
下面是有关如何获取异常和调用堆栈的步骤:
附加到
windbg
wmsvc.exe。windbg -pn wmsvc.exe
加载 sos.dll 并在发生托管异常时设置断点。
.loadby sos mscorwks sxe clr
类型
g
。g
当异常中断时,打印异常和调用堆栈,并将其发送到 iis.net 论坛。
!pe !clrstack