重新启动后获取Azure虚拟机的状态

问题描述:

我试图在重新启动后获取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,如果可能的话,你可以停止你的虚拟机,然后启动虚拟机。 –

根据我的知识,我想你可以检查端口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