Что нового

Как зайти в только что созданное vpn подключение?

depodimon

Новичок
Сообщения
26
Репутация
0
Сначала скриптом создаю VPN подключение с именем: Интернет VPN , далее вбивается скриптом имя сервера ставится галочка создать ярлык и жмётся enter!
Нужно в свойствах этого VPN - соединения установить тип шифрования необязательный:
Путь такой:

Сетевые подключения -> Интернет VPN -> Свойства -> Безопасность -> Пункт Дополнительные выборочные параметры -> кнопка параметры -> в выпадающем списке выбрать Необязательное подключиться даже без шифрования ->Enter

Либо на рабочем столе создаётся ярлык Интернет VPN, может как то можно открыть его с рабочего стола и зайти в свойства и поменять?

Либо может можно как-то по другому попасть, подскажите пожалуйста!
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
depodimon [url_ex=javascript:qq.OpenLink('[url=http://autoit-script.ru/index.php?topic=1170.msg8409#msg8409%27]Как зайти в только что созданное vpn подключение?)][?][/url_ex]
Либо может можно как-то по другому попасть, подскажите пожалуйста!
Код:
ShellExecute("rasphone.exe","",@SystemDir)

можно так. :smile:


Добавлено:
Сообщение автоматически объединено:


у меня так работает если по умолчанию выбрано:
Код:
$sNameConnect = "Интернет VPN"
$speed = 300
ShellExecute("rasphone.exe", "", @SystemDir)
WinWaitActive("Сетевые подключения")
ControlClick("Сетевые подключения", "", "[CLASS:Button; INSTANCE:4]")
WinWaitActive($sNameConnect & " Свойства")
Sleep($speed)
Send("^{TAB}")
Sleep($speed)
Send("^{TAB}")
Sleep($speed)
ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:3]")
Sleep($speed)
ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:6]")
WinWaitActive("Дополнительные")
Send("{UP 4}{DOWN}")
ControlClick("Дополнительные", "", "[CLASS:Button; INSTANCE:12]")
WinWaitActive("")
If WinWaitActive("Сетевые подключения") Then
   ControlClick("Сетевые подключения", "", "[CLASS:Button; INSTANCE:1]")
   WinWaitActive($sNameConnect & " Свойства")
   ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:29]")
Else
   ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:29]")
EndIf
WinWaitActive("Сетевые подключения")
ControlClick("Сетевые подключения", "", "[CLASS:Button; INSTANCE:2]")
 
Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
Спасибо! Всё работает!

Ещё вопросик есть как сделать чтобы на время выполнения блокировалась клавиатура и мышка!
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
depodimon [?]
блокировалась клавиатура и мышка!
Код:
BlockInput (1) ; Отключить мышь и клавиатуру
; выполняем код
BlockInput (0) ; Включить мышь и клавиатуру

p.s.
не блокируется системные Ctrl+Alt+Del
 
Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
Вообще класс! :ok:
Ну и последний вопросик, как можно сделать проверку перед началом выполнения скрипта, о том что такое подключение с таким именем(Интернет VPN) уже есть вывести алерт о том что оно уже есть и дальше не чего не выполнять?
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
ну добавь проверку на запуск соединения:
Код:
$sNameConnect = "Интернет VPN"
$speed = 300
ShellExecute(@SystemDir&"\rasphone.exe"," -d "&$sNameConnect)
WinWaitActive("")
Sleep($speed)
If WinActive("Командная строка") or WinActive("Сетевые подключения") Then
  Send("{ENTER}")
  Sleep($speed)
	;
    ; выполняем настройки
    ;
 MsgBox(0,"", "Настроили")
Else
	MsgBox(0,"", "Уже есть такое соединение")
	Exit
EndIf
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
depodimon
А так попробуйте, если у Вас Windows XP:
Код:
#include <Array.au3>

$avArray = IniReadSectionNames(@AppDataCommonDir & "\Microsoft\Network\Connections\Pbk\rasphone.pbk")
$vpn = _ArraySearch($avArray,"Интернет VPN")
If $vpn = 1 Then
	MsgBox(0, "", "Такое подключение уже существует.")
	Exit
EndIf
MsgBox(0, "", "Нет такого подключения.")
 
Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
Пишет Нет такого подключения хотя оно есть. VPN pptp
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
depodimon
Вы ищите Интернет VPN или VPN pptp?
 
Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
Название: Интернет VPN
А тип подключения wan Miniport но это в принципе не на что не влияет)
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
depodimon [url_ex=javascript:qq.OpenLink('[url=http://autoit-script.ru/index.php?topic=1170.msg8728#msg8728%27]Re: Как зайти в только что созданное vpn подключение?)][?][/url_ex]
уже все написали, код в студию, посмотрим что в нем не так :smile:


Добавлено:
Сообщение автоматически объединено:


Вот объединил тебе твоих два кода :
Код:
$sNameConnect = "Интернет VPN"
$speed = 300
BlockInput(1) ; блокируем клав+мышь
ShellExecute(@SystemDir&" asphone.exe"," -d "&$sNameConnect)
WinWaitActive("")
Sleep($speed)
If WinActive("Командная строка") or WinActive("Сетевые подключения") Then
  Send("{ENTER}")
  Sleep($speed)
   ;
   ;
   Run ( @ComSpec & " /c rundll32.exe netshell.dll,StartNCW" )
;1
    If WinWaitActive ( 'Мастер новых подключений','','10' ) == 0 Then
   Exit
EndIf
Send ( '{ENTER}' )
;2
WinWaitActive ( 'Мастер новых подключений','П&одключить к сети на рабочем месте','5' )
Send ( '{DOWN}{ENTER}')
;3
WinWaitActive ( 'Мастер новых подключений','&Подключение к виртуальной частной сети','5' )
Send ( '{DOWN}{ENTER}')
;4
WinWaitActive ( 'Мастер новых подключений','Введите в следующем поле имя для этого подключения.','5' )
$pptpname = $sNameConnect ; ОБЯЗАТЕЛЬНОЕ УСЛОВИЕ для поиска есть или нет СОЕДИНЕНИЯ!!!
Send ( $pptpname & '{ENTER}')
;5
; ТУТ НЕ БУДЕТ ВЫХОДИТЬ АВТОМАТОМ или как соединять потому что ты уже проверил что его НЕТ!
;6
WinWaitActive ( 'Мастер новых подключений','Введите имя узла или','5' )
$pptphost = 'vpn.тратата.com'
Send ( $pptphost & '{ENTER}')
;7
WinWaitActive ( 'Мастер новых подключений','Успешно завершено создание следующего подключения:','5' )
Send ( '{SPACE}{ENTER}' ) 

Sleep ( 3000 ) ; дадим 1 - 3 секунды на то что бы закрылось окно 

; Запускаем делаем настроки:

ShellExecute("rasphone.exe","",@SystemDir)
WinWaitActive("Сетевые подключения")
ControlClick("Сетевые подключения", "", "[CLASS:Button; INSTANCE:4]")
WinWaitActive($sNameConnect & " Свойства")
Sleep($speed)
Send("^{TAB}")
Sleep($speed)
Send("^{TAB}")
Sleep($speed)
ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:3]")
Sleep($speed)
ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:6]")
WinWaitActive("Дополнительные")
Send("{UP 4}{DOWN}")
ControlClick("Дополнительные", "", "[CLASS:Button; INSTANCE:12]")
WinWaitActive("")
If WinWaitActive("Сетевые подключения") Then
   ControlClick("Сетевые подключения", "", "[CLASS:Button; INSTANCE:1]")
   WinWaitActive($sNameConnect & " Свойства")
   ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:29]")
Else
   ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:29]")
EndIf
WinWaitActive("Сетевые подключения")
ControlClick("Сетевые подключения", "", "[CLASS:Button; INSTANCE:2]")
   ;
    ; выполняем настройки
    ;
BlockInput(0) ; Включаем клав+мышь
 MsgBox(0,"", "Настроили")
Else
   MsgBox(0,"", "Уже есть такое соединение")
   Exit
EndIf



Добавлено:
Сообщение автоматически объединено:


depodimon [url_ex=javascript:qq.OpenLink('[url=http://autoit-script.ru/index.php?topic=1170.msg8429#msg8429%27]Re: Как зайти в только что созданное vpn подключение?)][?][/url_ex]
Ещё вопросик есть как сделать чтобы на время выполнения блокировалась клавиатура и мышка!
добавил в код
 

Artem

Новичок
Сообщения
2
Репутация
0
Спасибо все участникам данной темы, мне данный материал помог в моих начинаниях программирования Autoit.
Объеденив все ваши коды, у меня получился следующий работоспособный код, может быть он будет полезен кому нибудь :laugh: :
Код:
$master = "Мастер новых подключений"
$speed = 1000

ShellExecute(@SystemDir& "\rasphone.exe"," -d "&"Delta_VPN")
WinWaitActive("")
Sleep(500)
If WinActive("Командная строка") or WinActive("Сетевые подключения") Then
  Send("{ENTER}")
  Sleep(500)

Run ("rundll32.exe netshell.dll, StartNCW", @SystemDir)
WinWaitActive($master, "")
Sleep($speed)
ControlClick($master, "", 12324)
WinWaitActive($master , "")
Sleep($speed)
ControlClick($master , "", 22126)
Sleep(1000)
ControlClick($master , "", 12324)
Sleep(1000)
WinWaitActive($master , "")
Sleep($speed)
ControlClick($master , "", 22119)
Sleep(1000)
ControlClick($master , "", 12324)
Sleep(1000)
Send ("Delta_VPN")
Sleep(1000)
ControlClick($master , "", 12324)
Sleep(1000)
WinWaitActive($master , "")

if WinActivate ("" , "Н&абрать номер для") Then ; - условие проверки "набрать номер для" 
	  Sleep(1000)
  ControlClick($master , "", 1509)
  Sleep(1000)
	 ControlClick($master , "", 12324)
	   Sleep(1000)
	     WinWaitActive($master , "")
		     Send ("192.168.10.10")
	  ControlClick($master , "", 12324)
	Sleep($speed)
 WinWaitActive($master , "")  ; -  Конец рбщего для разных мастеров


	if WinActivate ("", "только для мен&я") Then ; - условие проверки "только для меня", для 2-го случая
	    ControlClick($master, "", 12324)
		 Sleep(1000)
		  WinWaitActive($master , "")
	  	    ControlClick($master , "", 21005)
		  Sleep(1000)
		ControlClick($master , "", 12325)
	Sleep(1000)

Exit
    Else                	  ; -     если нет окна с условием выбора "только для меня"
WinWaitActive($master , "")
    ControlClick($master , "", 21005)
	     Sleep(1000)
		 ControlClick($master , "", 12325)
	  Sleep(1000)
	  MsgBox(0,"", "Настроили")
    EndIf
	Exit

Else 							;- если нет условия "Набрать номер для ..."
	WinWaitActive($master , "")
	 Send ($vpn)
	  ControlClick($master , "", 12324)
	  Sleep(1000)

	  if WinActivate ("", "только для мен&я") Then ; - условие проверки "только для меня"
		  WinWaitActive($master , "")
	    ControlClick($master, "", 12324)
		 Sleep(1000)
		  WinWaitActive($master , "")
	  	    ControlClick($master , "", 21005)
		  Sleep(1000)
		ControlClick($master , "", 12325)
	Sleep(1000)
   Else 			;- если нет Этолько для меняЭ и ЭНабрать номер дляЭ ...
	WinWaitActive($master , "")
	ControlClick($master , "", 21005)
	     Sleep(1000)
		 ControlClick($master , "", 12325)
	  Sleep(1000)
EndIf
EndIf

MsgBox(0,"", "Настроили")
Else
    MsgBox(0,"",  "Уже есть такое соединение")
    Exit
EndIf
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Artem
хм... а, вот у автора темы видимо не получилось тема "не решена" :smile:
 
Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
Код:
;
#include <Array.au3>

If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName) 

;BlockInput (1) ; блокируем всё нах)

AutoItSetOption ( "WinTitleMatchMode", 2) 
AutoItSetOption ( "WinDetectHiddenText", 1) 
AutoItSetOption ( "SendAttachMode", 1) 

;Всё свернуть
WinMinimizeAll ( )
Sleep ( '1000' )


;Мастер подключений
Run ( @ComSpec & " /c rundll32.exe netshell.dll,StartNCW" )
;1
If WinWaitActive ( 'Мастер новых подключений','','10' ) == 0 Then
	Exit
EndIf
Send ( '{ENTER}' )
;2
WinWaitActive ( 'Мастер новых подключений','П&одключить к сети на рабочем месте','5' )
Send ( '{DOWN}{ENTER}')
;3
WinWaitActive ( 'Мастер новых подключений','&Подключение к виртуальной частной сети','5' )
Send ( '{DOWN}{ENTER}')
;4
WinWaitActive ( 'Мастер новых подключений','Введите в следующем поле имя для этого подключения.','5' )
$pptpname = 'Интернет Сеть'
Send ( $pptpname & '{ENTER}')
;5

If WinExists('Мастер новых подключений','Выберите, надо ли автоматически подключаться к Интернету или иной общей сети перед установлением виртуального подключения.') Then
    Send ('{UP}{ENTER}')
EndIf

;6
WinWaitActive ( 'Мастер новых подключений','Введите имя узла или','5' )
$pptphost = 'vpn.set.com'
Send ( $pptphost & '{ENTER}')
;7

BlockInput (0) ; Включить мышь и клавиатуру

WinWaitActive ( 'Мастер новых подключений','Успешно завершено создание следующего подключения:','5' )
Send ( '{SPACE}{ENTER}' ) 

$sNameConnect = "Интернет Сеть"
$speed = 300
ShellExecute("rasphone.exe", "", @SystemDir)
WinWaitActive("Сетевые подключения")
ControlClick("Сетевые подключения", "", "[CLASS:Button; INSTANCE:4]")
WinWaitActive($sNameConnect & " Свойства")
Sleep($speed)
Send("^{TAB}")
Sleep($speed)
Send("^{TAB}")
Sleep($speed)
ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:3]")
Sleep($speed)
ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:6]")
WinWaitActive("Дополнительные")
Send("{UP 4}{DOWN}")
ControlClick("Дополнительные", "", "[CLASS:Button; INSTANCE:12]")

WinWaitActive($sNameConnect & " Свойства")
Sleep($speed)
ControlClick($sNameConnect & " Свойства", "", "[CLASS:Button; INSTANCE:8]")
Sleep($speed)
Send ( '{ENTER}' )
WinWaitActive("Сетевые подключения")
ControlClick("Сетевые подключения", "", "[CLASS:Button; INSTANCE:1]")




;Создание ярлыка Сеть - главная страница

$zapros = MsgBox(4, "Создать ярлыки на рабочем столе?","Создать ярлыки на рабочем столе?")
If $zapros == 7 Then ;если нет
	Exit
EndIf
If $zapros == 6 Then ;если да

$f = "http://set.com"     ;Куда ярлык
$l = @DesktopDir & "/Сеть - Главная страница"     ;Куда
$w = "http://set.com"     ;Рабочая директория
$a = ""     ;Additional file arguments. [optional]
$d = "Сеть - Главная страница"     ;Описание
$i = "C:\Program Files\Internet Explorer\IEXPLORE.EXE"     ;Иконка

FileCreateShortcut($f,$l,$w,$a,$d,$i)
Exit
EndIf

Вот мой код. Проблема в том что если есть уже подключения то появляется пункт Надо ли автомат подкл.. и.т.д. Между ;5 и ;6 пунктом но почему-то не рабоатет.

И ещё как сделать проверку, если есть подключение с именем "Интернет Сеть" то выдавать сообщение что уже есть такое и закрывать программу, ну а если нет то дальше..
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
depodimon [url_ex=javascript:qq.OpenLink('[url=http://autoit-script.ru/index.php?topic=1170.msg9070#msg9070%27]Re: Как зайти в только что созданное vpn подключение?)][?][/url_ex]
И ещё как сделать проверку, если есть подключение с именем "Интернет Сеть" то выдавать сообщение что уже есть такое и закрывать программу, ну а если нет то дальше..

Уже же написал код на предыдущей странице нет!?
Код:
$sNameConnect  = "Интернет VPN"
где написано у тебя "Интернет VPN" - то и будет проверять на наличие, если есть то выходить с предупреждением, что уже такое есть если нет то создаст его.







Добавлено:
Сообщение автоматически объединено:

Код:
$sNameConnect  = "Интернет VPN"

замени на
Код:
$sNameConnect  = "Интернет Сеть"


и вообще в данном коде $sNameConnect - это название переменной как назовешь ее то и будет проверять на наличие и ставить.
 
Автор
D

depodimon

Новичок
Сообщения
26
Репутация
0
С этим я разобрался, кстати надо писать две отдельных переменных

$proverka = '"Интернет Сеть"'
$sNameConnect = "Интернет Сеть"
$speed = 300
ShellExecute(@SystemDir&"\rasphone.exe"," -d "&$proverka)

Так как в командной строке глюк с пробелом получается.


Вот а на моменте между ;5 и ;6 всё стопорится если есть соединения он тупо стоит и не чего не выбирает..
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
depodimon [?]
Вот а на моменте между ;5 и ;6 всё стопорится если есть соединения он тупо стоит и не чего не выбирает..
приложи скрин, посмотрим обведи красным маркером что надо выбрать и-или нажать :smile:
 
Верх