PowerShell:客户端无法连接到请求中指定的目标

Saa*_*wan 7 windows powershell azure-pipelines tfs-2018

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

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

Enable-PSRemoting -Force
Run Code Online (Sandbox Code Playgroud)

还添加了 trusthost 服务器 IP

Set-Item wsman:\localhost\client\trustedhosts *
Run Code Online (Sandbox Code Playgroud)

Restart-Service WinRM
Run Code Online (Sandbox Code Playgroud)

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

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

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

Jan*_*SFT 5

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

建议1

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

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

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

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

winrm invoke Restore winrm/Config
Run Code Online (Sandbox Code Playgroud)

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

winrm quickconfig
Run Code Online (Sandbox Code Playgroud)

单击此文档了解详细信息。

建议2

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

PS> Get-WSManInstance winrm/config/listener -Enumerate
Run Code Online (Sandbox Code Playgroud)

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

建议3

出现该问题的原因可能是HTTP代理设置错误。由于 PowerShell 远程处理使用 HTTP 协议,因此它受 HTTP 代理设置的影响。

要解决此问题:

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

第2步。使用包含选项对象的变量作为、或命令SessionOption的参数值。New-PSSessionEnter-PSSessionInvoke-Command

单击此文档了解详细信息。

忠告4

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