none
ARMでの仮想マシンの状態取得について RRS feed

  • 質問

  • Azure Resource Manager で作成した仮想マシンについて、

    Azure PowerShellを実行して仮想マシンの実行状態(電源On、Off)を取得したいのですが、方法はないでしょうか。

    以前はこんな感じでできたのですが、Reousrce Groupにて作成したマシンでは使えないようです…

    $vm = Get-AzureVM -ServiceName $cloudServiceName -Name $virtualMachineName

    if(($vm.InstanceStatus -eq 'ReadyRole') -and ($vm.PowerState -eq 'Started'))

    {

    Write-Host "VM is ON"

    }

    ($VM = Get-AzureRmVM -ResourceGroup $resourceGroupName -Name $virtualMachineNameではダメでした)

    もし別の記述で可能であれば、教えて頂きたいです。

    よろしくお願いします。

    2015年12月21日 2:20

回答

  • Status という引数があるので、それを指定すれば仮想マシンの状態は取得出来るかと思います。
    例)
    Get-AzureRmVM -ResourceGroupName hogerg-Name myVm -Status

    Statusプロパティをみれば詳細が分かるでしょう。

    (Get-AzureRmVM -ResourceGroupName hogerg -Name myVm -Status).Statuses

    Code          : ProvisioningState/succeeded
    DisplayStatus : Provisioning succeeded
    Level         : Info
    Message       : 
    Time          : 2015/12/22 14:55:45 +09:00

    Code          : PowerState/running
    DisplayStatus : VM running
    Level         : Info
    Message       : 
    Time          : 



    2015年12月23日 0:21

すべての返信

  • Status という引数があるので、それを指定すれば仮想マシンの状態は取得出来るかと思います。
    例)
    Get-AzureRmVM -ResourceGroupName hogerg-Name myVm -Status

    Statusプロパティをみれば詳細が分かるでしょう。

    (Get-AzureRmVM -ResourceGroupName hogerg -Name myVm -Status).Statuses

    Code          : ProvisioningState/succeeded
    DisplayStatus : Provisioning succeeded
    Level         : Info
    Message       : 
    Time          : 2015/12/22 14:55:45 +09:00

    Code          : PowerState/running
    DisplayStatus : VM running
    Level         : Info
    Message       : 
    Time          : 



    2015年12月23日 0:21
  • -statusから、記載頂いた部分を抜いてこれなかったのですが、(Get-AzureRMVM~).statusesとすればよかったのですね。

    (Get-AzureRmVM -ResourceGroupName hogerg -Name myVm -Status).Statuses.Item(1).Code

    とすることでpowerstateを取り出すことができました。

    おかげさまで解決しました。ありがとうございます!

    2015年12月25日 2:48