2016-11-07 111 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。 –