WSH実践講座:講座1:マシンのネットワーク属性構成を取得する
著者:Eve Cole
更新時間:2009-05-30 19:53:51
原文はWSH(WHITE’s Little Home)(http://wwwasp.yeah.net)をご覧ください。
実際にはレジストリを読み込むだけですが、マシンのIP構成などの情報を取得できれば、今後のIISの設定が簡単になります。次のスクリプトは、マシンの使用可能なすべての IP アドレス、サブネット マスクを読み取りますが、ゲートウェイおよびその他の情報は省略します。
コード:
-------------------------------------------------- ----------------------------------
Option Explicit Dim WSHShell Dim sNic、sMan Dim Gateway Dim IPAddress Dim SubnetMask Dim i Dim
sTcpipRegKey Dim bIsDHCP Set WSHShell = CreateObject("WScript.Shell") sNic = WSHShell.RegRead
("HKLMSOFTWAREMicrosoftWindows NTCurrentVersionNetworkCards1ServiceName") sTcpipRegKey の場合
<> "Microsoft" および Err.Number = 0 の場合、sTcpipRegKey = "HKLMSYSTEMCurrentControlSetServices" & sNic
& "ParametersTcpip" bIsDHCP = WSHShell.RegRead(sTcpipRegKey & "EnableDHCP") If bIsDHCP then
ゲートウェイ = WSHShell.RegRead(sTcpipRegKey & "DhcpDefaultGateway") IPAddress = WSHShell.RegRead
(sTcpipRegKey & "DhcpIPAddress") SubnetMask = WSHShell.RegRead(sTcpipRegKey & "DhcpSubnetMask")
MsgBox ("デフォルトゲートウェイ: " & ゲートウェイ(0) & Chr(10) & Chr(13) & "IPAddress: " & IPAddress & Chr(10) &
Chr(13) & "サブネットマスク: " & サブネットマスク) Else Gateway = WSHShell.RegRead(sTcpipRegKey)
& "DefaultGateway") IPAddress = WSHShell.RegRead(sTcpipRegKey & "IPAddress") サブネットマスク =
WSHShell.RegRead(sTcpipRegKey & "SubnetMask") i=0 から Ubound(IPAddress)-1 MsgBox の場合
("デフォルトゲートウェイ: " & ゲートウェイ(0) & Chr(10) & Chr(13) & "IPAddress: " & IPAddress(i) & Chr(10) & Chr(13)
& "SubnetMask: " & SubnetMask(i)) Next End If End If
-------------------------------------------------- ----------------------------------
注: マシンのネットワーク構成はレジストリのネットワーク カード項目の下に保存されるため、最初にネットワーク カードの名前を知っておく必要があります。次に、レジストリ データを取得します。IP アドレスとサブネット マスクはすべて配列形式になっています (実際、レジストリはバイナリ データを保存しており、VBSCRIPT が変換に役立ちます)。 WSH でレジストリを読み取るのは非常に簡単です。詳細については、上記の手順を参照してください。