您可以将 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