用于正常关闭 azure 虚拟机的 Powershell cmdlet

Powershell cmdlet to gracefully shutdown azure virtual machine

我对 "Stop-AzureRmVm" PowerShell cmdlet 有疑问。 cmdlet 是否会导致虚拟机崩溃?我在非生产环境中使用的 SharePoint 和 SQL 服务器很少。我有 powershell 脚本,可以按计划停止和启动这些虚拟机。

我担心 "Stop-AzureRmVm" PowerShell cmdlet 电源是否会使虚拟机崩溃,因为我需要服务器正常关闭。

或者我们是否有任何可以正常关闭 Azure 虚拟机的 PowerShell cmdlet?

只要您不发送 -force 参数,Azure 就会在停止前尝试正常关闭来宾 OS。如果这不起作用,则 -force 参数类似于 "pulling the plug"。

别担心,命令 Stop-AzureRmVm 将正常关闭 VM。

如果您在门户中捕获 Stop-AzureRmVm 和 VM 的 Stop 选项的请求,您会发现它们基本上都调用 Virtual Machines - Deallocate REST API, 意思是如果你使用powershell命令,和传送门里的没区别

很抱歉重提一个老问题,但 Ken W 在这里接受的答案并不准确。 -Force 参数仅在 运行 cmdlet 时阻止 Yes/No 提示(这对于无法接受用户的自动脚本中的 运行 时很有用输入)。无论哪种方式,运行 Stop-AzureRmVm 将始终尝试正常关闭。

此 cmdlet (Stop-AzVM) 的较新 'Az' 版本确实有一个 -SkipShutdown 选项,它将跳过任何正常关机尝试,并立即解除分配虚拟机。更多详情可参考以下link:

https://docs.microsoft.com/en-us/powershell/module/az.compute/stop-azvm