在C#中获取ESX服务器的日期时间

时间:2013-05-21 16:19:33

标签: c# datetime vmware powercli esx

我正在寻找一种简单的方法来获取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。

1 个答案:

答案 0 :(得分:1)

由于文档将所有内容显示为Powershell cmdlet,因此您必须自己将其转换为C#。但是你可以做到以下几点: