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、サブネットマスクを取得するサンプルコードでした。