在 linux 中我们可以使用 SSH 执行各种远程操作,同样的在 windows 平台上我们可以通过 PowerShell 获得类似的能力。本文将介绍通过 PowerShell 执行远程操作的基本信息。想了解 SSH 远程操作的同学,可以参考《SSH 远程执行任务》。
基础
MS 定义了一个叫做 WS-Management 的协议,这个协议为计算机设备远程交换管理数据提供了一个公开的标准。在 Windows 平台上,MS 通过 Windows 远程管理服务(Windows Remote Management service,简称 WinRM) 实现了 WS-Management 协议。这就是我们可以通过 PowerShell 执行远程操作的基础,因为 PowerShell 就是通过 WinRM 服务来进行远程操作的。
检查 WinRM 服务
我们可以通过下面的命令查看 WinRM 服务的状态:
Get-Service WinRM
服务器版的 Windows 系统默认是启动 WinRM 服务的,而普通版的系统默认则没有启动该服务。接下来我们将介绍如何以正确的姿势启动这个服务。
配置系统接受远程命令
类似于 SSH 的客户端/服务器架构,只需要在接受远程命令的主机上配置 WinRM 服务就可以了。其实就是让 WinRM 服务监听一个端口,跟 SSH daemon 是一样的!
延伸阅读
学习是年轻人改变自己的最好方式