我可以从Azure DevOps到Azure中的vm运行powershell命令吗?

问题描述

如何在不使用必须安装\配置自签名证书的winrm或pssession的情况下针对Azure中的Windows 2016 vm运行PowerShell命令?

有人知道吗

解决方法

如果要使用PowerShell,最好使用Azure自动化帐户而不是Azure DevOps。

阅读this,了解如何创建自动化帐户。

请参见here,如何使用PowerShell在Azure自动化中创建Runbook。

,

如果您不需要经常只运行一个命令,则只需使用 Run命令在门户上运行任何PowerShell命令,请查看屏幕截图。

enter image description here

,

如果我正确理解了您的查询,则希望在Azure VM上运行PowerShell命令

  • 在这种情况下,Azure DevOps服务将不知道将请求定向到何处,因此开箱即用是不可能的。
  • 不过,您可以做的是,只要在此计算机上连接互联网,就可以设置自托管代理。
  • 然后,您可以在自托管代理上运行任务,然后选择运行powershell任务。 (这可能需要将防火墙上的某些devop范围列入白名单。)

除此之外,根据需要实现的设计,还有几种方法可以在Azure VM上运行命令和脚本。

您可以使用Azure门户使用Azure门户中的虚拟机刀片在VM上执行预定义的自定义PowerShell命令。

VM Blade

也请查看这些文档以获取更多参考:

Run Powershell Cmds

Run Cmd

,

我可以从Azure DevOps运行Powershell命令到Azure中的虚拟机吗?

Run PowerShell scripts in your Windows VM by using Run Command提供了两个可能的方向:

1.Azure CLI way

您可以在azure devops管道中使用Azure CLI task来运行az vm start az vm run-command invoke命令。 az vm start将启动VM,第二个命令将运行PS命令。

2.Powershell way

您可以在azure devops管道中使用Azure Powershell task来运行Start-AzVMInvoke-AzVMRunCommand命令。

注意: 即使在Web门户中启动VM时也需要几秒钟,因此建议这两个命令(Start VMRun PS)之间的间隔为10到15秒。例如: 尝试Start-Sleep -s 15