WinRM2.0从Windows Vista SP1,Windows Server 2008就开始提供了支持,对于WindowsServer 2012来说是内建启用并支持了,而Windows 8虽然包含了这个组件,但是默认情况下并没有启用,因此要执行远程管理的话就需要启用这个功能,才能提供同通过Powershell进行远程管理的功能。

首先,我们可以先确认WinRM服务的启动状态,StatusRunning代表服务已经启动了(还需要确认启动类型为自动)。

137272906246.png

如果没有启用的话,我们可以通过Powershell中提供的Enable-PSRemoting 函数进行配置。该function会执行:

1. 启动或重新启动(如果已启动) WinRM 服务

2. 将 WinRM 服务启动类型设置为“自动” 

3. 创建侦听程序以接受任意 IP 地址上的请求

4. 为 WS-Management 通信启用 Windows 防火墙入站规则例外(仅适用于 http)

对于该函数流程和步骤需要进行交互配置确认,为了简便可以一概确认默认值,因此只需要执行:

Enable-PSRemoting –Force 就可以了。

137272906750.png

配置完成后,可以通过Test-WSMan命令测试WinRM已经正确配置好并可以建立远程连接了。例如Test-WSMan –computername cnshzhai

我差点忘了,在多数情况下对于远程主机不在一个域环境是可以管理的,但如果不是一个受信域主机,则远程主机会拒绝验证你的凭据。所以,需要启用身份验证就要先将远程计算机添加到 WinRM 在本地计算机的受信任主机的列表里面。

例如:

winrm s winrmconfigclient '@{TrustedHosts=远程计算机}'