VBスクリプトでネットワークカードのIPアドレスを取得するサンプルコードを以下に記します。
以下の参考記事にあったスクリプトをそのまま動作確認したものと、一部他の情報を取得できるように追記しました。
以下のスクリプトは上記参考記事にあったスクリプトです。
strComputer = "."
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration " & _
"Where IPEnabled = True")
For Each objItem in colItems
Wscript.Echo "Caption: " & objItem.Caption
For Each objAddress in objItem.IPAddress
Wscript.Echo "IP Address: " & objAddress
strIPAddress = objAddress
Next
Next
上記スクリプトをコマンドラインのcscriptで起動した時の出力です。
C:\Users\sakura\Desktop>cscript nic.vbs Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. Caption: [00000011] Intel(R) WiFi Link 1000 BGN IP Address: 192.168.43.65 IP Address: fe80::c12a:d9df:aa57:bf13 Caption: [00000018] VirtualBox Host-Only Ethernet Adapter IP Address: 192.168.56.1 IP Address: fe80::40c6:cdbb:4817:cc00
キャプション、IPv4、IPv6の情報が表示されます。
参考資料のWin32_NetworkAdapterConfigurationをもとにコードを追記します。
strComputer = "."
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration " & _
"Where IPEnabled = True")
For Each objItem in colItems
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "MAC: " & objItem.MACAddress
For Each objAddress in objItem.IPAddress
Wscript.Echo "IP Address: " & objAddress
Next
For Each objSubnet in objItem.IPSubnet
Wscript.Echo "Subnet: " & objSubnet
Next
Next
上記スクリプトをコマンドラインのcscriptで起動した時の出力です。
C:\Users\sakura\Desktop>cscript nic2.vbs Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. Caption: [00000011] Intel(R) WiFi Link 1000 BGN MAC: 00:1E:64:22:19:F4 IP Address: 192.168.43.65 IP Address: fe80::c12a:d9df:aa57:bf13 Subnet: 255.255.255.0 Subnet: 64 Caption: [00000018] VirtualBox Host-Only Ethernet Adapter MAC: 08:00:27:00:A0:E8 IP Address: 192.168.56.1 IP Address: fe80::40c6:cdbb:4817:cc00 Subnet: 255.255.255.0 Subnet: 64
以上、VBスクリプトでNICのIPアドレス、NIC名、MAC、サブネットマスクを取得するサンプルコードでした。