#navi(../)


* VBスクリプトでネットワークカードのIPアドレス等を取得する方法 [#deba8d10]
VBスクリプトでネットワークカードのIPアドレスを取得するサンプルコードを以下に記します。~
以下の参考記事にあったスクリプトをそのまま動作確認したものと、一部他の情報を取得できるように追記しました。

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* 参考記事 [#x677cd3a]
-[[patagonの日記: [コンピュータ,ネット]IPアドレス情報を取得する(VBS)>http://slashdot.jp/journal/443008/%5B%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF,%E3%83%8D%E3%83%83%E3%83%88%5DIP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E6%83%85%E5%A0%B1%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8BVBS]]
-[[Win32_NetworkAdapterConfiguration>http://msdn.microsoft.com/en-us/library/aa394217%28v=vs.85%29.aspx]]

* IPアドレスおよびネットワーク名を取得する [#m80b6966]
以下のスクリプトは上記参考記事にあったスクリプトです。
#ref(nic.vbs)
 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の情報が表示されます。

* MACアドレスとサブネットマスクも表示してみる [#z8720d19]
参考資料のWin32_NetworkAdapterConfigurationをもとにコードを追記します。
#ref(nic2.vbs)
 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、サブネットマスクを取得するサンプルコードでした。

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS