0

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 を実行していません。

4

1 に答える 1

1

ドキュメントではすべてが Powershell コマンドレットとして示されているため、これを自分で C# に変換する必要があります。ただし、次のことができます。

于 2013-05-21T19:57:03.643 に答える