2016-11-07 148 views
1

我知道我可以使用Windows PowerShell获取NDIS版本?

Get-netadapter|select Name, ndisversion

管道结果出来到一个文本文件,并从那里解析数据,但是这有点哈克。我想知道是否有办法使用更直接的方式获取相同的信息?即WMI或框架类等?我谷歌搜索,但空手而来。

回答

4

所有NetAdapter powershell cmdlet都是WMI对象上的薄包装器。所以你确实可以直接使用Microsoft.Management.Infrastructure命名空间。

在这种情况下,您将枚举root\standardcimv2\MSFT_NetAdapter的实例来查看它们的NameDriverMajorNdisVersion字段。

这不是对MI API的一个完整的教程,但这里的想法的伪草图:

var session = CimSession.Create(. . .); 
foreach (var instance in session.EnumerateInstances(@"root\standardcimv2", "MSFT_NetAdapter")) { 
    var name = instance.CimInstanceProperties["Name"].Value as string; 
    var major = instance.CimInstanceProperties["DriverMajorNdisVersion"].Value as byte; 
    WriteLine($"{name}: {major}.{minor}"); 
} 
+0

优秀!TY。 –