サーバー上のスナップショットを探し、その結果に基づいて電子メールを報告する次のスクリプトを Powershell で記述しました。
Connect-ViServer server
$body = Get-Folder -name vm | Get-VM | Get-Snapshot | Select Name, VM, SizeMb, Created | Out-String
send-mailmessage -From "myemail.com" -To "myemail.com" -SmtpServer "myserver.com" -Body $body -Subject "Snapshot Report"
これから得られる出力は次のようになります。
Name VM SizeMB Created
---- -- ------ -------
snapshot name server ...3507232666015625 11/6/2013 11:53...
snapshot name server ...4918060302734375 11/6/2013 10:30...
snapshot name server... ...0483551025390625 11/6/2013 10:32:...
snapshot name server ...2000579833984375 11/6/2013 3:58:34 PM
出力をフォーマットして、最大で小数点以下 2 桁までのサイズをメガバイト単位で正確に表示し、作成された全体の時間を表示する方法が必要だと思います。私が知っている私の問題は、ここのどこかにあります:
| Select Name, VM, SizeMb, Created | out-string
Select
最大2桁の小数点以下を指定するために出力をフォーマットする方法を知っている人はいますか?