Войти

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


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

boss911
03-12-2011, 23:50
А, может быть, даже наоборот, отсекать, содержащие: »
Только что провел окончательные эксперименты. Все же лучше фильтровать, по крайней мере, в моем случае, чем отсекать что-то одно, просто при фильтрации оно отсекает все не нужного, такое как "1394" и виртуальные подключения (от виртуальных машин), то есть мы получаем реальный (нужный) список LAN устройств, а не всех Ethernet подключений. Еще раз спасибо El Sanchez за такой чудесный способ.

А по вопросу постом выше кто-то сможет помочь, плиз?

El Sanchez
05-12-2011, 18:37
Если я отключаю свое подключение, оно говорит "Отсутствуют экземпляры класса." »
boss911, еще бы не писало, для отключенных устройств свойство NetConnectionStatus=4.

P.S. Запустите у себя в консоли

WMIC PATH Win32_NetworkAdapter WHERE "PNPDeviceID LIKE 'PCI\\VEN%'" GET /VALUE

при влюченном/отключенном устройстве и увидите как меняются значения свойств.

boss911
06-12-2011, 05:42
NetConnectionStatus=4 »
У меня отказывается работать - "Отсутствуют экземпляры класса.", даже если подключение включено.

Мне бы вот, чтобы вместо ошибки, оно писало "Сетевое подключение не найдено или оно не подключено". Под ошибкой подразумевается, что подключение отключено или оно вообще не нашло подключений или при другой любой ошибки.

El Sanchez
06-12-2011, 15:00
NetConnectionStatus=4 »
Это свойство возвращает 4 на Win7, на WinXP возвращает 0. Знал же ж. В общем для отключенных устройств NetConnectionStatus<>2:

For /F "Tokens=1* Delims==" %%A In ('WMIC PATH Win32_NetworkAdapter WHERE ^"NetConnectionStatus^!^=2 AND PNPDeviceID LIKE ^'PCI\\VEN%%^'^" GET NetConnectionID /Value 2^>nul^|FindStr .') Do Call Echo.%%B отключено

boss911
07-12-2011, 02:24
El Sanchez

Сетевое подключение включено:
Подключение по локальной сети отключено
Если отключено, то вообще ничего не пишет.

Мне нужно наоборот. Если подключение не обнаружено или оно отключено, пусть выводит "Отключено", если все нормально, пусть ничего не выводится.

Foreigner
07-12-2011, 07:13
Если отключено, то вообще ничего не пишет »
Ну так и проверь переменную:

@echo off
setlocal

set "wmic=wmic path win32_networkadapter get name, netconnectionstatus /value"
for /f "tokens=*" %%i in (' "%wmic%" ') do 1>nul set "%%i" && call:check
goto:eof

:check

if defined Name 0>nul set /p="%Name% "

if defined NetConnectionStatus (

if not "%NetConnectionStatus%"=="2" (echo disconnected) else (echo connected)

)

for %%i in (Name,NetConnectionStatus) do set "%%i="

boss911
07-12-2011, 08:58
Foreigner

Что-то не так, долго пояснять, лучше посмтотрите сами (http://img851.imageshack.us/img851/8010/netconnectionstatus.png) (подключение включено). В конец батника я добавил PAUSE. Это не весь лог, еще несколько раз я жал любую клавишу.

А может сделать проще. Я напомню, что в своем батнике я буду использовать этот код (http://forum.oszone.net/post-1807819-80.html). Так вот, если в %TemporaryName% не будет найдено 'NetConnectionID', то оно выводит "Отключено" (и pause & exit), если нашло, то батник продолжает работу. Я представляю это сделать через FINDSTR, но боюсь, что не справлюсь или это будет жутко коряво. Прошу помочь именно в этом направлении, плиз.

Foreigner
07-12-2011, 19:26
В конец батника я добавил PAUSE »
Конец это goto:eof

boss911
08-12-2011, 01:46
Foreigner

Ах, да, ступил. Но все равно:

Attansic L1 Gigabit Ethernet 10/100/1000Base-T Controller connected
Сетевой адаптер 1394 connected
RAS асинхронный адаптер disconnected
Минипорт WAN (L2TP) disconnected
Минипорт WAN (PPTP) disconnected
Минипорт WAN (PPPoE) disconnected
Прямой параллельный порт disconnected
Минипорт WAN (IP) disconnected
Microsoft видео или ТВ подключение disconnected
Kaspersky Anti-Virus NDIS Miniport disconnected
Kaspersky Anti-Virus NDIS Miniport disconnected
Kaspersky Anti-Virus NDIS Miniport disconnected
Мне бы вот так сделать (http://forum.oszone.net/post-1810819-87.html).

El Sanchez
08-12-2011, 11:19
Сетевое подключение включено:
Код:
Подключение по локальной сети отключено
Если отключено, то вообще ничего не пишет.
Мне нужно наоборот »
boss911, ясно, символ ! съедается при включении отложенного раскрытия переменных, в результате чего условие уже не то. В вашем скрипте удвойте символ ^ перед ! (должно быть NetConnectionStatus^^!^=2), либо измените так: NetConnectionStatus^<^>2 (сработает независимо от того, включен ли режим или нет)

boss911
08-12-2011, 13:00
El Sanchez

Спасибо, теперь работает. Скажите, а можно вот эту строку:
FOR /F "Tokens=1* Delims==" %%A IN ('WMIC PATH Win32_NetworkAdapter WHERE ^"NetConnectionStatus^^!^=2 AND PNPDeviceID LIKE ^'PCI\\VEN%%^'^" GET NetConnectionID /VALUE 2^>nul^|FindStr .') DO CALL ECHO Отключено
вписать вместо этой:
WMIC PATH Win32_NetworkAdapter WHERE "NetConnectionStatus=2 AND PNPDeviceID LIKE 'PCI\\VEN%%'" GET NetConnectionID /VALUE 2>nul >%TemporaryName%
вот из этого кода (http://forum.oszone.net/post-1807819-80.html)?

В том плане, чтобы два раза не гонять WMIC. Если подключение отключено, то оно выводит "Отключено", если все в порядке, то записывает имя подключения в %TemporaryName%. Мне немного стыдно, но чего-то не могу сообразить как.

Guman
09-04-2012, 20:36
читал читал и ни че не получилось че то-(((
дайте мне пож универсальный код для следующего...



Как можно командной строкой изменить имя сетевого интерфейса ?
и еще условыя такие...
Неизвестно текущее имя интерфейса и надо независимо от того как они у кого названы переименовать в новое.

Т.е. команда по выводу текущего имени и переименовании на новую которую ми хотим и после этого только уже настраивать так как нужно зная уже конкретное имя..

в итоге хочу применитьвот эти команды..
netsh interface ipv4 set address name="Новое_название" source=static addr=10.177.188.24 mask=255.255.254.0 gateway=10.177.188.1
netsh interface ipv4 set address "Новое_название" static 10.177.188.24 255.255.254.0 10.177.188.1
route add -p 0.0.0.0 mask 255.255.254.0 10.177.188.1

все это должно работать универсально как на XP так и на 7... желательно организовать в cmd файлике..

очень надеюсь на вашу помощь...

вот здесь осужали по этому по поводу но ни как ни че не получилось
http://social.technet.microsoft.com/Forums/ru/xpru/thread/83c8002e-d61b-4d6d-804a-aa20152c93b7

поделитесь пож рабочим кодом

ergis@vk
22-08-2013, 17:11
Приветствую.
Задача такова:
Имена компьютеров вида E1-x, гдe x - числовое значение от 1 до 30
IP адрес напрямую зависит от имени компьютера, и его присвоение хотелось бы автоматизировать.

Set i="100+%computername:~0,3%"
netsh interface ip set address "Подключение по локальной сети" static 192.168.0.%i% 255.255.255.0 192.168.0.10 0

Понимаю, что ошибка тут: ...92.168.0.1%i%... Но не понимаю, как правильно.
Заранее спасибо за науку.

Petya V4sechkin
22-08-2013, 17:29
вида E1-x, гдe x - числовое значение от 1 до 30
E1, E2, ..., E30 - правильно я понял?
Тогда:
Set /a i=100+%computername:~1%
netsh interface ip set address "Подключение по локальной сети" static 192.168.0.%i% 255.255.255.0 192.168.0.10 0

Если вы имели в виду E1-1, E1-2, ..., E1-30, то:
Set /a i=100+%computername:~3%
netsh interface ip set address "Подключение по локальной сети" static 192.168.0.%i% 255.255.255.0 192.168.0.10 0

ergis@vk
22-08-2013, 17:36
Огромное спасибо.
Всё оказалось так просто...




© OSzone.net 2001-2012