


先日、VBScriptでWin32_NetworkAdapter classを使用してネットワークアダプタ情報を取得するサンプルプログラムを記載しました。
VBScript – A network adapters properties(Win32_NetworkAdapter)
ただ下記サイトにはWin32_NetworkAdapter classは廃止予定でMSFT_NetAdapter classを利用するように記載されています。
Win32_NetworkAdapter class
https://msdn.microsoft.com/library/windows/hardware/aa394216
The Win32_NetworkAdapter class is deprecated. Use the MSFT_NetAdapter class instead.
そこでMSFT_NetAdapter classを利用したサンプルプログラムも作成してみました。
MSFT_NetAdapter class
https://msdn.microsoft.com/ja-jp/library/windows/hardware/hh968170
Windows 10 Pro(Build 15063)で確認しました。
表示するプロパティは適当にピックアップしたものでこれと言った意図はありません。またInterfaceType=6で有線LANだけを表示するようにしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
On Error Resume Next Dim s strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\StandardCimv2") Set colItems = objWMIService.ExecQuery("Select * from MSFT_NetAdapter where InterfaceType=6") For Each objItem in colItems s = "InterfaceType: " & objItem.InterfaceType & vbCRLF s = s & "InterfaceDescription: " & objItem.InterfaceDescription & vbCRLF s = s & "Description: " & objItem.Description & vbCRLF s = s & "InterfaceIndex: " & objItem.InterfaceIndex & vbCRLF s = s & "InterfaceName: " & objItem.InterfaceName & vbCRLF s = s & "InterfaceOperationalStatus: " & objItem.InterfaceOperationalStatus & vbCRLF s = s & "LinkTechnology: " & objItem.LinkTechnology & vbCRLF s = s & "MediaConnectState: " & objItem.MediaConnectState & vbCRLF s = s & "InstallDate: " & objItem.InstallDate & vbCRLF s = s & "Name: " & objItem.Name & vbCRLF s = s & "Status: " & objItem.Status & vbCRLF s = s & "Availability: " & objItem.Availability & vbCRLF s = s & "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode & vbCRLF s = s & "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig & vbCRLF s = s & "CreationClassName: " & objItem.CreationClassName & vbCRLF s = s & "DeviceID: " & objItem.DeviceID & vbCRLF s = s & "ErrorCleared: " & objItem.ErrorCleared & vbCRLF s = s & "ErrorDescription: " & objItem.ErrorDescription & vbCRLF s = s & "LastErrorCode: " & objItem.LastErrorCode & vbCRLF s = s & "PNPDeviceID: " & objItem.PNPDeviceID & vbCRLF s = s & "Speed: " & objItem.Speed & vbCRLF s = s & "State: " & objItem.State & vbCRLF For Each strNetworkAddress in objItem.NetworkAddresses s = s & "NetworkAddress: " & strNetworkAddress & vbCRLF Next Wscript.Echo s Next |
InterfaceTypeについてはIANAでの定義に沿っているようです。
InterfaceType
Data type: uint32
Access type: Read-only
The interface type as defined by the Internet Assigned Names Authority (IANA).
ここでいいのかな。
https://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib
有線LAN(InterfaceType=6),無線LAN(InterfaceType=71)ぐらい覚えておけばよさそうです。
Bluetoothネットワーク接続がInterfaceType=6だったのは意外です。