啟用 PowerShell 遠端處理
必須首先在要遠端連線的伺服器上啟用 PowerShell 遠端處理。
Enable-PSRemoting -Force
此命令執行以下操作:
- 執行 Set-WSManQuickConfig cmdlet,該 cmdlet 執行以下任務:
- 啟動 WinRM 服務。
- 將 WinRM 服務上的啟動型別設定為自動。
- 建立一個偵聽器以接受任何 IP 地址上的請求(如果尚不存在)。
- 為 WS-Management 通訊啟用防火牆例外。
- 註冊 Microsoft.PowerShell 和 Microsoft.PowerShell.Workflow 會話配置(如果它們尚未註冊)。
- 在 64 位計算機上註冊 Microsoft.PowerShell32 會話配置(如果尚未註冊)。
- 啟用所有會話配置。
- 更改所有會話配置的安全描述符以允許遠端訪問。
- 重新啟動 WinRM 服務以使前面的更改生效。
僅適用於非域環境
對於 AD 域中的伺服器,PS 遠端驗證通過 Kerberos(預設)或 NTLM(協商)完成。如果要允許遠端連線到非域伺服器,則有兩種選擇。
要麼通過 HTTPS 設定 WSMan 通訊(需要證書生成),要麼啟用基本身份驗證,通過 wire base64 編碼傳送你的憑據(這與普通文字基本相同,所以要小心)。
在任何一種情況下,你都必須將遠端系統新增到 WSMan 可信主機列表中。
啟用基本身份驗證
Set-Item WSMan:\localhost\Service\AllowUnencrypted $true
然後,你要連線的計算機上的,你必須告訴它信任正在連線電腦來。
Set-Item WSMan:\localhost\Client\TrustedHosts '192.168.1.1,192.168.1.2'
Set-Item WSMan:\localhost\Client\TrustedHosts *.contoso.com
Set-Item WSMan:\localhost\Client\TrustedHosts *
重要提示 :你必須告訴你的客戶信任以你想要連線的方式定址的計算機(例如,如果你通過 IP 連線,它必須信任 IP 而不是主機名)