【发布时间】:2019-06-04 09:31:53
【问题描述】:
我想在我的虚拟机上远程调用 PowerShell 命令。 我在管道中添加了“在目标机器上运行 PowerShell”任务。我提供了:我的远程虚拟机的 IP、用户名和密码。 这是我得到的错误:
无法创建 pssession。错误:'连接到远程服务器 失败并显示以下错误消息:WinRM 无法完成操作。验证指定的计算机名称 是有效的,计算机可以通过网络访问,并且 WinRM 服务的防火墙例外已启用并允许访问 从这台电脑。默认情况下,WinRM 防火墙例外 公共配置文件限制对同一范围内的远程计算机的访问 本地子网。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。'
在我的远程虚拟机上,我做了:
Enable-PSRemoting
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
我还能做什么?
【问题讨论】:
-
不仅是VM中的防火墙规则,还应该在与VM关联的NSG中添加规则。
-
@CharlesXu 抱歉,忘了提及 - 我为 5985 和 5986 添加了“允许”规则,所以这应该不是问题。我使用的 IP 当然是公开且可访问的(我可以毫无问题地 RDP 到该 VM)
-
您是否也在虚拟机中启用了 WinRM?并且您在 VM 的子网和 nic 中都添加了 NSG 规则?你可以在本地通过 WinRM 远程连接吗?
-
@CharlesXu WinRM 已由 Enable-PSRemoting 启用。我的子网没有分配任何 NSG,我在 NIC 的 NSG 上添加了我的规则
-
您是否按照PowerShell on Target Machines task中的步骤操作?
标签: azure powershell azure-devops azure-pipelines