Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Изменение настроек сетевого интерфейса (http://forum.oszone.net/showthread.php?t=199178)

Insane 10-02-2011 23:54 1609790

Изменение настроек сетевого интерфейса
 
Есть ноутбук с Win7 Ultimate.
Суть в том, что через Ethernet ноут подключается в двух локалках:

- в одной DHCP нет, ибо есть AD и подсчет трафика на айпишниках. Соответственно, необходимо задавать IP, маску подсети, шлюз, днс-сервера (оба).
- в другой есть DHCP и все должно получаться на автомате, то есть нужно руками залезать в свойства tcp/ip на интерфейсе и выставлять "получить автоматически" для айпишников и днсов.

Все настройки для ip4.
Подскажите какое-нибудь решение для упращения жизни, в идеале хочется накропать два скрипта (а лучше один) - один будет вбивать настройки, другой менять все на автомат.
Я в скриптинге под win не разбираюсь вообще... =\

Ivan Bardeen 11-02-2011 07:15 1609918

Это изменение на "автомат" (скрипты vbs)
Код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled = TRUE")
 
For Each objNetAdapter In colNetAdapters
    objNetAdapter.EnableDHCP()
    objNetadapter.SetDNSServerSearchOrder()
Next

Этот "вбивает" настройки

Код:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetCards = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration where IPEnabled = TRUE")

    strIPAddress = Array("192.168.0.100")
        strSubnetMask = Array("255.255.255.0")
        strGateway = Array("192.168.0.1")
        strGatewayMetric = Array(1)
        arrDNSServers = Array("192.168.0.10", "192.168.0.20")

For Each objNetCard in colNetCards
    DNSServers = objNetCard.SetDNSServerSearchOrder(arrDNSServers)
    StaticIP = objNetCard.EnableStatic(strIPAddress, strSubnetMask)
    DefGW = objNetCard.SetGateways(strGateway, strGatewaymetric)
Next


SendMessage 11-02-2011 10:32 1610024

Попадалась инфа, что IPEnabled
в семерке некорректно работает. Надо бы потестить семерочникам. Чтобы уж сомнений в ту или другую сторону не было.
Про 2003 тоже писали:
Цитата:

I noticed that when you IPEnabled for each adapter on server 2003 will return True whether they are connected or not.

however, on windows 2008, only those adapters that are connected will have IPEnabled set to True.

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Ivan Bardeen 11-02-2011 10:46 1610036

Цитата:

Цитата SendMessage
в семерке некорректно работает. Надо бы потестить семерочникам. Чтобы уж сомнений в ту или другую сторону не было. »

На семерке отработал с ожидаемым результатом.


Время: 12:17.

Время: 12:17.
© OSzone.net 2001-