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 cmdlet,因此您必须自己将其转换为 C#。但您可以执行以下操作:

于 2013-05-21T19:57:03.643 回答