2016-11-07 13 views
1

私は、テキストファイルに出て結果パイプにWindows PowerShellのNDISのバージョンを取得しますか?

Get-netadapter|select Name, ndisversion

を使用し、そこからデータを解析することができることを知っているが、それは一種のハックです。より直接的なものを使って同じ情報を入手する方法があるのだろうかと思っていましたか?つまりWMIやFrameworkクラスなど?私はグーグルだが、空手になった。

答えて

4

すべてのNetAdapter powershellコマンドレットは、WMIオブジェクトよりも薄いラッパーです。したがって、実際にMicrosoft.Management.Infrastructure名前空間を直接使用することができます。

この場合、root\standardcimv2\MSFT_NetAdapterのインスタンスを列挙して、NameDriverMajorNdisVersionフィールドを参照します。

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:

これは、ここでMIのAPIに関する完全なチュートリアルではありませんが、アイデアの擬似コードのスケッチです。 –

関連する問題