登录
首页 >  文章 >  软件教程

Windows开启WinRM服务详细教程

时间:2026-04-16 10:21:48 280浏览 收藏

推广推荐
前往下载Windows工具 ➜
支持 PC / 移动端,安全直达
本文详细介绍了在Windows系统中启用WinRM服务的四种实用方法——PowerShell一键启用、手动精细配置、域环境组策略统一部署以及批处理脚本批量自动化启用,并强调了验证连通性与安全注意事项,帮助运维人员快速解决因WinRM默认禁用导致的PowerShell远程管理、Ansible连接失败等常见问题,兼顾效率、灵活性与企业级管控需求。

Windows怎么启用Windows远程管理WinRM_Windows如何开启WinRM服务用于远程命令执行管理【进阶】

如果您需要在Windows系统中启用WinRM服务以支持远程命令执行与管理操作,则可能是由于默认状态下WinRM处于禁用状态,导致PowerShell远程会话、Ansible控制节点连接或WS-Management协议调用失败。以下是启用WinRM服务的多种方法:

一、使用PowerShell命令启用WinRM(推荐)

该方法通过管理员权限的PowerShell直接调用Enable-PSRemoting cmdlet,自动配置监听器、防火墙规则及服务启动模式,适用于大多数标准Windows版本(Windows 7 SP1及以上、Windows Server 2008 R2及以上)。

1、以管理员身份运行Windows PowerShell。

2、执行命令:Enable-PSRemoting -Force

3、等待命令完成,系统将自动启动WinRM服务、设置为自动启动、启用HTTP监听器并配置Windows防火墙允许入站WinRM流量。

4、验证服务状态:执行Get-Service WinRM,确认Status为Running且StartType为Automatic。

二、手动配置WinRM服务与监听器

当组织策略禁用Enable-PSRemoting或需自定义监听端口、认证方式时,可手动逐项配置WinRM服务参数,确保控制粒度更高且适配特定安全要求。

1、以管理员身份运行PowerShell。

2、启动WinRM服务并设为自动启动:Start-Service WinRM; Set-Service WinRM -StartupType Automatic

3、创建HTTP监听器(如未存在):winrm create winrm/config/listener?Address=*+Transport=HTTP

4、启用基本身份验证(若需支持明文凭据,仅限受信内网):winrm set winrm/config/auth @{Basic="true"}

5、允许远程管理通过本地策略:winrm set winrm/config/service @{AllowUnencrypted="true"}(注意:此设置降低安全性,仅调试阶段临时启用)。

三、通过组策略启用WinRM(域环境适用)

在Active Directory域环境中,可通过组策略对象(GPO)统一部署WinRM配置,确保所有加入域的客户端符合企业级远程管理策略要求,避免逐台手动配置。

1、在域控制器上打开“组策略管理”控制台(gpmc.msc)。

2、编辑目标OU关联的GPO,在路径计算机配置 → 管理模板 → Windows组件 → Windows远程管理(WinRM)→ WinRM服务下启用“允许自动配置WinRM监听器”策略。

3、进入计算机配置 → 管理模板 → Windows组件 → Windows远程管理(WinRM)→ WinRM客户端,配置“允许未加密流量”与“允许基本身份验证”为已启用(依安全策略决定是否勾选)。

4、运行gpupdate /force强制刷新组策略,并在客户端执行winrm quickconfig -quiet完成本地初始化。

四、使用批处理脚本一键启用(离线/批量部署场景)

适用于无GUI环境(如Server Core)、自动化部署流水线或需在多台机器上快速启用WinRM的场景,脚本整合服务启动、监听器注册、防火墙放行等全部必要动作。

1、新建文本文件,扩展名为.bat,内容如下:

@echo off winrm quickconfig -quiet winrm set winrm/config/service @{AllowUnencrypted="true"} winrm set winrm/config/service/auth @{Basic="true"} netsh advfirewall firewall add rule name="WinRM-HTTP" dir=in action=allow protocol=TCP localport=5985

2、右键选择“以管理员身份运行”该批处理文件。

3、脚本执行完毕后,检查输出中无ERROR字样,并确认端口5985处于监听状态:netstat -ano | findstr :5985

五、验证WinRM连通性与功能可用性

启用完成后必须进行端到端验证,确保远程主机可被发现、认证成功且能执行基础命令,排除网络层、策略层或服务配置残留问题。

1、在本地管理员PowerShell中执行:Test-WsMan -ComputerName 目标主机名或IP,确认返回WsManStackVersion等信息。

2、建立临时远程会话:$session = New-PSSession -ComputerName 目标主机名 -Credential Get-Credential,输入目标主机有效凭据。

3、执行远程命令验证:Invoke-Command -Session $session -ScriptBlock {hostname},应返回目标主机的计算机名。

4、断开会话:Remove-PSSession $session

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>