2016-08-26 2 views
0

Я новичок в мире оболочки лазурного мира. Я пытаюсь создать сценарий командной оболочки для автоматизации создания виртуальной машины. Весь мой сценарий работает хорошо, VM также создается, но его повесили на последней строке. Поэтому, даже если виртуальная машина создана, мой скрипт командной оболочки продолжает работать. Пожалуйста, сообщите мне, как решить эту проблему.Azure power shell Проблема с созданием виртуальной машины

Write-Verbose 'Creating VM...' 
$result = New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $location -VM $vm 
if($result.Status -eq 'Succeeded') { 
Write-Verbose $result.Status 
Write-Verbose ('VM named ''{0}'' is now ready, you can connect using username: {1} and password: {2}' -f $vmName, $adminUsername, $adminPassword) 
} 
    else { 
Write-Error 'Virtual machine was not created successfully.' 
} 
+0

Не могли бы вы предоставить полный код? – Prawin

+0

глядя на этот кусочек кода, никто ничего не может заключить. Итак, plz предоставляет весь скрипт – Atf

+0

http://stackoverflow.com/questions/39078219/powershell-azure-new-azurermvm-not-ответ. – Indrajit

ответ

0

вы можете использовать другой путь, чтобы проверить состояние ВМ

New-AzureRmVM -ResourceGroupName $resourceGroupName -Location $location -VM $vm 
if((Get-AzureRmVM -Name $vmName).Status -eq "ReadyRole"){ 
    #Do something awesome here :) 
} 

и посмотреть на: https://4sysops.com/archives/how-to-create-an-azure-vm-with-powershell/

+0

Как вы ожидаете получить статус RM vm с помощью команды Get-azureVM? Почему параметр имени службы? – Atf

+0

Хороший вопрос: D - это должно быть -Имя, извините, я его исправил. –

+0

Уверены? Это должно быть get-azurermvm – Atf

0

возвратного типа $ результат будет PSObject. После успешного создания виртуальной машины на выходе будет ниже формате

$ Результат [0] = "Provisioning удалось"

$ результат [1] = "VM работает"

Итак, попробуйте это

if($result.ProvisioningState -eq "Succeeded") 
{ 
    Write-Verbose ('VM named ''{0}'' is now ready, you can connect using username: {1} and password: {2}' -f $VMName, $username, $password) 
} 
else 
{ 
    Write-Error 'Virtual machine was not created successfully.' 
}