|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Скрипт смены ip адреса если он получен по DHCP |
|
CMD/BAT - Скрипт смены ip адреса если он получен по DHCP
|
Новый участник Сообщения: 1 |
Профиль | Отправить PM | Цитировать Доброго дня всем. Есть один скриптик, он получает данные из реестра, и если ip адрес компьютера получен по DHCP, то прописывает его статически (необходимо все компьютеры в сети перевести на статику) Но скрипт как-то криво работает. А именно не получается сделать условие, получен ли ip по dhcp или присвоен статически.
@echo off setlocal enabledelayedexpansion set IFACE="LAN" set mask=255.255.252.0 set gateway=192.168.36.1 set dns1=192.168.36.2 set dns2=192.168.36.7 set GWMETRIC=1 set "i=0" for /f "delims=" %%i in ('ipconfig /all') do ( set "arr.!i!=%%i" set /a "i+=1" ) set "key=HKLM\SYSTEM\CurrentControlSet\services" set "key=%key%\Tcpip\Parameters\Interfaces" for /f %%i in ('reg query %key%') do ( for /f "tokens=3" %%j in ( '2^>nul reg query "%%i" /v DhcpIpAddress' ) do ( if /i "%%j" neq "0.0.0.0" ( set "ip=%%j" for /f "tokens=2 delims==. " %%k in ( 'set arr ^| findstr /rc:"%%j"' ) do set /a "n=%%k-2" for /f "tokens=2 delims=:" %%k in ( 'set arr.!n!' ) do set "dhcp=%%k" ) ) ) chcp 1251>nul if /i "%dhcp: =%" equ "нет" ( set "res=NO" ) else (set "res=YES") chcp 866>nul if /i "%res%" equ "yes" ( rem прописываем ip адрес echo:%ip% %mask% %gateway% netsh interface ip set address name=%IFACE% source=static addr=%IP% mask=%MASK% gateway=%GATEWAY% gwmetric=%GWMETRIC% netsh interface ip set dnsservers name=%IFACE% source=static address=%DNS1% register=PRIMARY validate=no netsh interface ip add dnsservers name=%IFACE% address=%DNS2% validate=no ping ya.ru ECHO: %COMPUTERNAME% %username% %ip% >> \\192.168.36.12\All\ОИТ\logs\%COMPUTERNAME%.txt goto:eof ) endlocal exit /b |
|
Отправлено: 09:20, 06-10-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Делайте на WSH/PoSH, это куда нагляднее и надёжнее.
|
Отправлено: 12:58, 06-10-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 793
|
Цитата Iska:
|
|
Отправлено: 18:42, 06-10-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
|
|
Отправлено: 23:51, 06-10-2016 | #4 |
Забанен Сообщения: 793
|
Цитата Iska:
|
||
Отправлено: 09:08, 07-10-2016 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ну, кому и семь вёрст — не крюк.
|
Отправлено: 10:13, 08-10-2016 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Непонятные глюки с ADSL+интернет-шлюз на FreeBSD 6.1+не раздаются ip-адреса по DHCP | zholyd | Сетевые технологии | 2 | 30-04-2013 16:30 | |
CMD/BAT - сделать так, что бы если ipconfig /all видел все ip адреса, то скрипт продолжал дальш | BERGAMOD | Скриптовые языки администрирования Windows | 4 | 02-11-2012 18:56 | |
Система - Программа для быстрой смены IP адреса | stalsoft | Программное обеспечение Windows | 7 | 14-10-2010 01:28 | |
Проблема с получением IP-адреса от DHCP-сервера по Wi-fi | Alex189 | Microsoft Windows NT/2000/2003 | 3 | 18-03-2010 14:42 | |
программа для смены IP - адреса | antonhot | Сетевые технологии | 2 | 10-02-2007 00:14 |
|