スクリプトに問題を引き起こしている行がいくつかあります。
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への接続が確立されてから数秒後に2行目を実行すると、期待する出力が得られます。私が起こっていると思うのは、2番目の回線が開始する前にvCenterへの接続が完了していないということです。完了するのを待つ最善の方法や、接続が完了したときに何を確認するかがわかりません。