在 linux 中我們可以使用 SSH 執(zhí)行各種遠程操作,同樣的在 windows 平臺上我們可以通過 PowerShell 獲得類似的能力。本文將介紹通過 PowerShell 執(zhí)行遠程操作的基本信息。想了解 SSH 遠程操作的同學(xué),可以參考《SSH 遠程執(zhí)行任務(wù)》。
基礎(chǔ)
MS 定義了一個叫做 WS-Management 的協(xié)議,這個協(xié)議為計算機設(shè)備遠程交換管理數(shù)據(jù)提供了一個公開的標準。在 Windows 平臺上,MS 通過 Windows 遠程管理服務(wù)(Windows Remote Management service,簡稱 WinRM) 實現(xiàn)了 WS-Management 協(xié)議。這就是我們可以通過 PowerShell 執(zhí)行遠程操作的基礎(chǔ),因為 PowerShell 就是通過 WinRM 服務(wù)來進行遠程操作的。
檢查 WinRM 服務(wù)
我們可以通過下面的命令查看 WinRM 服務(wù)的狀態(tài):
Get-Service WinRM
服務(wù)器版的 Windows 系統(tǒng)默認是啟動 WinRM 服務(wù)的,而普通版的系統(tǒng)默認則沒有啟動該服務(wù)。接下來我們將介紹如何以正確的姿勢啟動這個服務(wù)。
配置系統(tǒng)接受遠程命令
類似于 SSH 的客戶端/服務(wù)器架構(gòu),只需要在接受遠程命令的主機上配置 WinRM 服務(wù)就可以了。其實就是讓 WinRM 服務(wù)監(jiān)聽一個端口,跟 SSH daemon 是一樣的!