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

本文关键字:日期 时间 服务器 ESX 获取 | 更新日期: 2023-09-27 18:14:34

我正在寻找一种简单的方法来获取c#中esx服务器的日期和时间。这必须是硬件时间,所以我认为这是BIOS时间。虚拟机重启时,通常会获取BIOS时间。这就是我想要作为datetime对象的时间。

我想我应该这样写:

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

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

由于文档将所有内容显示为Powershell cmdlet,因此您必须自己将其翻译为c#。但是你可以这样做:

  • 通过Get-EsxCli
  • 获取EsxCli访问器
  • 使用system time get命令