Войти

Показать полную графическую версию : [решено] Настройка "Подключения по локальной сети" с помощью CMD


Страниц : 1 [2] 3 4 5

Nun-Nun
14-09-2010, 14:34
Понял, исправил - всё работает!

Nun-Nun
14-09-2010, 16:42
Есть ещё один вопрос. Используя скрипты, приведённые в данной теме, попробовал объединить решение нескольких задач в одном батнике: определение названия сетевого соединения, смена названия сетевого соединения на своё и ввод параметров сетевого соединения. В итоге первые две задачи выполняются нормально, а вот с третьей что-то никак. Может кто подскажет, как это должно выглядеть, чтобы было правильно? Как задать значение (найденное название соединения), которое бы подставлялась в качестве первого параметра для RenameNetworkConnection.vbs ?
@echo off
for /f "tokens=2 delims==" %%a in ('wmic path Win32_networkadapter where ^"NetConnectionStatus^=2^" get NetConnectionID /value') do echo %%a
RenameNetworkConnection.vbs "Старое название" "Интернет"
netsh interface ip set address name="Старое название" static 192.168.1.2 255.255.255.0 192.168.1.1 0
netsh interface ip set dns name="Старое название" static 82.209.213.60 primary
netsh interface ip add dns name="Старое название" 193.232.248.2 2
pause
exit
В итоге получаю это (см. скриншот):

Petya V4sechkin
14-09-2010, 17:55
Nun-Nun, а если подключений несколько, какое выбирать?

Nun-Nun
14-09-2010, 20:08
Petya V4sechkin,

Правильно, как с этим быть я тоже не знаю. :cry: Да и не только это. Вон на скриншоте написано "Отсутствуют экземляры класса". Что за экземпляры, какого класса... - ... его знает?.. Я в этом деле ещё чайник. Мне бы для начала с одним (первым) подключением разобраться. Первым обычно идёт подключение для сетевой карты, потом вайфаи, синезубы и т.п. (я так думаю).

Nun-Nun
15-09-2010, 14:17
Ну так что, по поводу подстановки переменной никто подсказать не может?

amel27
16-09-2010, 07:48
как вариант:
@Echo Off

For /F "Skip=1 Tokens=1" %%i In ('WMIC NICConfig WHERE IPEnabled^=TRUE Get MACAddress^,SettingID') Do Set MAC=%%i
For /F "Delims=" %%i In ('WMIC NIC WHERE MACAddress^="%MAC%" Get NetConnectionID /Value^|Find "="') Do Set "%%i"
If "%NetConnectionID:~-1%"=="" Set NetConnectionID=%NetConnectionID:~,-1%

Echo %NetConnectionID%
Pause >Nul

Nun-Nun
16-09-2010, 21:22
amel27,

Запускаю Ваш скрипт на Win7 x64 ... Вроде что-то делает, но не успеваю прочесть сообщение в консольном окне - пауза игнорируется и окно закрывается. На XP x32 мелькает название текущего соединения.
Не совсем ясно, что именно скрипт делает - определяет настройки текущего соединения или его название?

asdasd
28-09-2010, 10:14
Подскажите пожалуйста. Как через cmd добавлять второстепенные шлюзы. В справке netsh я такого не нашел.
Вот скрин

Petya V4sechkin
28-09-2010, 10:40
Как через cmd добавлять второстепенные шлюзы.
netsh int ip add address name="имя интерфейса" gateway=шлюз gwmetric=0

asdasd
28-09-2010, 10:57
Работает. Спасибо.

DonQuixote
29-12-2010, 08:09
у меня проблемы на вин7
при использовании netsh -c interface dump > netsettings.txt копируются не все параметры к примеру нету ни dns а при попытки установки настройки меняються на статичные но поля где доложны быть все ip пустые
# ----------------------------------
# Конфигурация IPv4
# ----------------------------------
pushd interface ipv4

reset
set global icmpredirects=enabled
add route prefix=0.0.0.0/0 interface="Подключение по локальной сети" nexthop=192.168.1.1 publish=Да
add address name="Подключение по локальной сети" address=192.168.1.2 mask=255.255.255.0


popd
# Конец конфигурации IPv4
на XP же выглядит все как надо
# -----------------------------------------
# Настройка IP-интерфейсов
# -----------------------------------------
pushd interface ip


# Интерфейс настройки IP для "Подключение по локальной сети"

set address name="Подключение по локальной сети" source=static addr=192.168.1.2 mask=255.255.255.0
set address name="Подключение по локальной сети" gateway=192.168.1.1 gwmetric=
set dns name="Подключение по локальной сети" source=static addr=77.40.0.2 register=PRIMARY
add dns name="Подключение по локальной сети" addr=77.40.0.3 index=2
set wins name="Подключение по локальной сети" source=static addr=none


popd
# Конец настройки интерфейса IP
что делать подскажите....и ещё не много не по теме при на строки подключения почему то даже если введёшь ip и сохранишь они бывают сами пропадают...тот же шлюз или днс ....приходиться пару раз так делать при этом отключаясь и подключаясь к сети
сижу через маршрутизатор.

wookoos
20-10-2011, 20:45
Подскажите пожалуйста, как включить из батника сеть и выключить, соответственно из него же предварительно проверив состояние.

Petya V4sechkin
20-10-2011, 21:10
как включить из батника сеть и выключить
С помощью DevCon (пример (http://forum.oszone.net/post-1174810.html#post1174810)) или CNic.exe (пример (http://forum.oszone.net/post-1176279.html#post1176279) там же).

предварительно проверив состояние
При каком состоянии какое действие хотите выполнить?

boss911
23-11-2011, 00:43
Увы, но у меня ничего неполучается, чтобы узнать имя подключения, мне нужно только посредством CMD. Есть у меня код, но он работает только на XP, а дело в том, что вывод IPCONFIG в XP и в Win7 разный.

Настройка протокола IP для Windows


Подключение по локальной сети - Ethernet адаптер:

DNS-суффикс этого подключения . . :
IP-адрес . . . . . . . . . . . . : xxx.xxx.xxx.xxx
Маска подсети . . . . . . . . . . : xxx.xxx.xxx.xxx
Основной шлюз . . . . . . . . . . : xxx.xxx.xxx.xxxНастройка протокола IP для Windows


Ethernet adapter Подключение по локальной сети:

DNS-суффикс подключения . . . . . :
Локальный IPv6-адрес канала . . . : xxxx::xxxx:xxx:xxxx:xxxx%xx
IPv4-адрес. . . . . . . . . . . . : xxx.xxx.xxx.xxx
Маска подсети . . . . . . . . . . : xxx.xxx.xxx.xxx
Основной шлюз. . . . . . . . . : xxx.xxx.xxx.xxx

Туннельный адаптер isatap.{9D37GYF8-A5E7-98F2-824E-189V70K9773L}:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :

Туннельный адаптер Подключение по локальной сети* 2:

DNS-суффикс подключения . . . . . :
IPv6-адрес. . . . . . . . . . . . : xxxx:x:xxxx:xxxx:xxxx:xxx:xxxx:xxxx
Локальный IPv6-адрес канала . . . : xxxx::xxxx:xxx:xxxx:xxx%xx
Основной шлюз. . . . . . . . . : :
Соответственно на Win7 я получаю неверное имя. Данный код (http://forum.oszone.net/post-1310658-10.html) на XP работать не хочет:
Неизвестное исключительное состояние WMIC.
Не уже ли нет универсального кода в CMD для WinXP и Win7 ? Конечно, можно батником определить какая ОС и в зависимости от ОС выполнить тот (мой) или этот (http://forum.oszone.net/post-1310658-10.html) код, но явно не кошерно это будет, хочется один универсальный код.

Iska
23-11-2011, 02:01
boss911, у меня:
Данный код (http://forum.oszone.net/post-1310658-10.html) на XP работать не хочет: »
на XP работает. Скорее всего, дело не в коде.

Не уже ли нет универсального кода в CMD для WinXP и Win7 ? »
Он и так универсален. Но Вы же задействуете утилиты разных версий для XP и Windows 7 — так что, сам язык пакетных файлов тут не при чём. Переходите на WSH или на PoSH, там зависимость от версии ОС ниже.

boss911
23-11-2011, 02:43
на XP работает. »
Проверил еще на одной ХР SP3 (у друга), все то же, что и у меня:
Неизвестное исключительное состояние WMIC.
Все дело в команде (классы не отрабатывает):
wmic path Win32_networkadapter
она выдает такой результат.

Применение других скриптов, в отличие от CMD, мне не подходит.

Iska
23-11-2011, 04:00
boss911, попробуйте восстановление (http://forum.oszone.net/post-1320845.html#post1320845) WBEM.

boss911
23-11-2011, 05:08
Iska

Все сделал по инструкции (все прошло без сбоев), эффект все тот же. Да и чему ему ломаться, ОС недели три назад переустанавливал (оригинал XP SP3 VL + октябрьский UpdatePack (http://forum.oszone.net/thread-196600.html)).

Foreigner
23-11-2011, 07:16
boss911,
Попробуй так:

set "wmic=wmic path Win32_networkadapter where NetConnectionStatus="2" get NetConnectionID /value"
for /f "tokens=2 delims==" %%a in (' "%wmic%" ') do echo %%a

boss911
23-11-2011, 08:54
Foreigner

Спасибо, но, увы. Я выше говорил, что проблема в том, что команда wmic path Win32_networkadapter у меня выдает такой результат:
Неизвестное исключительное состояние WMIC.
Я в инете, для эксперимента, нашел еще пару классов, чтобы посмотреть, что будет, но и с теми классами получаю вышеуказанный результат. Проблема не с кодом, как я понял, а с WMIC на WinXP (не только на моей машине).




© OSzone.net 2001-2012