ESXi 5ホストにSSHでログインしています。
すべてのゲストでVMwareツールが実行されているため、ホストによって適切にシャットダウンできます。
VSphereクライアントのこのメニューオプションに相当するものを希望します。
すべてのゲスト(VMwareツールが実行されている場合)を自動的にシャットダウンし、次にホスト自体をシャットダウンします。
ESXi 5コマンドラインにそのような「スマートな」shutdown allコマンドはありますか?
答えを見つけたと思います。このスクリプトはそれを行うことができます:
http://www.virtu-al.net/2010/01/06/powercli-shutdown-your-virtual-infrastructure/
VMが完全にシャットダウンされるのを待つ17行目以降の部分に注意してください
セルゲイありがとう!
Connect-VIServer MyVIServer 2 3#すべてのESXホストを取得 4 $ ESXSRV = Get-VMHost 5 6#ESXホスト上の各VMに対して 7 Foreach($ VM in($ ESXSRV | Get-VM)){ 8#ゲストを完全にシャットダウンします 9 $ VM | Shutdown-VMGuest -Confirm:$ false 10} 11 12#電源が入っている残りのゲストがスタックしていると想定するまでの待機時間を設定します 13 $ waittime = 200 #Seconds 14 15 $ Time =(Get-Date).TimeofDay 16 do { 17#VMがシャットダウンするのを待つcleanly 18 sleep 1.0 19 $ timeleft = $ waittime-($ Newtime.seconds) 20 $ numvms =($ ESXSRV | Get-VM | Where {$ _。PowerState -eq "poweredOn"})。Count 21「$ numvms VMのシャットダウンを待機中、または$ timeleft秒まで待機」 22 $ Newtime =(Get-Date).TimeofDay-$ Time 23}まで((@($ ESXSRV | Get-VM | Where {$ _。PowerState -eq "poweredOn"})。Count)-eq 0 -or($ Newtime).Seconds -ge $ waittime) 24 25#ESXホストをシャットダウンします 26 $ ESXSRV | Foreach {Get-View $ _。ID} | Foreach {$ _。ShutdownHost_Task($ TRUE)} 27 28 Write-Host "Shutdown Complete"