azure - 来自 VSTS 管道的 PowerShell 远程
问题描述
我想在我的虚拟机上远程调用 PowerShell 命令。我在管道中添加了“在目标机器上运行 PowerShell”任务。我提供了:我的远程虚拟机的 IP、用户名和密码。这是我得到的错误:
无法创建 pssession。错误:'连接到远程服务器失败并显示以下错误消息:WinRM 无法完成操作。验证指定的计算机名称是否有效,该计算机可通过网络访问,并且 WinRM 服务的防火墙例外已启用并允许从该计算机进行访问。默认情况下,公共配置文件的 WinRM 防火墙例外限制对同一本地子网中的远程计算机的访问。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。
在我的远程虚拟机上,我做了:
Enable-PSRemoting
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
我还可以做些什么?
解决方案
要通过 Windows 机器 WinRM 在目标机器任务上运行 PowerShell 脚本,您需要先在目标机器中配置 WinRM。有两种协议适合您:HTTP 和 HTTPS。HTTPS 更安全,值得推荐。如果使用 HTTPS,则需要在防火墙中打开 5986 端口并安装自签名证书。您可以按照PowerShell on Target Machines 任务中的步骤进行操作。
对于评论中的问题,您可以在测试证书中找到描述,我认为原因是您使用了您创建的自我证书。
推荐阅读
- javascript - Youtube 实时聊天消息 Javascript API 响应未与 youtube 网站和应用程序上可见的实际聊天同步
- arm - ARM进入向量表时是使用物理地址还是虚拟地址?
- html - 试图从 POST 请求中检索数据
- android - 进程 'command 'git'' 以非零退出值 128 结束
- java - IntelliJ IDEA - 在 Oracle JDK 下启用连字
- c# - 将应用程序提交到 Google Play 会导致 API 级别错误
- c# - 在富文本框中显示串行端口数据期间“无法访问已处理的对象”
- asp.net-mvc - 使用 InProc 缓存数据存储页面持久性的元数据(不带膨胀服务器)
- big-o - 扫描有界长度字符串的复杂性。O(n) 还是 O(1)?
- javascript - MAP vs REDUCE 我应该选择哪个?