vCenterServerのイベントをざっくり取る

夜中の3時くらいに「vCenterのイベント、今の分だけCSV形式で取ろうかなー」ということが良くあるのでメモ。

Get-VIEventをexportするだけですが、日本語でイベントが出力されて、
CSVにexportすると文字化けするのでlocaleを英語に変えます。

ex.)
getevent.ps1 2014/01/18 2014/01/19

param($start_day, $finish_day)

function main {
	GetEVENT
}

function GetEVENT {
	$path = "C:\hoge\vm_event.csv"
	Get-VIEvent -Start $start_day -Finish $finish_day | Export-Csv $path
}

function ChangeLocale {
	$SI = Get-View ServiceInstance
	$SessMgr = Get-View $SI.Content.SessionManager
	$SessMgr.DefaultLocale
	$SessMgr.SupportedLocaleList
	$SessMgr.SetLocale("en")
}
ChangeLocale
main $start_day, $finish_day

参考
Exporting vCenter Events with PowerCLI
How to force a specific locale when managing vSphere

追記(2014/2/2)
Get-VIEvent に MaxSamplesのパラメーターを指定しないと、日付を入れてもデフォルト値の100しか取れません。
たぶん、大きい環境ですと1時間くらいしか残せないので、10000とか指定してしまえばいいと思います。
詳細はGet-VIEVENTのリファレンスを見てください。

vSphere PowerCLI Reference Get-VIEvent