您可以將 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 用戶端啟用基本驗證。
    1. 執行以下命令,檢查是否已允許基本驗證。

      c:\> winrm get winrm/config/client

    2. 執行以下命令啟用基本驗證。

      c:\> winrm set winrm/config/client/auth @{Basic="true"}

  6. 執行以下命令,允許在 WinRM 用戶端傳輸未加密資料。

    c:\> winrm set winrm/config/client @{AllowUnencrypted="true"}

  7. 如果 WinRM 主機電腦位於外部網域,請執行以下命令以指定信任的主機。

    c:\> winrm set winrm/config/client @{TrustedHosts="host1, host2, host3"}

  8. 執行以下命令以測試與 WinRM 服務的連線。

    c:\> winrm identify -r:http://winrm_server:5985 -auth:basic -u:user_name -p:password -encoding:utf-8