Официальный сайт студ.городка НГТУ
Software » Можно ли программно откл./вкл. сетевые подключения в Win? 

#1  21.01.08 15:43

Можно ли программно откл./вкл. сетевые подключения в Win?

допустим написать какой нить батник или типа того?

Offline

#2  21.01.08 16:05

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

по идее можно, только зачем, когда просто нажать правой кнопкой мыши по сетевому подключению и отключить, также включить.

Offline

#3  21.01.08 16:53

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

malina, мне кроме этого надо и другие вещи делать, поэтому щелчок правой кнопкой мыши в совокупности со всем занимает много времени ;)

Вопрос остаётся открытым

Исправлено jeka_ (21.01.08 16:54)

Offline

#4  21.01.08 19:11

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

jeka_, так ты бы описал, что конкретнее... может альтернативные варианты бы нашлись

Offline

#5  21.01.08 20:57

Maq
Профиль

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

ну например можно так через WHS (можно и лучше решения найти)

strNetConn = "Сетевые подключения" ' Network Connections для англ. версии ОС
strConn = "Подключение по локальной сети" ' имя или часть имени подключения
strEnable = "&Включить" ' En&able для англ. версии ОС
strDisable = "&Отключить" ' Disa&ble для англ. версии ОС

Set objShell = CreateObject("Shell.Application")
Set objCP = objShell.Namespace(3) ' Панель управления
For Each elem in objCP.Items
    If elem.Name = strNetConn Then
        ' получение папки "Сетевые подключения"
        Set colNetwork = elem.GetFolder
        Exit For
    End If
Next

Set Conn = Nothing
For Each clsConn in colNetwork.Items
    If Instr(LCase(clsConn.name), LCase(strConn)) Then
        ' получение указанного подключения
        Set Conn = clsConn
        Exit For
    End If
Next
If Conn Is Nothing Then
    WScript.Echo "Network Connection not found"
    WScript.Quit
End If

bEnabled = True
Set objEnable = Nothing
Set objDisable = Nothing
For Each clsVerb in Conn.verbs
    ' если доступен глагол "Enable", подключение отключено
    If clsVerb.Name = strEnable Then
        Set objEnable = clsVerb
        bEnabled = False
    End If
    ' если доступен глагол "Disable", подключение подключено
    If clsVerb.name = strDisable Then
        Set objDisable = clsVerb
    End If
Next

If bEnabled Then
    objDisable.DoIt
    strStatus = "disabled."
Else
    objEnable.DoIt
    strStatus = "enabled."
End If
WScript.Sleep 1000

WScript.Echo Conn.Name & " " & strStatus

Offline

#6  22.01.08 07:20

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

Maq, шо такое WHS?

Offline

#7  22.01.08 08:35

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

jeka_ написал(а):

Maq, шо такое WHS?

Язык скриптов для виндоуз

Offline

#8  22.01.08 13:17

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

тебе надо батником менять настройки сетевого подключения?

Offline

#9  22.01.08 14:17

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

Flanger, вроде того.

Как выполнить whs скрипт, что для этого нужно?

Offline

#10  22.01.08 14:30

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

находил как то в инете по подобной проблеме BAT'ник с таким текстом

title Выбор сетевого профиля
@ECHO OFF

:_menu
CLS
ECHO.
ECHO  ******************
ECHO.
ECHO    1. DHCP
ECHO    2. 1 Компьютер
ECHO    3. 2 Компьютер
ECHO    4. Показать текущую сетевую настройку
ECHO    5. Exit
ECHO.
ECHO  ******************
ECHO.
ECHO Выберите щифру [1,2,3,4,5] и нажмите Enter:
SET /P reply=

IF /I "%reply%"=="1" GOTO :_first
IF /I "%reply%"=="2" GOTO :_second
IF /I "%reply%"=="3" GOTO :_third
IF /I "%reply%"=="4" GOTO :_fourth
IF /I "%reply%"=="5" GOTO :_end
GOTO :_error

:_first
CLS
ECHO You select "dhcp"
PAUSE
netsh interface ip set address name="localinet" source=dhcp
netsh interface ip set dns name="localinet" source=dhcp
GOTO :_menu

:_second
CLS
ECHO Вы выбрали "1 Компьютер"
PAUSE
netsh interface ip set address name="localinet" gateway=192.168.0.1 gwmetric=1
netsh interface ip set address name="localinet" static 192.168.0.1 255.255.255.0
GOTO :_menu

:_third
CLS
ECHO  Вы выбрали "2 Компьютер"
PAUSE
netsh interface ip set address name="localinet" gateway=192.168.0.1 gwmetric=1
netsh interface ip set address name="localinet" static 192.168.0.2 255.255.255.0
GOTO :_menu

:_fourth
CLS
ECHO    Вы выбрали "Показать сетевые настройки"
PAUSE
ipconfig
PAUSE
GOTO :_menu

:_end
CLS
ECHO  Вы выбрали "Exit"
PAUSE
GOTO :eof

:_error
CLS
ECHO Wrong! Press 1,2,3 or 4, please
PAUSE
GOTO :_menu

:eof

"localinet" - это имя сетевого соединения,над которым издеваешься
сообразишь думаю

Исправлено Flanger (22.01.08 14:30)

Offline

#11  22.01.08 14:31

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

Flanger, и? просто меняются настройки

еще проще:
netsh interface set interface eth0 disabled
и, соответственно (с) ДНЛ,
netsh interface set interface eth0 enabled

eth0 - это у меня так иф называется

Исправлено Leon (22.01.08 14:35)

Offline

#12  22.01.08 15:03

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

netsh interface set interface setka disabled - "интефейс c таким именем не зарегистрирован на маршрутизаторе" выдает. Мне нужно просто отключить сетевое подклчение на машине или включить потом

Offline

#13  22.01.08 17:41

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

Maq, wsh то что нужно, спасибо, помогло)

Offline

#14  23.01.08 13:20

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

jeka_ написал(а):

netsh interface set interface setka disabled - "интефейс c таким именем не зарегистрирован на маршрутизаторе" выдает. Мне нужно просто отключить сетевое подклчение на машине или включить потом

dev/hands надо нормальные иметь.
вообще у тебя интерфейс называется setka?
если помог скрипт, который написал Maq (без изменения), то ессно, нет.
он на несуществующий интерфейс так и ругается. и иногда на ифы openvpn

Исправлено Leon (23.01.08 13:21)

Offline

#15  23.01.08 13:47

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

Leon, да, интерфейс называется setka, у тебя у самого получается отключать подключение по этой команде?

Исправлено jeka_ (23.01.08 13:49)

Offline

#16  23.01.08 13:53

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

у меня лично нет.. странно.. он грит синтаксис не верный

Offline

#17  23.01.08 17:50

Re: Можно ли программно откл./вкл. сетевые подключения в Win?

jeka_ написал(а):

Leon, да, интерфейс называется setka, у тебя у самого получается отключать подключение по этой команде?

кнечно.
и для dun устройств тоже.
и на 2003 и на XP

added:
Так. Наблюдается жесть: o_O
в 2003 ent - все работает
в xp sp2 eng с накатанным mui - работает
а в xp sp2 rus - нет

Тем не менее, devcon'ом сетевки отключаются везде.
Будем копать дальше.

added:
Действительно, логика странная:
1. Все они тупо отключают девайс
2. netsh из 2003 r2 eng записанный вместо родного из XP тоже без вопросов выключает.
Бред собачий...
Кстати, на течнете тоже это обсуждали, но ни к каким выводам не пришли.

Исправлено Leon (23.01.08 18:25)

Offline

Software » Можно ли программно откл./вкл. сетевые подключения в Win? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.031 сек.
Выполнено 11 запросов.