PDA

Показать полную графическую версию : Отключение и подключение интернет соединения


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

drmodjo
28-10-2013, 23:52
Всем привет. В первую очередь благодарность всем тем, кто поддерживает данный ресурс. У меня к вам такая просьба... Нужен cmd файл выполняющий скрипт отключения и подключения интернет соединения. Вся сложность в том, чтобы скрипт выполнял задачу автоматически влюбой версии Windows 8/8.1 . Заранее благодарю всех кто поможет.

sunnykey
29-10-2013, 13:55
Всем привет. В первую очередь благодарность всем тем, кто поддерживает данный ресурс. У меня к вам такая просьба... Нужен cmd файл выполняющий скрипт отключения и подключения интернет соединения. Вся сложность в том, чтобы скрипт выполнял задачу автоматически влюбой версии Windows 8/8.1 . Заранее благодарю всех кто поможет. »
Пожалуйста поясните, что значит "отключал интернет соединение"? У вас PPPoE, VPN, Прямой доступ, WiFi перерезать?

drmodjo
29-10-2013, 14:24
Благодарю, что откликнулись. Дело в том, что скрипт будет использоваться на разных компьютерах с разными подключениями, поэтому нужно что-то универсальное.

sunnykey
29-10-2013, 15:45
Благодарю, что откликнулись. Дело в том, что скрипт будет использоваться на разных компьютерах с разными подключениями, поэтому нужно что-то универсальное. »
Универсальное - это отключить сетевой адптер. Пойдёт?

Iska
29-10-2013, 16:06
sunnykey, Вы ещё не спросили у автора, по каким признакам среди нескольких следует выбирать потребный ;).

sunnykey
29-10-2013, 16:10
sunnykey, Вы ещё не спросили у автора, по каким признакам среди нескольких следует выбирать потребный . »
Как всегда делаем хардкор, рубим всё даже loopback XD

drmodjo
29-10-2013, 17:20
Универсальное - это отключить сетевой адптер. Пойдёт?

Да, пойдет. Важно, что на разных компьютерах это будут разные сетевые адаптеры. В любом случае у компьютера не должно быть доступа в интернет, а каким путем наверное все равно. Главное, чтобы скрипт работал на всех компьютерах и разных редакциях Windows 8/8.1

Elven
29-10-2013, 17:47
http://support.microsoft.com/?scid=kb%3Bru%3B311272
читаешь описание, скачиваешь тулзу, отбираешь нужные классы устройств и рубишь их к чертовой бабушке!
вот здесь похожая проблемма разбиралась недавно: http://forum.oszone.net/thread-270681.html

sunnykey
30-10-2013, 17:17
Да, пойдет. Важно, что на разных компьютерах это будут разные сетевые адаптеры. В любом случае у компьютера не должно быть доступа в интернет, а каким путем наверное все равно. Главное, чтобы скрипт работал на всех компьютерах и разных редакциях Windows 8/8.1 »
Выключение на PoSH
(Get-WmiObject "win32_networkadapter" -Filter "PhysicalAdapter='true'").Disable()
Включение на Posh
(Get-WmiObject "win32_networkadapter" -Filter "PhysicalAdapter='true'").Enable()

Sisin
04-06-2018, 14:20
Подскажите, пожалуйста, как с помощью bat осуществить проверку включено подключение по локальной сети или нет?
Смысл, чтобы при запуске bat проверялось подключение: если активно, то выключить, а если нет, то включить.

netsh interface set interface name="Подключение по локальной сети" admin=DISABLED
netsh interface set interface name="Подключение по локальной сети" admin=ENABLED

YuS_2
04-06-2018, 22:48
Подскажите, пожалуйста, как с помощью bat осуществить проверку включено подключение по локальной сети или нет? »
Например, так:
wmic path win32_networkadapter where physicaladapter="true" get netenabled,deviceid /value|findstr /i "deviceid netenabled"

Sisin
05-06-2018, 10:20
wmic path win32_networkadapter where physicaladapter="true" get netenabled,deviceid /value|findstr /i "deviceid netenabled" »

А как теперь заставить инет отключаться, если он включен и включаться, если выключен??

YuS_2
05-06-2018, 12:17
А как теперь заставить инет отключаться, если он включен и включаться, если выключен?? »
Включайте фантазию :)
например так:
@echo off
set deviceid=9
for /f "delims=" %%a in ('
wmic path win32_networkadapter where deviceid^=%deviceid% get netenabled /value^|find /i "netenabled"
') do set %%a
if "%NetEnabled%"=="FALSE" (wmic path win32_networkadapter where deviceid=%deviceid% call enable) else (
wmic path win32_networkadapter where deviceid=%deviceid% call disable
)
pause&exit

где %deviceid% - ID физического адаптера, которым желаете управлять

С помощью чуть расширенной строки, приведенной выше, можно легко определить требующийся ID
wmic path win32_networkadapter where physicaladapter="true" get netenabled,deviceid,name /value|findstr /i "deviceid netenabled name"

Если же адаптеров больше чем один и каждым требуется управлять отдельно, то можно создать псевдомассив переменных и далее управлять уже через них:
@echo off
setlocal enabledelayedexpansion
set i=0
set n=1
rem Собственно, создаем массив:
for /f "delims=" %%a in ('
wmic path win32_networkadapter where physicaladapter^=true get netenabled^,deviceid^,name /value^|findstr /i "deviceid netenabled name"
') do set /a i+=1&set "var!n!%%a"&if !i! equ 3 (set/a i=0&set/a n+=1)

rem Следующий цикл демонстрирует наличие уникальных переменных, привязанных к ID конкретного адаптера:
for /l %%i in (1,1,20) do if defined var%%iDeviceID set var%%i&echo.====================

pause

Sisin
05-06-2018, 12:54
Включайте фантазию »

Оптимальнее, наверное, так сделать:
@echo off
for /f %%a in (
'wmic path win32_networkadapter where "physicaladapter=true" get netenabled /value^|find /i "netenabled"'
) do set %%a
if "%NetEnabled%"=="TRUE" (wmic path win32_networkadapter where "physicaladapter=true" call disable) else (
wmic path win32_networkadapter where "physicaladapter=true" call enable
)
pause

YuS_2
05-06-2018, 13:14
Оптимальнее »
нет, это точно не оптимизация :)
Во-первых, delims там вообще не нужен, у меня он записан на автомате, по привычке...
Во-вторых, в цикле, переменная %NetEnabled% получит только последнее значение из всего списка адаптеров... т.е. слежение будет только за последним адаптером в списке... а команда на включение будет отправляться для всех физических адаптеров, поэтому о корректности, в этом случае, говорить не приходится

А если есть желание управлять сразу всеми адаптерами, но в зависимости от их текущего состояния, то опять же, вот здесь (http://forum.oszone.net/post-2816946-13.html), я добавил код, создающий массив уникальных переменных, привязанных к конкретному адаптеру. Вот их можно использовать для индивидуального управления адаптерами...

DJ Mogarych
05-06-2018, 13:46
у компьютера не должно быть доступа в интернет, а каким путем наверное все равно. Главное, чтобы скрипт работал на всех компьютерах и разных редакциях Windows 8/8.1 »
Извините, а на шлюзе какие-то правила настроить не вариант?

YuS_2
05-06-2018, 13:56
Извините, а на шлюзе какие-то правила настроить не вариант? »
Бокорезами перекусить провод или оптику :) шутка
Шлюза ведь под рукой может и не быть... всё зависит от конфигурации сети...

Sisin
07-06-2018, 11:53
Блин, а как тогда сделать батник, который бы отключал инет на любом компьютере, запускал приложение и через 10 секунд включал???

PS: ну или не батник.

Iska
07-06-2018, 12:40
Sisin, Вам сие вообще для чего нужно? Какова основная задача?

Sisin
07-06-2018, 12:47
Вам сие вообще для чего нужно? Какова основная задача? »

Запускать Setup.exe, не выключая интернет вручную.




© OSzone.net 2001-2012