我通过
C# 调用 PowerShell
查询 Hyper-V
的虚拟机网络信息。但发现在查找网络信息时发现问题:
代码:
using System;
using System.Collections.ObjectModel;
using System.Management.Automation;
namespace HyperVSamples
{
class Program
{
static void Main(string[] args)
{
Collection<PSObject> ps1 = PowerShell.Create().AddCommand("Get-VM").Invoke();
var p = ps1[0].Members.Match("NetworkAdapters")[0].Value;
Console.ReadLine();
}
}
}
数据结果:

问题:
由于变量 p
是 object
类型,导致我无法进一步抓取内部的属性值。
因此我尝试是否能将 p
的类型从 object
类型强制转化为 List<Microsoft.HyperV.PowerShell.VMNetworkAdapter>
类型,
但我发现我并不能找到 Microsoft.HyperV.PowerShell.VMNetworkAdapter
类,因此我找不到如何去类型转化的方法。
请问这个问题有什么解决方法吗?