VSTS管道中的PowerShell远程

时间:2019-06-04 09:31:53

标签: azure powershell azure-devops azure-pipelines

我想在我的VM上远程调用PowerShell命令。 我在管道中添加了“在目标计算机上运行PowerShell”任务。我提供了:远程虚拟机的IP,用户名和密码。 这是我得到的错误:

  

无法创建pssession。错误:“正在连接到远程服务器    失败,并显示以下错误消息:WinRM   无法完成操作。验证指定的计算机名称   有效,可以通过网络访问计算机,并且   WinRM服务的防火墙例外已启用并允许访问   从这台计算机上。默认情况下,WinRM防火墙例外   公共配置文件限制对同一计算机内远程计算机的访问   本地子网。有关更多信息,请参见   about_Remote_Troubleshooting帮助主题。

在我的远程VM上,我做了:

Enable-PSRemoting
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

此处提到了这些命令:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-6

我还能做什么?

1 个答案:

答案 0 :(得分:1)

要通过Windows计算机WinRM在目标计算机任务上运行PowerShell脚本,您需要首先在目标计算机上配置WinRM。有两种协议供您选择:HTTP和HTTPS。 HTTPS更安全,建议使用。如果使用HTTPS,则需要在防火墙中打开端口5986并安装自签名证书。您可以按照PowerShell on Target Machines task中的步骤进行操作。

对于评论中的问题,您可以在测试证书中找到说明,我认为原因是您使用自己创建的自我证书。