Ogarkov.com
В Windows есть замечательная команда netsh, которая позволяет из скрипта совершать самые разнообразные действия по настройке сети. Одна из часто встречающихся задач — изменение IP-адреса скриптом.
Изменить адрес с помощью netsh легко, нужно только знать, как называется интерфейс, на который будет повешен этот адрес. В русской версии Windows он обычно называется «Подключение по локальной сети».
Пример настройки адреса. Возьмем какой-нибудь 192.168.24.33:
netsh interface ip set address name=»Подключение по локальной сети» source=static addr=192.168.24.33 mask=255.255.255.0 gateway=none
Другой пример с тем же адресом и с указанием основного шлюза 192.168.24.1:
netsh interface ip set address name=»Подключение по локальной сети» source=static addr=192.168.24.33 mask=255.255.255.0 gateway=192.168.24.1 gwmetric=1
С помощью netsh можно, к примеру, очистить ARP-кэш (то же самое, что делает arp -d * ):
netsh interface ip delete arpcache
Или сбросить стек TCP/IP в случае, когда он поврежден и подключение к интернету или локальной сети не работает:
netsh interface ip reset [log_filename]
Здесь log_filename — это имя файла для вывода в него лога, например, C:\ipreset.log . В Windows 2003, к слову, невозможно удалить и снова установить протокол TCP/IP в свойствах сетевого подключения, и в этом случае последняя команда весьма полезна.
Более того, с помощью netsh можно сбросить и Winsock. Это делается в случаях, когда его конфигурация повреждена — при этом может не работать интернет, а программы — выдавать ошибку открытия сокета:
netsh winsock reset
После этого нужно перезагрузить компьютер. Microsoft предупреждает о побочных эффектах, см. подробнее здесь.
Еще один интересный пример — разрешение удаленного управления компьютером в правилах встроенного брандмауэра Windows:
netsh firewall set service remoteadmin enable
Подобным образом можно настраивать любые правила файрвола из скрипта, для этого есть все возможности. В Windows Server 2008, Windows Vista и Windows 7 вместо netsh firewall следует использовать netsh advfirewall firewall .
Дополнительная информация о netsh:
Добавляя через пробел команды и знак вопроса, можно изучить возможности netsh более детально:
netsh interface ip set ?
netsh firewall set ?
Утилита может работать и в режиме командной строки, для этого нужно просто запустить netsh без параметров.
Как изменить IP адрес компьютера из командной строки или bat-файла
В процессе работы в ОС семейства Windows иногда бывает необходимо изменить IP адрес компьютера не через графический интерфейс, а с помощью пакетного файла (bat) или же с помощью командной строки (cmd). В данной статье мы расскажем о том, как это можно сделать.
Описание
Смена IP адреса компьютера осуществляется с помощью утилиты netsh, которая входит в состав Windows начиная с самых старых версий этой ОС. Чтобы правильно сменить IP адрес, сначала надо выяснить текущую конфигурацию. Сделать это можно в командной строке при помощи команды
Результат работы этой команды — отображение текущей конфигурации всех сетевых интерфейсов, настроенных в ОС. Из всех, нам необходимо найти и запомнить название того интерфейса, для которого мы хотим поменять адрес. В нашем примере видно, что интерфейс называется Ethernet. Текущий IP адрес 192.168.100.136 , маска подсети 255.255.255.0 , а основной шлюз 192.168.100.1 .
Предположим, что нужно сменить наш IP адрес на 192.168.100.10 , адресация в сети статическая, без использования DHCP, шлюз остается прежним 192.168.100.1, маска тоже не меняется 255.255.255.0
В этом случае, команда, которая должна быть выполнена из пакетного файла или командой строки принимает следующий вид:
После выполнения этой команды у интерфейса Ethernet сменится IP адрес на 192.168.100.10 , как на скриншоте ниже.
Команда netsh предоставляет широкие возможности по управлению сетевыми настройками из командной строки. Для ознакомления с другими ее функциональными возможностями пользуйтесь справкой при помощи netsh /?
Как сменить IP адрес компьютера через реестр?
Многие задаются вопросом, как изменить IP адрес компьютера через реестр Windows. В этой статье я расскажу вам несколько способов, с помощью которых вы смодете сделать это.
Открываем редактор реестра Windows. Это можно сделать несколькими способами.
1). Нажать сочетание клавиш Win + R , в открывшемся окне ввести regedit и нажать кнопку ОК.
2). Открыть проводник Windows и найти файл «C:\Windows\regedit.exe».
В открывшемся окне открываем путь HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces
В данном разделе реестра содержатся папки с настройками сетевых интерфейсов. Выбрав нужную папку, вы увидите параметры с настройками:
Параметры для изменения:
IPAddress — IP адрес
SubnetMask — маска подсети
DefaultGateway — шлюз по-умолчанию
NameServer — DNS сервара (указываются через запятую)
Важно! Для применения настроек сети необходимо выключить и заново включить сетевое подключение (Подключение по локальной сети) либо перезагрузить компьютер. |
Выключение и включение сетевого подключения через BAT файл
BATCH
Копировать код
chcp 1251 — смена кодовой страницы. необходимо для того, чтобы изменялись настройки у сетевого подключения имеющего название из русских букв. Если параметр не указывать, то скрипт будет срабатывать только на латинских названиях сетевого подключения.
name = «Подключение по локальной сети» — в кавычках: название сетевого подключения. Если у вас сетевое подключение называется по другому, то измените имя.
timeout 1 — ждет 1 секунду и после выполняет следующую команду.
admin = ENABLED — DISABLED: выключение, ENABLED: включение.
Вы так же можете скачать готовый файл test.bat
Важно! Запускать BAT файл необходимо с правами администратора. Иначе скрипт не сработает. Для запуска файла с правами администратора нажмите правой кнопкой мыши на файле и выберитепункт меню «Запуск от имени администратора». |
Создание и настройка ярлыка для запуска BAT файла выключения и включения сетевого интерфейса от имени администратора
Создайте ярлык для файла BAT, выключающего и включающего сетевой интерфейс. Если вы скачали фалй примера (выше), то ярлык создастся с именем «test — Ярлык.lnk». Нажмите правой кнопкой мыши на ярлыке файла и в открывшемся меню выберите пункт «Свойства». Откроется окно. В нем нажмите кнопку «Дополнительно» (Рис.2).
Далее в открывшемся окне «Дополнительные свойства» установите галоку «Запуск от имени администратора» (Рис.3). Затем нажмите кнопку ОК, чтобы закрыть окно и вернуться к предыдущему окну.
Далее в основном окне свойства ярлыка выберите вкладку «Шрифт». Далее выберите шрифт Lucida Console и нажмите кнопку ОК (Рис.4).