最直接有效的方式是用管理员权限运行powershell并执行enable-psremoting -force,该命令自动启动winrm服务、配置http监听器、开放5985端口、设置防火墙规则、注册powershell会话配置并启用ntlm/kerberos认证,一步完成远程管理就绪。
最直接有效的方式是用管理员权限运行 powershell,执行 enable-psremoting -force。这条命令会自动完成服务启动、监听器创建、防火墙放行和会话配置,一步到位,无需手动干预。
为什么推荐 Enable-PSRemoting?
它不只是开启 WinRM 服务,而是完整启用 PowerShell 远程管理能力:注册默认会话配置(如 Microsoft.PowerShell)、启用 NTLM/Kerberos 认证、开放 5985 端口、设置服务为自动启动,并确保远程命令(Invoke-Command)、交互式会话(Enter-PSSession)全部可用。适用于 Windows 7 SP1、Windows Server 2008 R2 及更新系统。
执行步骤很简单
- 右键“开始”菜单 → 选择“Windows PowerShell(管理员)”或“Windows Terminal(管理员)”
- 输入命令:Enable-PSRemoting -Force
- 等待几秒,看到提示“WinRM 服务已配置并正在运行”即表示成功
- 验证是否就绪:Get-Service WinRM 应显示状态为 Running,启动类型为 Automatic
补充说明几个关键点
该命令默认使用 HTTP(5985 端口),不启用 HTTPS;若需 Basic 认证(例如 Ansible 密码登录),需额外运行:
winrm set winrm/config/auth @{Basic="true"}
若连接目标不在域内(如工作组环境),客户端还需配置信任主机:
winrm set winrm/config/client @{TrustedHosts="192.168.1.100"} 或 winrm set winrm/config/client @{TrustedHosts="*"}(仅限测试环境)
替代方案:winrm quickconfig 适合快速验证
如果只是临时测试或新手入门,也可用:
winrm quickconfig(或简写 winrm qc)
它会启动服务、创建 HTTP 监听器、添加防火墙规则,但不会注册 PowerShell 会话配置,部分高级功能可能受限。生产环境仍建议首选 Enable-PSRemoting。











