0

最终目标是创建一个启动 Azure VM 的 Jenkins 作业,然后将其关闭。我在网上看到了说明如何打开和关闭虚拟机的命令。我有一个主 Windows VM。我可以使用 Azure CLI 从自身内部启动此 VM 吗?如果可以完成,那么我可以将它添加到 Jenkins 作业的 Windows 批处理命令中。

4

1 回答 1

0

我可以使用 Azure CLI 从自身内部启动此 VM 吗?

据我所知,Azure VM 是基于 hyper-v 的虚拟化技术参考这个。我不认为您可以从 VM 本身启动虚拟机,无论它是否使用 Azure CLI。您需要从 hyper-v 主机或 hyper-v 管理 UI 启动它。

Run Command功能使用虚拟机 (VM) 代理在 Azure Windows VM 中运行 PowerShell 脚本。我已经尝试过 Azure windows VM,我可以停止或启动 Azure VM,但对于已释放的 VM,我无法使用此方法启动它。

az vm run-command invoke  --command-id RunPowerShellScript --name <vmname> -g <vmrg>  --scripts 'shutdown /s /t 0' 
    
az vm run-command invoke  --command-id RunPowerShellScript --name <vmname> -g <vmrg>  --scripts 'restart' 

如果您不是来自 VM 本身。通常,您可以使用Azure CLI 2.0:快速启动/停止所有虚拟机

# usage example
az vm start --name MyVM --resource-group MyVMGroup

az vm deallocate --name MyVM --resource-group MyVMGroup

az vm stop --name MyVM --resource-group MyVMGroup

此外,对于 Azure VM,在非工作时间启动/停止 VM 功能使您可以启动或停止已启用的 Azure VM。您可以参考此博客了解更多详细信息。

于 2020-07-14T06:26:06.297 回答