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

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

NoIZz 26-07-2012 18:33 1959418

Сохранение и восстановление сетевой конфигурации WinXP/2003/7
 
Требуется:

Сохранить конфигурацию сетевых интерфейсов перед обновлением драйверов сетевых адаптеров
Сеть большая - 3000 машин почти на всех одинаковые сетевки - не важно

PS Поиск наличия устройств в реестре (в раздел HKLM\SYSTEM\CurrentControlSet\Enum\PCI)
для поиска берутся ID из .inf-файлов пакета дров
а так же наличия установленных устройств провожу скриптом - приведу в божеский вид - выложу

на XP/2003
сохранение netsh interface ip dump>ipconfig.cfg
и восстановление netsh -с interface -f ipconfig.cfg
работает без проблем
а на 7ке нифига не работает
нужно что бы работало и под всеми от XP заканчивая 7кой

как только не пробЫвал
сохранять-сохраняет - но не все - настройки DNS, WINS итп игнорирует
на русской еще и не восстанавливает ничего - тк в русифицированной 7 netsh упорно пишет в скрипт конфигурации publish=да - хотя должно быть Yes
понятно что почти везде ipшники раздаются через DHCP, но есть машины в удаленных сетях (коннектятся к основной сети по VPN) со статически прописанными ip-адресами, dns'ами - не везде же DHCP поднять реально

Сейчас потихоньку скрипт ваять начал
во всяком случает сделано:
1. Поиск в реестре сетевых подключений в KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network
2. Обработка и загон названий в переменную %NETCON% (ох и намучался я с русской виндой - пришлось в процессе работы скрипта менять кодовую страницу туды-сюды)
3. Проверка живости сетевого подключения через наличие названия в выводе netsh int show interface name="%NETCON%" и ipconfig/all на всяк случай - не все живые есть и там и там - например Teredo Tunneling Pseudo-Interface есть в выводе только ipconfig /all
4. Удаление (если надо) старых хвостов - имен удаленных сетевых подключений (благодаря которым при переутсновке дров и тп появляются всякие Local Area Connection 3..5..10...25...)
5. Сейчас отчаявшись побороть netsh под 7кой решил парсить netsh int show interface name="%NETCON%" - разбиарть в переменные (со счетчиками - тк на интерфейсах может быть несколько ip, гетвеев, днс и винс-серверов) и загонять в скрипт приемлемый для переваривания netsh - но что-то сильно затупил - не все получается... пока надеюсь...

Вдруг у кого есть готовый скрипт на виндовом шелле который тягает настройки сети из вывода ipconfig /all или netsh int ip show config name="имя сетевого интерфейса" и сохраняет/восстанавливает сохраненные

Спс!

NoIZz 30-07-2012 09:41 1961362

Можно конечно из реестра тащить - из services\tcpip\interfaces
но неспортивно же )))


Время: 16:22.

Время: 16:22.
© OSzone.net 2001-