Frage

Ich habe ein paar Zeilen in einem Skript, die mir ein Problem geben:

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

Beim Ausführen erhalte ich dies als Ausgabe:

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

Wenn die zweite Zeile einige Sekunden nach der Verbindung zu vCenter ausgeführt wird, erhalte ich die von mir erwartete Ausgabe. Was ich glaube, ist, dass meine Verbindung zu vCenter noch nicht vor Beginn meiner zweiten Zeile fertiggestellt wurde. Ich bin mir nicht sicher, wie man am besten warten kann oder worauf ich in einer abgeschlossenen Verbindung überprüfen kann.

War es hilfreich?

Lösung

Sie können versuchen, den Befehl Start-Sleep in PS zu verwenden

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

Wie bei allen "Schlaf" -Funktionen ist dies jedoch nicht unbedingt der beste Weg, um ein Timing -Problem zu beheben, da Ihr Pushback nie alle möglichen Latenzprobleme berücksichtigt.

Eine bessere Lösung wäre, auf die Fertigstellung eines Befehls zu testen (und ich bin mir nicht sicher, wie das mit der VMware CLI geht).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top