3

我的目标是通过 TFS 任务“ PowerShell on Target Machines”在远程服务器上执行 PowerShell 文件,因为到目前为止我采取的步骤是:

构建和远程服务器都已启用

Enable-PSRemoting -Force

还添加了添加的信任主机服务器 IP

Set-Item wsman:\localhost\client\trustedhosts *

Restart-Service WinRM

完成上述所有步骤后,TFS 任务仍然出现以下错误

##[error]连接到远程服务器“REMOTE SERVER IP”失败,出现以下错误消息客户端无法连接到请求中指定的目标。验证目标上的服务是否正在运行并且正在接受请求。请查阅在目标(最常见的是 IIS 或 WinRM)上运行的 WS-Management 服务的日志和文档。如果目标是 WinRM 服务,在目标上运行以下命令来分析和配置 WinRM 服务:“winrm quickconfig”。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。

将是什么原因或我错过了什么。

4

2 回答 2

3

以下是错误的一些可能原因和一些故障排除建议:

建议 1

如果 Window 远程管理服务及其侦听器功能已损坏,则可能会出现此问题。

要解决此问题,请按照下列步骤操作:

第1步。安装最新的 Windows 远程管理更新。

第2步。运行以下命令恢复监听配置:

winrm invoke Restore winrm/Config

第三步。运行以下命令以执行 Windows 远程管理服务及其侦听器的默认配置:

winrm quickconfig

单击此文档以获取详细信息。

建议 2

防火墙异常的组策略配置可能不正确。策略中的配置错误会导致属性值为空ListeningOn。使用以下命令检查该值。

PS> Get-WSManInstance winrm/config/listener -Enumerate

单击此文档以获取详细信息以及如何解决该问题。

建议 3

问题的可能原因是 HTTP 代理的错误设置。因为 PowerShell 远程处理使用 HTTP 协议,所以它受 HTTP 代理设置的影响。

要解决此问题:

第1步。使用 cmdlet 的ProxyAccessTypeProxyAuthenticationProxyCredential参数New-PSSessionOption为您的企业创建具有代理设置的会话选项对象。保存选项对象是一个变量。

第2步。使用包含选项对象的变量作为SessionOptiona New-PSSessionEnter-PSSessionInvoke-Commandcommand 的参数值。

单击此文档以获取详细信息。

建议 4

尝试在本地运行您的 PowerShell 文件,看看它是否有相同的错误。

于 2020-12-03T05:48:42.967 回答
0

就我而言,问题是 WinRM 服务没有运行。默认是手动启动。

从服务启动服务后,问题就消失了。

于 2022-01-18T11:41:22.480 回答