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 帮助主题。
原因是什么或者我错过了什么。
以下是一些可能的错误原因和一些故障排除建议:
建议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 的ProxyAccessType、ProxyAuthentication和ProxyCredential参数New-PSSessionOption创建具有企业代理设置的会话选项对象。保存选项对象是一个变量。
第2步。使用包含选项对象的变量作为、或命令SessionOption的参数值。New-PSSessionEnter-PSSessionInvoke-Command
单击此文档了解详细信息。
忠告4
尝试在本地运行您的 PowerShell 文件,看看是否有相同的错误。