要检查WinRM服务是否已启用,可以通过以下方法进行验证:
方法一:通过服务管理器(图形界面)
-
按
Win + R打开运行窗口,输入services.msc并回车 -
在服务列表中找到 Windows Remote Management (WS-Management)
-
查看服务状态:
-
正在运行:表示服务已启用
-
已停止:表示服务未启用
-
-
检查启动类型:
-
自动:系统启动时会自动运行
-
手动:需要手动启动
-
禁用:服务被禁用
-
方法二:使用命令提示符(CMD)
cmd
复制
下载
sc query winrm
-
输出关键信息:
-
STATE : 4 RUNNING→ 服务正在运行 -
STATE : 1 STOPPED→ 服务已停止 -
若显示
[SC] EnumQueryServicesStatus:OpenService FAILED 1060→ 表示WinRM服务未安装/不存在
-
方法三:使用PowerShell(推荐)
1. 检查服务状态:
powershell
复制
下载
Get-Service -Name WinRM | Select-Object Status, StartType
-
输出示例:
text
复制
下载
Status StartType ------ --------- Running Automatic # 服务已启用且自动启动
2. 检查监听配置:
powershell
复制
下载
winrm enumerate winrm/config/listener
-
有效输出示例:
text
复制
下载
Listener Address = * Transport = HTTP/HTTPS Port = 5985/5986 ... # 显示具体配置表示服务已启用 -
若显示错误:
WSManFault: ... 无法访问WinRM服务→ 表示服务未启用
方法四:测试基础连通性
powershell
复制
下载
Test-WSMan -ComputerName localhost
-
成功启用时的输出:
text
复制
下载
wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd ... # 显示服务器信息
-
未启用时的错误:
无法连接到目标服务器... 验证服务是否在目标上运行并接受请求
方法五:检查防火墙规则
powershell
复制
下载
Get-NetFirewallRule -DisplayName "WinRM*" | Select-Object Enabled, Profile
-
确认存在 Enabled: True 的规则(特别是针对端口5985/5986)
未启用的解决方案
如果发现WinRM未启用,使用管理员权限运行:
powershell
复制
下载
# 启用WinRM服务 Enable-PSRemoting -Force # 设置服务自动启动 Set-Service -Name WinRM -StartupType Automatic
验证流程图

注意:
所有命令需在管理员权限下执行
企业环境中可能需要先执行
Set-ExecutionPolicy RemoteSigned若在域环境中,需确保组策略未禁用WinRM(检查策略:
gpedit.msc→ 计算机配置/管理模板/Windows组件/Windows远程管理)

703

被折叠的 条评论
为什么被折叠?



