1

我在脚本中有几行给我一个问题:

Connect-VIServer "test-vcenter.test.com" -User user -Password pass
Get-VM -Name "test-vm" | Get-Stat -Stat cpu.ready.summation -Realtime | Select-Object -First 1  value | Format-List

运行此程序时,我将其作为输出接收:

Operation is not valid due to the current state of the object.
At :line:0 char:0

如果在连接到 vCenter 后几秒钟运行第二行,我会收到我期望的输出。我认为正在发生的事情是,在我的第二条线路开始之前,我与 vCenter 的连接尚未完成。我不确定等待的最佳方式或在完成的连接中检查什么。

4

1 回答 1

0

您可以尝试在 PS 中使用 start-sleep 命令

http://technet.microsoft.com/en-us/library/ee177002.aspx

但是 - 与所有“睡眠”功能一样,这不一定是解决计时问题的最佳方法,因为您的回退可能永远无法解决所有可能的延迟问题。

更好的解决方案是测试命令是否完成(我不确定如何使用 VMWare CLI 执行此操作)

于 2011-04-27T18:34:17.093 回答