Войти

Показать полную графическую версию : Настройка сетевого интерфейса из командной строки <Windows, netsh>


andrystepa
17-07-2008, 09:43
Понадобилось мне недавно настроить сетевой интерфейс на компьютере под управлением Windows XP SP2 из командной строки. Поискал в инете и нашел на этом сайте инструкцию: Изменяем настройки сети (http://www.oszone.net/2411/) Там приведена такая инструкция:
С
помощью этой подсказки вы сможете очень быстро и легко изменить ваш IP и другие настройки. Вы можете сохранить нижеприведенный текст в файл change ip.bat и запускать его тогда, когда вам нужно:
Example: set address name="Local Area Connection" static 10.0.5.99 255.255.255.0 10.0.5.1 1
The syntax is: set address [name=]InterfaceName [source=]{dhcp | static [addr=]IPAddress [mask=]SubnetMask [gateway=]{none | DefaultGateway [[gwmetric=]GatewayMetric]}}

Сделал все как написано. Сначала дал команду из командной строки:

C:\Documents and Settings\Администратор>set address name="Local2" static 169.254.37.101 255.255.0.0 169.254.37.1 1

Нифига не изменилось. Адрес какой был, такой и остался. Читаю по ссылке указанной на той же странице - она никуда не ведет, устарела. Но в тексте ссылки я заметил знакомое слово: netsh. Ищу в инете. Оказывается это и есть та самая утилита командной строки, которая настраивает сетевой интерфейс. Слегка помучавшись, я таки понял, как она работает.
Утверждения о том что для начала работы надо дать команду:
netsh interface ip
не совсем верно. Дело в том, что это три команды, и каждую надо давать по отдельности. Если дать вместе, только выскочит подсказка по применимым командам. После каждой команды в приглашение командной строки меняется:

C:\Documents and Settings\Администратор>netsh
netsh>interface
netsh interface>ip
netsh interface ip>set address name="Local2" static 169.254.37.100 255.255.0.0 1
69.254.37.1 1

Кстати в подсказке к команде указывается следующее:

Использование: set address [name=]<Имя интерфейса>
[[source=]dhcp |
[source=] static [addr=]IP-адрес [mask=]Маска подсети]
[[gateway=] <IP-адрес шлюза>|none [gwmetric=]Метрика ]

Параметры:

Тег Значение
name - Имя этого интерфейса (строка).
source - Допустимо одно из следующих значений:
dhcp: Устанавливает для указанного интерфейса
настройку IP-адресов с помощью DHCP.
static: Устанавливает для указанного интерфейса
статическую настройку IP-адресов.

gateway - Одно из следующих значений:
<IP-адрес шлюза>: IP-адрес основного шлюз для
устанавливаемого статического IP-адреса.
none: Основной шлюз не установлен.
gwmetric - Метрика основного шлюза. Этот параметр не должно быть
установлен, если значение параметра gateway = 'none'.
Следующие параметры используются только если параметр source = 'static':

addr - IP-адрес указанного интерфейса.
mask - Маска подсети указанного IP-адреса.

Примечание:
Используется для изменения режима настройки IP-адреса
(статически или динамически). Добавляет IP-адреса к интерфейсу
со статическим IP-адресом или добавляет основной шлюз.

Примеры:

set address name="Подключение по локальной сети" source=dhcp
set address local static 10.0.0.9 255.0.0.0 10.0.0.1 1

Но там ошибка!!! То что параметр gwmetric = Метрика указан как необязательный неверно!! Если дать команду без этого параметра выскочит сообщение о неверном синтаксисе команды!

Petya V4sechkin
17-07-2008, 16:30
andrystepa, а вопрос какой?
netsh interface ip set address "Подключение по локальной сети" static ip-адрес маска шлюз метрика
netsh interface ip set dns "Подключение по локальной сети" static днс-сервер

(метрика = 0 обычно).
Информацию о команде можно посмотреть в хелпе (Пуск -> Справка и поддержка -> Найти -> netsh) или выполнить в командной строке:
netsh interface ip set address /?
netsh interface ip set dns /?

andrystepa
17-07-2008, 21:34
Petya V4sechkin,
Вопроса нет - я лишь предупреждаю, что инструкция по указанной ссылке не совсем верна, и привожу тот вариант, который работает. В приведенной инструкции про netsh ни слова.

Dirk Diggler
17-07-2008, 22:43
Вопроса нет - я лишь предупреждаю, что инструкция по указанной ссылке не совсем верна, »
Про метрику - это вы поторопились

andrystepa
18-07-2008, 15:47
Цитировать »
А в чем я поторопился? Если не верите, пожалуйста, вот вывод командной консоли:
без указания метрики

C:\Documents and Settings\Администратор>netsh interface ip set address name="Loc
al2" static 169.254.37.100 255.255.0.0 169.254.37.1
Недопустимый синтаксис использованной команды. Воспользуйтесь справкой для этой
команды.

Использование: set address [name=]<Имя интерфейса>
[[source=]dhcp |
[source=] static [addr=]IP-адрес [mask=]Маска подсети]
[[gateway=] <IP-адрес шлюза>|none [gwmetric=]Метрика ]

Параметры:

Тег Значение
name - Имя этого интерфейса (строка).
source - Допустимо одно из следующих значений:
dhcp: Устанавливает для указанного интерфейса
настройку IP-адресов с помощью DHCP.
static: Устанавливает для указанного интерфейса
статическую настройку IP-адресов.

gateway - Одно из следующих значений:
<IP-адрес шлюза>: IP-адрес основного шлюз для
устанавливаемого статического IP-адреса.
none: Основной шлюз не установлен.
gwmetric - Метрика основного шлюза. Этот параметр не должно быть
установлен, если значение параметра gateway = 'none'.
Следующие параметры используются только если параметр source = 'static':

addr - IP-адрес указанного интерфейса.
mask - Маска подсети указанного IP-адреса.

Примечание:
Используется для изменения режима настройки IP-адреса
(статически или динамически). Добавляет IP-адреса к интерфейсу
со статическим IP-адресом или добавляет основной шлюз.

Примеры:

set address name="Подключение по локальной сети" source=dhcp
set address local static 10.0.0.9 255.0.0.0 10.0.0.1 1

А теперь с указанием метрики

C:\Documents and Settings\Администратор>netsh interface ip set address name="Loc
al2" static 169.254.37.100 255.255.0.0 169.254.37.1 1
ОК.

Тут я ничего не перепутал. Цитаты я просто скопировал из окна командной строки. Так что ни убавить ни прибавить...

Dirk Diggler
18-07-2008, 16:01
А теперь с указанием метрики »
а теперь ВНИМАТЕЛЬНО рассмотрите синтаксис команды. ВНИМАТЕЛЬНО!

andrystepa
19-07-2008, 13:54
Понятно, извиняюсь. Не заметил двойных квадратных скобок. То есть в случае, если указан шлюз, надо указывать и метрику. А если шлюз не указан - метрику указывать не надо.

Dirk Diggler
19-07-2008, 21:58
А если шлюз не указан - метрику указывать не надо. »
Логично, не правда ли? :lol:

Dilinjer
23-09-2008, 19:45
Кто выложит рабочий батничек для измеения IP на удаленном компе(comp2):
Например:
comp1-локальный.
comp2 удаленный:
addr:192.168.0.99 -> 192.168.0.98
mask: 255.255.255.0 -> 255.255.255.0
gateway: 192.168.0.150 -> None

Батничек необходимо запускать на comp1.

ЗЫ: перепробовал кучу вариаций netsh - ничерта невыходит изменить АйПи-шник и шлюз :(
ЗЫЫ: На comp1 и comp2 XP_SP2_RUS , учетная запись на comp1 на удаленном компе имеет права локального администратора.

Ariasp
24-09-2008, 12:30
Кто выложит рабочий батничек для измеения IP на удаленном компе(comp2):
Например:
comp1-локальный.
comp2 удаленный:
addr:192.168.0.99 -> 192.168.0.98
mask: 255.255.255.0 -> 255.255.255.0
gateway: 192.168.0.150 -> None
Батничек необходимо запускать на comp1. »

netsh interface ip set address «Подключение по локальной сети» static 192.168.0.98 255.255.255.0 none

для запуска этого скрипта на comp1 c comp2 используй psexec;

ЗЫЫ: На comp1 и comp2 XP_SP2_RUS »
а вот здесь есть тонкий момент - имя подключения «Подключение по локальной сети» для пакетного файла надо будет перекодировать из cp1251 в дос-кодировку (ср866)

Dilinjer
25-09-2008, 15:16
для запуска этого скрипта на comp1 c comp2 используй psexec; » - нада без сторонних утилит.... Ведь есть же команда netsh [-r router name] или netsh set machine [[имя_компьютера=]строка], но как я не извращался ничего невышло на удаленном компе изменить АйПи'шник. На локальном компе проблем с изменением IP и прочих сетевых настроек нету....
Вобщим все что касается синтаксиса netsh для меня слишком запутано и напросторах инета я ничего вразумительного по этому поводу нинашел :(

ЗЫ: Повторюсь, задача стоит изменит IP на удаленном компе без сторонних утилит (либо netsh [-r router name или както через WMIC) из bat'ника.... Кто может выложить рабочий (проверенный) пример ?




© OSzone.net 2001-2012