您可以將 WinRM 主機設定為透過 HTTP 通訊協定與 PowerShell 外掛程式進行通訊。

您必須在 WinRM 主機電腦上執行命令,藉此修改 WinRM 組態。您可以使用與 WinRM 服務和 WinRM 用戶端相同的電腦。

重要: 如果您在設定 WinRM 使用 HTTP 的過程中略過任何步驟,則主機可能無法新增,記錄中也可能會收到錯誤訊息,例如:
Caused by: org.dom4j.DocumentException: Error on line -1 of document : Premature end of file. 
Nested exception: Premature end of file.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:278)
at com.xebialabs.overthere.cifs.winrm.connector.JdkHttpConnector.sendMessage(JdkHttpConnector.java:117)

程序

  1. 執行以下命令,設定預設的 WinRM 組態值。
    c:\> winrm quickconfig
  2. (選擇性) 執行以下命令,檢查接聽程式是否正在執行,並且驗證預設連接埠。
    c:\> winrm e winrm/config/listener

    HTTP 的預設連接埠是 5985,HTTPS 的則是 5986。

  3. 對 WinRM 服務啟用基本驗證。
    1. 執行以下命令,檢查是否已允許基本驗證。
      c:\> winrm get winrm/config/service
    2. 執行以下命令啟用基本驗證。
      c:\> winrm set winrm/config/service/auth @{Basic="true"}
  4. 執行以下命令以允許在 WinRM 服務中傳輸未加密資料。
    c:\> winrm set winrm/config/service @{AllowUnencrypted="true"}
  5. 如果 WinRM 服務的通道繫結 Token 強化層級設定為 strict(嚴格),請將其值變更為 relaxed(放鬆)。
    c:\> winrm set winrm/config/service/auth @{CbtHardeningLevel="relaxed"}
  6. 對 WinRM 用戶端啟用基本驗證。
    1. 執行以下命令,檢查是否已允許基本驗證。
      c:\> winrm get winrm/config/client
    2. 執行以下命令啟用基本驗證。
      c:\> winrm set winrm/config/client/auth @{Basic="true"}
  7. 執行以下命令,允許在 WinRM 用戶端傳輸未加密資料。
    c:\> winrm set winrm/config/client @{AllowUnencrypted="true"}
  8. 如果 WinRM 主機電腦位於外部網域,請執行以下命令以指定信任的主機。
    c:\> winrm set winrm/config/client @{TrustedHosts="host1, host2, host3"}
  9. 執行以下命令以測試與 WinRM 服務的連線。
    c:\> winrm identify -r:http://winrm_server:5985 -auth:basic -u:user_name -p:password -encoding:utf-8