2015-10-23 27 views
4

Я использовал менеджер ресурсов Azure для создания группы ресурсов с несколькими виртуальными машинами и другими ресурсами.Azure manager manager vm status

Как я могу прочитать статус виртуальной машины для виртуальной машины, которая была создана с использованием Azure Resource Manager (ARM), в качестве ресурса в группе ресурсов?

С классической виртуальной машины, старые сценарии использования:

$vm.InstanceStatus 

Однако при переходе в режим диспетчера Azure ресурсов

Switch-AzureMode AzureResourceManager 

Объект VM не распознает .InstanceStatus как действительный переменная.

ответ

0

Попробуйте следующее:

Get-AzureVM -ResourceGroupName <RGName> -Name <VMName> -Status 

В результате вы должны увидеть Статусы, и в этом вы должны увидеть тот, который выглядит как «состояния электропитание/погонным» и т.д.

Надеются, что это помогает! :)

+0

Я переехал в AzureRM. И сначала мне нужен прямой способ получить статус как переменную, которая будет использоваться внутри скрипта, а не просто читать его в определении виртуальной машины. Спасибо, в любом случае. Надеюсь, ваш ответ окажется полезным для кого-то другого. Спасибо. –

-1

Вы можете прочитать статус инициализации в Azure VM инициализированный под ARM с использованием коды PowerShell ниже:

$vm = Get-AzureRmVM -Name <VMName> -ResourceGroupName <ResourceGroupName> 
$vm.ProvisioningState 

Это протестирован с последней версией Azure PowerShell (1.0.1), который выпущен ноябрь 2015.

+0

Состояние резервирования виртуальной машины только сообщает вам, что такое статус обеспечения виртуальной машины, а не ее запуск, остановка и т. Д. – Erica

4

PowerShell один вкладыш, который вы ищете может выглядеть примерно так:

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

Это покажет VM deallocated если виртуальная машина остановлена ​​или VM running, если она запущена.

Чтобы получить трюм Get-AzureRmVm командлета, выполните следующие действия:

Install-Package AzureRM 
Install-AzureRM 
0

Привет Я представил сценарий, чтобы быть в состоянии сделать это благодаря приведенным выше примерам.

https://miteshc.wordpress.com/2016/02/24/automation-runbook-shutdown-azurearmvm-with-tags/

экстракт

$ ResourceGroup = "RG_Name" $ ВМ = Find-AzureRmResource -ResourceGroupNameContains $ ResourceGroup | Where-Object {$_.Tags.Name-eq "Autoshutdown" -and $_.Tags.Value -eq "Yes"} Foreach ($VM in $VMs) { $VMStatus = Get-AzureRmVM -ResourceGroupName $ResourceGroup -Name $vm.Name -Status | select -ExpandProperty Statuses | ? {$ _. Код -match "PowerState"} | выберите -ExpandProperty displaystatus

if($VMStatus -eq "VM Running") 
     { 
      Write-Output "status of" $vm.Name "is" """$VMStatus""" 
      Stop-AzureRmVM -ResourceGroupName $ResourceGroup -Name $vm.Name -Force 
     } 
     else 
     { 
      Write-Output "status of" $vm.Name "is" """$VMStatus""" 
     } 

}

Спасибо! Mitesh

Смежные вопросы