我正在等待来宾操作系统拥有一个IP地址,但它在Windows完全重启之前(即在Windows登录并且所有启动服务都已运行之前)获得了一个IP地址。
do
{
Start-Sleep -Seconds 5
Write-Host "Waiting for VM reboot"
$VMInfo = Get-VM $VMName
$GuestIP = $VMInfo.Guest.IPAddress
}
until ($GuestIP -eq $IP)
有人知道等待更好的属性吗?
答案 0 :(得分:2)
您可以使用wait-tools代替。实际上,当VC知道访客IP时,vmtools(以及其他大部分内容)都已经启动了。假设您的访客具有静态IP,那么您的方法似乎很好。如果您的客户从DHCP获取其IP,则IP总是有可能发生变化。在这种情况下,您可以确保$ guestIP不为空,而不是将其与预期值进行比较:
until ($GuestIP)
毋庸置疑,如果你需要一些特别的作品,最安全的是检查那件作品。如果检查需要额外的复杂性,可能会gwmi win32_service
或invoke-vmscript
。