Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » VBS: Сменить сетевые настройки в альтернативной конфигурации

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Gr0l

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Собственно в названии темы отражена суть вопроса. Как при помощи VBScript изменить сетевые настройки сетевого карты в альтернативной конфигурации TCP/IP при включеном DHCP (IP адрес, маску, шлюз и DNS, WINS). Всем спасибо.

Всего записей: 5 | Зарегистр. 25-02-2009 | Отправлено: 21:26 25-02-2009
Gr0l

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, подскажите тогда пожалуйста возможно ли это вообще... (может через cmd) Если да, то куда мне глядеть, чтоб докопаться до истины. Я знаю есть такая команда netsh, но вроде бы не нашел, то, что нужно, а может плохо глядел.

Всего записей: 5 | Зарегистр. 25-02-2009 | Отправлено: 00:23 28-02-2009
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
netsh dump выведет все настройки. Можно их взять за основу написания своего скрипта.
Вот пример из моих настроек

Код:
 
pushd interface ip
set address name="Wireless" source=static addr=192.168.0.64 mask=255.255.255.0  
set address name="Wireless" gateway=192.168.0.1 gwmetric=0
set dns name="Wireless" source=static addr=192.168.0.1 register=PRIMARY
#add dns name="Wireless" addr=10.4.1.6  
popd
 

выполняется так
netsh exec файл_с_текстом_скрипта
Меняет IP, маску, шлюз, DNS для wi-fi у меня на ноуте.
 
Если чисто на VBS, копай в сторону WMI, что-то типа

Код:
 
Set cards = GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
 
arrstripaddress = Array("192.168.0.100")
arrstrsubnetmask = Array("255.255.255.0")
 
For Each objCard In cards
    ' Сдесь надо сделать проверку, чтобы не менять IP всем картам
    result1 = objCard.EnableStatic(arrstripaddress, arrstrsubnetmask)
    If result1 = 0 Then
        wscript.echo "IP changed successfully."
    Else
        wscript.echo "IP Change failed."
    End If
Next
 

Более конкретных примеров нет.

----------
Разум когда-нибудь победит

Всего записей: 3217 | Зарегистр. 09-02-2003 | Отправлено: 11:18 03-03-2009
Gr0l

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis: в том то и дело, что вопрос не такой легкий, как кажется. В своих примерах ты меняешь статический IP адрес и маску, а мне нужно, менять IP и маску в альтернативныйх настройках TCP/IP, когда включен DHCP. Вообщем наверно это называтся менять настройки APIPA.
 
Зачем это нужно? Мне кажется ответ простой. Когда DHCP сервер недоступен и получить автоматичеси IP адрес и прочие сетевые настройки невозможно, то в дело включается альтернативная конфигурация. Допустим сто рабочих станций получают IP адреса с DHCP сервера, а если сервер будет не доступен, то в этом случае поможет предварительно настроенная APIPA на рабочих станциях. Чтоб настроить на рабочих станциях в ручную альтернативную конфигурацию придется потратить кучу времени, а если рабочих станций 200, 500 и т.д., то вручную это будет уже не осилить.
 
Здесь хороший материал про настройки сетевой конфигурации при помощи VBScript:
http://netdocs.ru/articles/Managing-Windows-Networks-Using-Scripting.html
http://www.activexperts.com/activmonitor/windowsmanagement/scripts/networking/client/
Также хороший материал можно найти на msdn:
http://msdn.microsoft.com/en-us/library/aa394217(VS.85).aspx
 
Вообщем материала много, а нет того, что мне нужно, или я не вижу очевидное решение проблемы. Подскажите пожалуйста. Истина должна быть рядом. Спасибо.

Всего записей: 5 | Зарегистр. 25-02-2009 | Отправлено: 15:14 03-03-2009
Gr0l

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Неужели никто не знает решения проблемы???

Всего записей: 5 | Зарегистр. 25-02-2009 | Отправлено: 17:56 15-04-2009
rus_admin

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос актуален

Всего записей: 6 | Зарегистр. 05-06-2006 | Отправлено: 08:43 02-03-2010
rus_admin

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кому интересно вот решение  
http://www.vbfrance.com/codes/CONFIGURATION-IP-ALTERNATIVE-AVEC-DHCP-ACTIF-ALTERNATE-IP_41427.aspx

Всего записей: 6 | Зарегистр. 05-06-2006 | Отправлено: 16:50 10-03-2010
Gr0l

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Немного доработанный код. Учтены некоторые ошибки.
Для работы скрипта обратите внимание на эту строку:

Код:
 
bOper = (Not IsEmpty(sMask)) And (InStr(1, sIP, "10.0.0.") >= 1) And (sDomain = "domen.loc") 'And objAdapter.DHCPEnabled    
 

Сюда подставьте свои значения сети:
"10.0.0."
"domen.loc"
Код скрипта

Всего записей: 5 | Зарегистр. 25-02-2009 | Отправлено: 17:21 24-01-2014 | Исправлено: Gr0l, 17:26 24-01-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » VBS: Сменить сетевые настройки в альтернативной конфигурации


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru