Практическая лекция WSH: Лекция 1: Получение конфигурации сетевых атрибутов машины
Автор:Eve Cole
Время обновления:2009-05-30 19:53:51
Оригинальный текст можно найти на сайте WSH (Маленький дом WHITE) (http://wwwasp.yeah.net).
Фактически это просто чтение реестра, но если вы сможете получить конфигурацию IP и другую информацию о машине, настроить IIS в будущем будет несложно. Следующий скрипт считывает все доступные IP-адреса машины, маску подсети, но не учитывает шлюз и другую информацию:
Код:
-------------------------------------------------- ----------------------------------
Опция 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") Если bIsDHCP Тогда
Шлюз = WSHShell.RegRead(sTcpipRegKey & «DhcpDefaultGateway») IPAddress = WSHShell.RegRead
(sTcpipRegKey & «DhcpIPAddress») Маска подсети = WSHShell.RegRead(sTcpipRegKey & «DhcpSubnetMask»)
MsgBox ("DefaultGateway: " & Gateway(0) & Chr(10) & Chr(13) & "IPAddress: " & IPAddress & Chr(10) &
Chr(13) & "Маска подсети: " & Маска подсети) Иначе шлюз = WSHShell.RegRead(sTcpipRegKey
& «DefaultGateway») IPAddress = WSHShell.RegRead(sTcpipRegKey & «IPAddress») SubnetMask =
WSHShell.RegRead(sTcpipRegKey & «Маска подсети») От i=0 до Ubound(IPAddress)-1 MsgBox
("DefaultGateway: " & Gateway(0) & Chr(10) & Chr(13) & "IPAddress: " & IPAddress(i) & Chr(10) & Chr(13)
& "Маска Подсети: " & Маска Подсети(i)) Следующий Конец Если Конец Если
-------------------------------------------------- ----------------------------------
Примечание. Сетевая конфигурация устройства сохраняется в реестре в разделе «Сетевая карта», поэтому сначала необходимо узнать имя сетевой карты. Затем получаем данные реестра, IP-адрес и маска подсети — все в виде массива (на самом деле реестр сохраняет двоичные данные, VBSCRIPT помогает нам их преобразовать). Чтение реестра в WSH очень просто, подробности см. в описанной выше процедуре.