powershell - Azure 资源管理器虚拟机状态

标签 powershell azure azure-resource-manager

我使用 Azure 资源管理器创建了一个包含几个虚拟机和其他资源的资源组。

如何读取使用 Azure 资源管理器 (ARM) 作为资源组中的资源预配的 VM 的 VM 状态?

对于经典虚拟机,旧脚本使用:

$vm.InstanceStatus

但是,当我切换到 Azure 资源管理器模式时

Switch-AzureMode AzureResourceManager

VM 对象无法将 .InstanceStatus 识别为有效变量。

最佳答案

您正在寻找的 PowerShell 语句可能如下所示:

Get-AzureRmVM -ResourceGroupName "MyRGName" -Name "MyVmName" -Status | `
    select -ExpandProperty Statuses | `
    ?{ $_.Code -match "PowerState" } | `
    select -ExpandProperty DisplayStatus

如果虚拟机已停止,则会显示虚拟机已解除分配;如果虚拟机正在运行,则会显示虚拟机正在运行

要获取 Get-AzureRmVm cmdlet,请运行以下命令:

Install-Package AzureRM
Install-AzureRM

关于powershell - Azure 资源管理器虚拟机状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33309437/

相关文章:

shell - PowerShell:如何创建对象属性的引用

sql - CosmosDB 通用 OrderBy 查询或先获取最后的数据

c# - Azure Function - 在 Visual Studio 2017 中为不同环境添加不同的设置文件

azure - 如何使用循环分配系统管理身份对 Key Vault 的访问权限?

azure - 如何使用Azure ARM API获取CloudService(经典)的配置

azure - Remove-AzDeployment 不会删除创建的资源

powershell 变量中的 IF 条件

powershell - 通过批处理将命令运行到 openssl

search - 优化 PowerShell 中的简单搜索脚本

python-3.x - 将 Azure AD 中的主体 ID 解析为用户、服务