啟用 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 而不是主機名)