无法从HyperV Get-Firmware PowerShell Cmdlet解析VmBootSource []

时间:2018-10-02 22:26:37

标签: c# powershell virtual-machine hyper-v

我在C#代码中使用Powershell cmdlet与Hyper-V虚拟机进行交互。我专门在尝试获取虚拟机的引导顺序。我运行Get-Firmware命令没有问题,但似乎无法解析返回对象并获取所需的启动顺序信息。

private void Test()
{
    using (Runspace runspace = RunspaceFactory.CreateRunspace())
    {
        runspace.Open();

        Pipeline pipeline = runspace.CreatePipeline();

        Command command = new Command("Get-VMFirmware");
        command.Parameters.Add("VMName", "MachineName");
        pipeline.Commands.Add(command);

        PSObject result = pipeline.Invoke().First();
        var bootorder = result.Properties["BootOrder"].Value;

    }
}

根据文档(以及当我查看result.Properties [“ BootOrder”]。Local值)时,我相信我的引导顺序变量应该是Microsoft.HyperV.PowerShell.VmBootObject [],但是我可以似乎找不到该名称空间,所以我不能这样转换它。因此,bootorder是类型对象,我无法从中获取任何信息。我在这里做什么错了?

0 个答案:

没有答案