今天我被这个臭名昭著的2012R2错误彻底打败了:
Server Manager could not start the task due to the following error: Failed to open the runspace pool. The Server Manager WinRM plug-in might be corrupted or missing.
运气不好。事件日志中没有一个错误。当然我可以用 Powershell 添加或删除角色,或者彻底清除这台机器。我仍然在寻找这个简单问题的正常解决方案。
进一步的测试表明我的错误是可重复的。我已经在完全更新的 Windows Server 2012 R2 Standard 安装上进行了测试,并能够重现它。问题出现在以下语句之后:
winrm invoke Restore http://schemas.microsoft.com/wbem/wsman/1/config/plugin @{}
完整详情如下。有什么想法吗?
域控制器从 win2008 R2 升级到 2012R2 后,一切都运行正常。 [dcdiag /fix /q] 除了下面的错误外没有显示任何其他内容。 升级后几小时出现错误(不是立即出现): 来源:Microsoft-Windows-WinRM 事件 ID:10155 级别:错误 描述: WSMan 服务无法读取以下插件的配置: Microsoft.服务器管理器。 收到的错误为 -2144108144:%%-2144108144 WS-Management 服务无法处理该请求。插件“Microsoft.ServerManager”的配置已损坏。此插件需要重新配置或删除。使用以下命令删除插件配置 winrm 删除 http://schemas.microsoft.com/wbem/wsman/1/config/plugin?Name=xyz 或者使用以下命令恢复默认插件配置。请注意,在此恢复操作期间,所有外部插件都将被取消注册。 winrm 调用恢复 http://schemas.microsoft.com/wbem/wsman/1/config/plugin @{}。 用户操作 确保此插件配置有效。 我在CMD窗口中运行: winrm 调用恢复 http://schemas.microsoft.com/wbem/wsman/1/config/plugin @{} 然后,服务器重启后,服务器管理器停止正常工作,并出现第一段中提到的错误。 配置和 Windows 详细信息如下。 PS C:\> winrm quickconfig WinRM 服务已在此计算机上运行。 WinRM 已在此计算机上设置远程管理。 PS C:\> winrm 枚举 winrm/config/listener 听众 地址 = * 传输 = HTTP 端口 = 5985 主机名 已启用 = true URLPrefix = wsman 证书指纹 监听开启 = 127.0.0.1, 192.168.30.6, ::1 PS C:\> (Get-WmiObject -class Win32_OperatingSystem).Caption Microsoft Windows Server 2012 R2 数据中心 PS C:\> [System.Environment]::OSVersion.Version 大满贯:6 未成年人:3 版本:9600 修订:0 主要修订:0 次要修订 : 0
答案1
看来 WinRM/WSMAN 配置必须重置为默认值。感谢这个帖子我已经找到它驻留在哪里。因此,将HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN
注册表设置从新安装的 Win 2012 R2 复制到问题机器可以消除此错误。
仅针对这种情况,截至 2016 年 10 月 17 日,完全更新的全新安装 Win 2012 R2 Standard(英语)的设置如下:
Windows 注册表编辑器版本 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN] “StackVersion”=“2.0” [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\AutoRestartList] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\CertMapping] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\客户端] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Listener] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Listener\*+HTTP] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\插件] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Plugin\事件转发插件] “配置XML”=“” [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Plugin\Microsoft.PowerShell] “ConfigXML”=“” [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Plugin\Microsoft.PowerShell.Workflow] “ConfigXML”=“” [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Plugin\Microsoft.PowerShell32] “ConfigXML”=“” [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Plugin\Microsoft.Windows.ServerManagerWorkflows] “ConfigXML”=“” [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Plugin\SEL 插件] “ConfigXML”=“” [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Plugin\WMI 提供程序] “配置XML”=“” [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\SafeClientList] "WSManSafeClientList"=十六进制:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Service] “允许远程请求”=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\WinRS] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\WinRS\CustomRemoteShell]
答案2
下面的链接帮助解决了这个问题,而无需编辑我的注册表http://www.lukebrowning.com/sysadmin/windows/windows-server-2012-winrm-corrupt-or-missing/
答案3
如果您的服务器上有多个网络接口(IP 地址)——@jide jimoh 博客文章中的关键部分是:
netsh http add iplisten 127.0.0.1
确保以提升的权限运行此命令。
所有功劳归于吉德吉莫。
并且无需弄乱注册表。
答案4
就我而言,添加 127.0.0.1 或 scv /scannow 也无法解决问题。
我刚刚禁用了 Windows 防火墙,服务器管理器便按预期工作了。我能够使用受影响服务器中的服务器管理器 GUI 成功卸载角色/功能,但我完全不知道原因。完成该过程后,我启用了 Windows 防火墙。