Как изменить IP адрес компьютера из пакетного файла Печать
Добавил(а) microsin   

IP-адрес можно изменить при помощи команды netsh. Чтобы правильно сменить IP адрес, сначала надо выяснить текущую конфигурацию. Сделать это можно в командной строке при помощи команды:

netsh interface ip show address

Результат работы этой команды - отображение текущей конфигурации сетевого интерфейса. Нас интересует название интерфейса. Предположим, что он называется FASTNET, и нужно сменить IP адрес на 192.168.1.42, адресация в сети статическая, без использования DHCP, шлюз 192.168.1.1, маска 255.255.255.0 В этом случае, команда, которая должна быть выполнена из пакетного файла будет выглядеть следующим образом:

netsh interface ip set address name="FASTNET" static 192.168.1.42 255.255.255.0 192.169.1.1 1

После выполнения этой команды у интерфейса FASTNET IP адрес сменится на 192.168.1.42. Команда netsh предоставляет широкие возможности по управлению сетевыми настройками из командной строки. Для ознакомления с другими ее функциональными возможностями пользуйтесь справкой при помощи netsh /?.

Есть более удобный метод работы с netsh - скармливание ему конфигурационных сценариев. Тогда IP меняется одним щелчком мышки, и не надо париться с изучением опций netsh. Вот как это делается:

1. Стандартным способом настраиваются параметры сетевого интерфейса[ов] (через Сетевые подключения и свойства требуемого сетевого подключения).

2. После того, как сделанные настройки вошли в силу, выполняем команду:

netsh dump >cfg01.txt

Она выводит всю текущую конфигурацию сетевых настроек в сценарий cfg01.txt.

3. Вышеуказанные операции повторяем для всех необходимых сетевых конфигураций. Для каждой конфигурации указываем индивидуальное имя сценария (например, cfg02.txt, cfg03.txt, cfg04.txt и т. д.).

4. Создаём командные файлы для установки каждой конфигурации с таким содержимым:

netsh exec cfg0x.txt

Эта команда будет настраивать сетевые параметры, которые были сохранены в файле cfg0x.txt.

Больше никогда не понадобится лезть в свойства сетевого интерфейса и муторно вводить вручную циферки, боясь при этом ошибиться. Параметры будут вступать в действие немедленно после окончания работы сценария - работает с DHCP и даже со всеми дополнительными параметрами (DNS, WINS).

По поводу такого конфигурирования можно сделать несколько замечаний (выяснено путём эксперимента):

- галочки служб закладки “Общие” - Clients for Microsoft Networks, File and Printer Sharing for Microsoft Networks не могут быть сконфигурированы таким образом (установлены или сброшены).
- в сценарий пишется много лишнего (настраивается маршрутизация, RAS, IGMP и проч., и проч.).

Для простой смены IP-адреса можно оставить только 2 секции сценария - сброс интерфейса и назначение параметров IP. Например, этот сценарий у меня успешно настраивал назначение адреса с помощью DHCP:

#========================
# Конфигурация интерфейса
#========================
pushd interface
  reset all
popd
 
# Конец конфигурации интерфейса
# ----------------------------------------- 
# Настройка IP интерфейсов 
# ----------------------------------------- 
pushd interface ip
# Интерфейс настройки IP для "LocalLAN"
  set address name="LocalLAN" source=dhcp 
  set dns name="LocalLAN" source=dhcp register=NONE
  set wins name="LocalLAN" source=static addr=192.168.0.1
popd
# Конец настройки интерфейса IP

А этот сценарий назначал статический IP для прямого подключения (без промежуточного роутера и файервола) к ADSL-провайдеру:

#======================== 
# Конфигурация интерфейса 
#======================== 
pushd interface
  reset all
popd
# Конец конфигурации интерфейса
 
# ----------------------------------------- 
# Настройка IP интерфейсов                 
# ----------------------------------------- 
pushd interface ip
# Интерфейс настройки IP для "LocalLAN"
  set address name="LocalLAN" source=static addr=213.147.35.99 mask=255.255.255.248
  set address name="LocalLAN" gateway=213.147.35.97 gwmetric=0
  set dns name="LocalLAN" source=static addr=195.34.32.116 register=NONE
  add dns name="LocalLAN" addr=212.188.4.10 index=2
  set wins name="LocalLAN" source=static addr=none
popd
# Конец настройки интерфейса IP

Смена IP, netmask и шлюза по умолчанию ( это к примеру "Подключение по локальной сети". Замечено, команда отрабатывает быстрее если к изменяемому интерфейсу не подключен сетевой кабель):

netsh interface ip set address "" source=static 192.168.1.2 255.255.255.0 192.168.1.1 1

Смена первичного и вторичного dns:

netsh interface ip set dns "" static 192.168.1.100
netsh interface ip add dns "" 192.168.1.101