问题描述
如何在不使用必须安装\配置自签名证书的winrm或pssession的情况下针对Azure中的Windows 2016 vm运行PowerShell命令?
有人知道吗
解决方法
如果要使用PowerShell,最好使用Azure自动化帐户而不是Azure DevOps。
阅读this,了解如何创建自动化帐户。
请参见here,如何使用PowerShell在Azure自动化中创建Runbook。
,如果您不需要经常只运行一个命令,则只需使用 Run命令在门户上运行任何PowerShell命令,请查看屏幕截图。
,如果我正确理解了您的查询,则希望在Azure VM上运行PowerShell命令
- 在这种情况下,Azure DevOps服务将不知道将请求定向到何处,因此开箱即用是不可能的。
- 不过,您可以做的是,只要在此计算机上连接互联网,就可以设置自托管代理。
- 然后,您可以在自托管代理上运行任务,然后选择运行powershell任务。 (这可能需要将防火墙上的某些devop范围列入白名单。)
除此之外,根据需要实现的设计,还有几种方法可以在Azure VM上运行命令和脚本。
您可以使用Azure门户使用Azure门户中的虚拟机刀片在VM上执行预定义的自定义PowerShell命令。
也请查看这些文档以获取更多参考:
,我可以从Azure DevOps运行Powershell命令到Azure中的虚拟机吗?
Run PowerShell scripts in your Windows VM by using Run Command提供了两个可能的方向:
您可以在azure devops管道中使用Azure CLI task来运行az vm start
和az vm run-command invoke命令。 az vm start
将启动VM,第二个命令将运行PS命令。
您可以在azure devops管道中使用Azure Powershell task来运行Start-AzVM和Invoke-AzVMRunCommand命令。
注意:
即使在Web门户中启动VM时也需要几秒钟,因此建议这两个命令(Start VM
和Run PS
)之间的间隔为10到15秒。例如:
尝试Start-Sleep -s 15。