C# で esx サーバーの日付と時刻を取得する簡単な方法を探しています。これはハードウェア時間でなければならないので、これは BIOS 時間だと思います。VM が再起動すると、通常は BIOS 時刻が取得されます。日時オブジェクトとして欲しいのはその時間です。
次のようなものを使用する必要があると思います。
private DateTime getTimeESX(Machine machine)
{
DateTime time = new DateTime();
Runspace runSpace = RunspaceFactory.CreateRunspace();
runSpace.Open();
Pipeline pipeline = runSpace.CreatePipeline();
Command getEsxCli = new Command("Get-EsxCli");
getEsxCli.Parameters.Add("Server", machine.IP);
Command getSysTime = new Command("system time get");
pipeline.Commands.Add(getEsxCli);
pipeline.Commands.Add(getSysTime);
Collection<PSObject> output = pipeline.Invoke();
foreach (PSObject psObject in output)
{
time = (DateTime)psObject.BaseObject;
}
return time;
}
誰かがこれを簡単にテストする方法を知っていますか? ネットワークで ESX を実行していません。