您可以将 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 服务的通道绑定令牌强化级别设置为 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