常见的原因
- Public Network Profile : WinRM 严格禁止在被归类为 网络上的自动防火墙配置 Public 您的网络连接配置必须设置为 Domain 或是 Private.
- Broken or Corrupted Listeners :现有的故障的 WinRM 收听器或受损的注册表状态阻止系统应用新的配置配置.
- Insufficient Administrative Privileges :从普通命令提示符或没有高级管理权限的终端运行设置实用程序.
逐步修复问题
步骤1:将网络配置文件更改为私有
如果您的当前网络连接设置为"公开",WinRM将失败.您必须将其更改为"私有".
- 按下右键 Start menu 并且选择 Windows Terminal (Admin) 或是 PowerShell (Admin).
- 运行下面的命令来识别您当前的网络连接索引和类型:
Get-NetConnectionProfile - 看看这个
NetworkCategory如果它说Public你必须改变它. - 运行下一个命令将连接类型切换为私有 (取代
NameYourNetwork在下面显示的真实名字.InterfaceAlias或是Name在您之前的命令中):Set-NetConnectionProfile -Name "NameYourNetwork" -NetworkCategory Private
步骤2:删除现有的听众
如果在端口5985或5986上存在受损的收听器配置,则会阻止更新服务进行配置.
- 在您的PowerShell升级窗口中,查看所有目前配置的活跃收听器:
winrm enumerate winrm/config/listener - 使用下面的删除命令清除破损的HTTP或HTTPS收听器:
winrm delete winrm/config/Listener?Address=*+Transport=HTTP winrm delete winrm/config/Listener?Address=*+Transport=HTTPS
步骤3:运行WinRM配置恢复
您可以强迫Windows管理仪器将配置变量重置到原始参数.
- 执行 WinRM 的内置系统恢复操作:
winrm invoke Restore winrm/Config
步骤4:重新启用PowerShell远程和快速配置
一旦环境变量被清除, 运行默认自动设置脚本.
- 启动标准的WinRM初始化脚本:
winrm quickconfig - 它们的类型 Y 然后按下. Enter 当被提示确认配置更改时.
- 通过设置PowerShell部署功能来完成初始化过程:
Enable-PSRemoting -Force
步骤 5: 重新启动 WinRM 服务
强迫Windows循环并应用您刚刚建立的干净操作配置更改.
- 运行最后一个命令重新启动管理套件:
Restart-Service -Name WinRM
可能有一些错误.. Learn Microsoft