我正在尝试在 c# 中使用 System.Management 运行 wmi 查询并不断获取无效类。它适用于使用 pcoip 协议的 wmware 虚拟桌面。我可以使用 WMI Explorer,它显示如下。
这里只是一些示例 C# 代码。我知道它没有使用“使用”语句,我只是想保持简短。我注意到如果我在 WMI Explorer 中选择顶级命名空间并尝试运行查询,它会失败并出现相同的无效类错误,然后如果我单击 ROOT\CIMV2 并运行查询,它工作正常。我已经检查了范围等中的路径,它似乎是正确的。我也不能使用 Microsoft.Management.Infrastructure。
var scope = new ManagementScope(ManagementPath.DefaultPath);
var query = new SelectQuery("SELECT * from Win32_PerfRawData_TeradiciPerf_PCoIPSessionImagingStatistics");
scope.Connect();
var searcher = new ManagementObjectSearcher(scope, query);
var collection = searcher.Get();
注意我可以使用 powershell 并使用检索
Get-WmiObject -Class "Win32_PerfRawData_TeradiciPerf_PCoIPSessionImagingStatistics"
更新:奇怪,但我注意到我可以在 WMI Explorer 中看到,但如果使用 WMI Code Creator,我看不到。