2016-12-26 120 views
0

我試圖在重新啓動後獲取Azure虛擬機的狀態,以便我可以確認它是否已成功重新啓動,以便後來運行幾條命令。重新啓動後獲取Azure虛擬機的狀態

下面是我用來獲取狀態

(Get-AzureRmVM -ResourceGroupName $ResourceGroupName -Name $DBServerName -Status).Statuses 

它給了我每次輸出以下,即使重新啓動代碼。

Code   : ProvisioningState/succeeded 
Level   : Info 
DisplayStatus : Provisioning succeeded 
Message  : 
Time   : 12/26/2016 12:34:49 PM 

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

我需要的東西,會告訴我該服務器已準備好,這樣我可以有一些其他的任務進行。

下面是我需要執行

  1. 創建VM

  2. VM上來後,安裝.net4.6.1框架。此任務將需要重新啓動服務器。

  3. 服務器重新啓動後,繼續安裝另一個組件是依賴於.NET4.6.1
+1

在給出重新啓動命令以更新狀態後,您是否給了一些睡眠時間? –

+0

你想完成什麼? – Mitul

+0

@Mitul,如果可能的話,你可以停止你的虛擬機,然後啓動虛擬機。 –

回答

0

根據我的知識,我想你可以檢查端口3389來判斷你的虛擬機是否已啓動。

您可以使用Portqry來檢查端口。如果你不安裝它,你可以安裝它,很容易安裝。

##The directory that PortQry installed. 
cd "C:\PortQryUI" 
do { 
$test = .\PortQry.exe -n shui.eastus.cloudapp.azure.com -e 3389 
if ($test -like 'Error opening socket: 10049') 
{ 
Write-Host "Maybe the Windows is starting or closed." 
} 

Start-Sleep 30 

} 
while($test -like 'Error opening socket: 10049') 

Write-Host "The Windows is started successful." 

根據你的描述,我在我的實驗室測試。這個對我有用。 enter image description here

相關問題