Настройка сети через командную строку и BAT файл
Windows / Сеть и коммутация
В данной статье будут рассмотрены варианты настройки и смены сетевых реквизитов подключения по локальной сети через командную строку (CMD) и BAT файл.
Вариант № 1:
Смена сетевых настроек через командную строку. Нажимаем "Пуск" - "Выполнить" или же нажимаем сочетание клавиш Win + R. Откроется окно "Выполнить". В строчке вводим "cmd" (без кавычек) и жмем кнопку "ОК". Откроется окно cmd.exe. Вводим команды:
Команда на смену IP адреса, маски подсети, шлюза по умолчанию и метрики интерфейса. "Подключение по локальной сети" меняем на название своего сетевого подключения. 192.168.0.100 - IP адрес, 255.255.255.0 - маска подсети, 192.168.0.1 - шлюз, единичка (1) следующая за шлюзом (192.168.0.1) это метрика интерфейса.
CMD netsh interface ip set address "Подключение по локальной сети" static 192.168.0.100 255.255.255.0 192.168.0.1 1
Команда на смену DNS серверов. Первая строчка кода меняет/прописывает предпочитаемый DNS сервер, а вторая строчка кода меняет/прописывает альтернативный DNS сервер.
CMD netsh interface ip set dns "Подключение по локальной сети" static 192.168.0.2 primary
netsh interface ip add dns "Подключение по локальной сети" 192.168.0.3 index=2
Вариант № 2:
Смена сетевых настроек через BAT файл. Создаем текстовый документ, открываем его, жмем кнопку "Файл", выбираем пункт "Сохранить как". Откроется окно сохранения файла. В меню "Тип файла" выбираем пункт "Все файлы" (по умолчанию будет стоять "Текстовый документ"), выбираем кодировку ANSI (если изменено на другое). Далее к названию файла дописываем ".bat", таким образом у вас должно получиться примерно такое название файла: "Текстовый документ.bat". Жмем кнопку "Сохранить". Далее можно изменить название файла на свое. Теперь жмем правой кнопкой мыши на bat файле и в меню выбираем пункт "Изменить". Вводим в окно следующие команды:
BATCH chcp 1251
netsh interface ip set address "Подключение по локальной сети" static 192.168.0.100 255.255.255.0 192.168.0.1 1
netsh interface ip set dns "Подключение по локальной сети" static 192.168.0.2 primary
netsh interface ip add dns "Подключение по локальной сети" 192.168.0.3 index=2
Команда "chcp 1251" устанавливает кодировку. Если этого не сделать, то через BAT файл нельзя будет сменить настройки на сетевом интерфейсе с названием, состоящим из русских символов.
Пример BAT файла:
Внимание! По умолчанию в командной строке используется точечный шрифт. В связи с этим вместо кирилицы будут отображаться "кракоязбры". Для того, чтобы русский текст отображался правильно, нужно сделать сделующее: в открытом окне командной строки нажмите правой кнопкой мыши на заголовке окна. Откроется меню - в нем выберите пункт "Свойства". В открывшемся окне перейдите на вкладку "Шрифты" и выберите шрифт Lucida Console. Нажмите кнопку "ОК". Всё, теперь шрифты в командной строке будут отображаться нормально.
При запуске данного пакетного файла вам будет предложено выбрать один из двух вариантов настройки - дом или работа. В примере кода меняем название сетевого подключения на своё, если оно отличное от по умолчанию, т.е. "Подключение по локальной сети". Так же меням сетевые настройки - IP, маску, шлюз и DNS сервера. После смены сетевых настроек будет предложено посмотреть текущие сетевые настройки (команда ipconfig /all). Отвечаем да или нет в зависимости от того нужно вам это или нет.
BATCH @echo off
chcp 1251
set /p settings="Выберите настройки (1 - дом, 2 - работа):"
echo Выбраны настройки - %settings%
if %settings% equ 2 goto work
:home
set IFACE="Подключение по локальной сети"
set IP=172.30.0.100
set MASK=255.255.255.0
set GATEWAY=172.30.0.1
set GWMETRIC=1
set DNS1=172.30.0.2
set DNS2=172.30.0.3
goto dalee
:work
set IFACE="Подключение по локальной сети"
set IP=192.168.254.100
set MASK=255.255.255.0
set GATEWAY=192.168.254.1
set GWMETRIC=1
set DNS1=192.168.254.1
set DNS2=192.168.254.2
:dalee
echo Установлены настройки сети:
echo IP-адрес: %IP%
echo Маска подсети: %MASK%
echo Основной шлюз: %GATEWAY%
netsh interface ip set address %IFACE% static %IP% %MASK% %GATEWAY% %GWMETRIC%
echo Предпочитаемый DNS сервер: %DNS1%
netsh interface ip set dns %IFACE% static %DNS1% primary
echo Альтернативный DNS сервер: %DNS2%
netsh interface ip add dns %IFACE% %DNS2% index=2
set /p ipinfo="Показать настройки сети? (y - да, n - нет):"
echo Текущие настройки сети: %ipinfo%
if %ipinfo% equ n goto ipdontshow
:ipshow
ipconfig /all
goto dalee2
:ipdontshow
echo Отмена показа настроек сети.
:dalee2
pause