我正在经历一个场景,我启动一个带有 sysprepped vhd 的新建虚拟机,一旦安装过程完成安装设备等并且操作系统被加载,我想等到整个过程完成并且虚拟机被分配一个 IP通过 DHCP 地址。
PS C:\Users\Administrator> Start-VM -Name dv.VMWIN2K8R2-3.Hng
PS C:\Users\Administrator> while ((Get-VM -Name dv.VMWIN2K8R2-3.Hng | select -ExpandProperty networkadapters).ipaddress[0] -match $null)
{
Start-Sleep 3
Write-Host "Waiting to Acquire IP Address" -ForegroundColor green
}
$ipaddress=(Get-VM -Name dv.VMWIN2K8R2-2.Hng | select -ExpandProperty networkadapters).ipaddresses[0]
Write-Host "VM has acquired an IPAddress of $ipaddress"
我尝试了上面的代码片段,但 while 循环从未运行,我注意到当 VM 关闭时 ip 地址参数为空白,所以我想匹配它直到它显示 Null 并且当我启动 VM 并且一旦服务器获得 IP DHCP 的地址它应该退出 while 循环并在控制台上打印 IP 地址。