|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Создание VPN подключения с помощью Autoit, не прописывает имя сервера. |
|
[решено] Создание VPN подключения с помощью Autoit, не прописывает имя сервера.
|
Новый участник Сообщения: 6 |
Профиль | Отправить PM | Цитировать В архивах форума нашла скрипт от «Котяры» создание диалап подключения, переделала под впн. На моем компьютере скрипт отрабатывает, .exe файл тоже (стоит Win XP SP2 Pro ). На других компьютерах пользователей (таже операционка )установка доходит до введения имени компьютера и останавливается.
Run("rundll32.exe netshell.dll,StartNCW") WinWaitActive ('Мастер новых подключений','Мастер новых подключений') Send('{Enter}') Sleep ('500') WinWaitActive ('Мастер новых подключений','Подключить к рабочей сети (используя удаленный доступ или VPN), чтобы можно было работать из дома, удаленного офиса или другого места.') ControlClick ('Мастер новых подключений','Подключить к рабочей сети (используя удаленный доступ или VPN), чтобы можно было работать из дома, удаленного офиса или другого места.','Button2') Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Создать подключение') ControlClick ('Мастер новых подключений','Создать подключение','Button2') Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Организация') ControlSetText ( 'Мастер новых подключений', '', 'Edit1', 'Name' ) Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Выберите, надо ли автоматически подключаться к Интернету или иной общей сети перед установлением виртуального подключения.') ControlClick ( 'Мастер новых подключений','Выберите, надо ли автоматически подключаться к Интернету или иной общей сети перед установлением виртуального подключения.','Button1') Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Имя компьютера или IP-адрес (например, microsoft.com или 157.54.0.1):') ControlSetText ( 'Мастер новых подключений', '', 'Edit1', 'Host' ) Sleep ('500') Send('{Enter}') ControlCommand ( 'Мастер новых подключений', '', 'Button8', 'Check', '' ) ControlCommand ( 'Мастер новых подключений', '', 'Button1', 'Check', '' ) Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Завершение работы мастера новых подключений') ControlCommand ( 'Мастер новых подключений', '', 'Button10', 'UnCheck', '' ) Send('{Enter}') Exit Брала скрип пример из книги Алексея Барабанова «Автоматизация MS Windows или AutoIt, как мечта эникейщика.» тоже самое :о(, у меня работает, на других компах доходит до прописывания имени компьютера и останавливается, не пойму в чем дело! Помогите плиииз! |
|
Отправлено: 17:14, 08-04-2009 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Спасибо, посмотрю
|
Отправлено: 10:36, 10-04-2009 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать Заменил для себя в вашем скрипте данные. Все работает, СПАСИБО!!!
Хотел бы просить у Вас помощи, как сделать чтобы создаваемый ярлык автоматом попадал на стол. (Нужно установить галочку в конце - Создать Ярлык и копировать на рабочий стол). И как в созданном ярлыке вернее в его свойствах в закладке Безопасность убрать галочку Требуется шифрование данных (Иначе отключается)) Заранее спасибо. |
Отправлено: 18:33, 26-01-2010 | #12 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать С созданием ярлыка на рабочий стол разобрался.
Помогите мне плиззз убрать галочку _ Требуется шифрование данных в созданном ярлыке в его свойствах. |
Отправлено: 11:55, 27-01-2010 | #13 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать эх... неужели это не возможно сделать????
|
Отправлено: 17:02, 18-02-2010 | #14 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Цитата o_romka:
|
|
Отправлено: 16:17, 11-03-2010 | #15 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать #region: - Options Opt('MustDeclareVars', 0) Opt('TrayIconDebug', 0) Opt('TrayIconHide', 0) Opt('WinDetectHiddenText', 0) #endregion HotKeySet('{ESC}', '_Pro_Exit') Local $iPid = Run('rundll32.exe netshell.dll,StartNCW') Local $sRasPhoneFilePath = @AppDataCommonDir & '\Microsoft\Network\Connections\Pbk\rasphone.pbk' Local $sRasPhoneFileText = FileRead($sRasPhoneFilePath) Local $iHwd, $sText Local $sTitle = 'Мастер новых подключений' Local $sConnectName = 'HOME WORLD' Local $sConnectIP = '10.10.10.10' Local $fAddShortcutOnDesktop = 1 While 1 $iHwd = _ProcessGetWindow($iPid) If BitAnd(WinGetState($iHwd), 2) Then ExitLoop WEnd While 1 $sText = WinGetText($iHwd) Select Case StringInStr($sText,'Этот мастер поможет:') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:2]') Case StringInStr($sText,'Подключить к рабочей сети (используя удаленный доступ или VPN), чтобы можно было работать из дома, удаленного офиса или другого места.') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:2]') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:6]') Case StringInStr($sText,'&Подключение к виртуальной частной сети') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:2]') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:8]') Case StringInStr($sText,'Введите в следующем поле имя для этого подключения.') While 1 If StringInStr($sRasPhoneFileText, '[' & _StringToUTF($sConnectName) & ']') OR $sConnectName == '' Then $sConnectName = InputBox('Внимание', 'Подключение с иминем "' & $sConnectName & '" уже существует' & @CRLF & @CRLF & _ 'Введите другое название для подключения:', '', '', 300, 150, -1, -1) Else ExitLoop EndIf WEnd ControlSetText($iHwd, '', '[CLASS:Edit; INSTANCE:1]', $sConnectName) ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:8]') Case StringInStr($sText,'Выберите, надо ли автоматически подключаться к Интернету или иной общей сети перед установлением виртуального подключения.') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:1]') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:10]') Case StringInStr($sText,'Введите имя узла или IP-адрес компьютера, к которому осуществляется подключение.') ControlSetText($iHwd, '', '[CLASS:Edit; INSTANCE:1]', $sConnectIP) ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:10]') Case StringInStr($sText,'Успешно завершено создание следующего подключения:') If $fAddShortcutOnDesktop Then ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:1]') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:21]') ExitLoop EndSelect Sleep('10') WEnd Func _Pro_Exit() Exit EndFunc Func _ProcessGetWindow($iPID, $iRet=1) Local $aWinList = WinList() Local $aRet[2] If IsString($iPID) Then $iPID = ProcessExists($iPID) For $i = 1 To UBound($aWinList)-1 If WinGetProcess($aWinList[$i][1]) = $iPID Then $aRet[0] = $aWinList[$i][0] ;Title $aRet[1] = $aWinList[$i][1] ;WinHandle If $iRet = 0 Then Return $aRet[0] If $iRet = 1 Then Return $aRet[1] Return $aRet EndIf Next Return SetError(1, 0, $aRet) EndFunc Func _StringToUTF($String) Local $sResult = "", $iCode Local $VarUTFArr = StringSplit($String, "") For $i = 1 To $VarUTFArr[0] $iCode = Asc($VarUTFArr[$i]) Select Case $iCode >= 192 And $iCode <= 239 $VarUTFArr[$i] = Chr(208) & Chr($iCode - 48) Case $iCode >= 240 And $iCode <= 255 $VarUTFArr[$i] = Chr(209) & Chr($iCode - 112) Case $iCode = 168 $VarUTFArr[$i] = Chr(208) & Chr(129) Case $iCode = 184 $VarUTFArr[$i] = Chr(209) & Chr(145) Case Else $VarUTFArr[$i] = Chr($iCode) EndSelect $sResult &= $VarUTFArr[$i] Next Return $sResult EndFunc Уменя все получилось именно так, но не как не могу сделать чтобы в свойствах соединения убиралась галочка шифрования!!!! А без нее этот код не сильно выручает!!!! Если кто знает помагите . |
Отправлено: 07:47, 12-03-2010 | #16 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать Вот окончательный Код необходимый мне:
#region: - Options Opt('MustDeclareVars', 0) Opt('TrayIconDebug', 0) Opt('TrayIconHide', 0) Opt('WinDetectHiddenText', 0) #endregion HotKeySet('{ESC}', '_Pro_Exit') Local $iPid = Run('rundll32.exe netshell.dll,StartNCW') Local $sRasPhoneFilePath = @AppDataCommonDir & '\Microsoft\Network\Connections\Pbk\rasphone.pbk' Local $sRasPhoneFileText = FileRead($sRasPhoneFilePath) Local $iHwd, $sText Local $sTitle = 'Мастер новых подключений' Local $sConnectName = 'HOME WORLD' Local $sConnectIP = '10.10.10.10' Local $fAddShortcutOnDesktop = 1 While 1 $iHwd = _ProcessGetWindow($iPid) If BitAnd(WinGetState($iHwd), 2) Then ExitLoop WEnd While 1 $sText = WinGetText($iHwd) Select Case StringInStr($sText,'Этот мастер поможет:') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:2]') Case StringInStr($sText,'Подключить к рабочей сети (используя удаленный доступ или VPN), чтобы можно было работать из дома, удаленного офиса или другого места.') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:2]') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:6]') Case StringInStr($sText,'&Подключение к виртуальной частной сети') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:2]') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:8]') Case StringInStr($sText,'Введите в следующем поле имя для этого подключения.') While 1 If StringInStr($sRasPhoneFileText, '[' & _StringToUTF($sConnectName) & ']') OR $sConnectName == '' Then $sConnectName = InputBox('Внимание', 'Подключение с иминем "' & $sConnectName & '" уже существует' & @CRLF & @CRLF & _ 'Введите другое название для подключения:', '', '', 300, 150, -1, -1) Else ExitLoop EndIf WEnd ControlSetText($iHwd, '', '[CLASS:Edit; INSTANCE:1]', $sConnectName) ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:8]') Case StringInStr($sText,'Выберите, надо ли автоматически подключаться к Интернету или иной общей сети перед установлением виртуального подключения.') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:1]') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:10]') Case StringInStr($sText,'Введите имя узла или IP-адрес компьютера, к которому осуществляется подключение.') ControlSetText($iHwd, '', '[CLASS:Edit; INSTANCE:1]', $sConnectIP) ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:10]') Case StringInStr($sText,'Успешно завершено создание следующего подключения:') If $fAddShortcutOnDesktop Then ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:1]') ControlClick($iHwd, '', '[CLASS:Button; INSTANCE:21]') ExitLoop EndSelect Sleep('10') WEnd Func _Pro_Exit() Exit EndFunc Func _ProcessGetWindow($iPID, $iRet=1) Local $aWinList = WinList() Local $aRet[2] If IsString($iPID) Then $iPID = ProcessExists($iPID) For $i = 1 To UBound($aWinList)-1 If WinGetProcess($aWinList[$i][1]) = $iPID Then $aRet[0] = $aWinList[$i][0] ;Title $aRet[1] = $aWinList[$i][1] ;WinHandle If $iRet = 0 Then Return $aRet[0] If $iRet = 1 Then Return $aRet[1] Return $aRet EndIf Next Return SetError(1, 0, $aRet) EndFunc Func _StringToUTF($String) Local $sResult = "", $iCode Local $VarUTFArr = StringSplit($String, "") For $i = 1 To $VarUTFArr[0] $iCode = Asc($VarUTFArr[$i]) Select Case $iCode >= 192 And $iCode <= 239 $VarUTFArr[$i] = Chr(208) & Chr($iCode - 48) Case $iCode >= 240 And $iCode <= 255 $VarUTFArr[$i] = Chr(209) & Chr($iCode - 112) Case $iCode = 168 $VarUTFArr[$i] = Chr(208) & Chr(129) Case $iCode = 184 $VarUTFArr[$i] = Chr(209) & Chr(145) Case Else $VarUTFArr[$i] = Chr($iCode) EndSelect $sResult &= $VarUTFArr[$i] Next Return $sResult EndFunc $sNameConnect = "HOME WORLD" $speed = 500 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:5]") Sleep($speed) Send("{ENTER}") WinWaitActive("Сетевые подключения") ControlClick("Сетевые подключения", "", "[CLASS:Button; INSTANCE:2]") Exit |
Отправлено: 17:22, 28-10-2010 | #17 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Интересно, а в данной теме обсуждается только создание VPN с помощью Autoit?
Есть же более простые варианты, например все это дело реализовать с помощью Delphi, что я и сделал. Много времени потратил на форумах, и наконец, пришел к тому, что пришлось создать проект самому, которым сейчас успешно пользуются многие. Если хотите, то можете посмотреть на сайте http://tigrenokmosya.narod.ru |
Отправлено: 01:35, 13-03-2011 | #18 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать tigrenokmosya, вместо рекламы своей страницы лучше бы опубликовал свою программу на soft.oszone.net. Так её увидят гораздо больше людей.
|
------- Отправлено: 14:19, 13-03-2011 | #19 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать Его программа работает и на его сайте есть всё что нужно в том числе и исходники с описанием. Так что это даже не реклама, а помощь.
|
Отправлено: 08:00, 14-03-2011 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Автоматическое создание vpn подключения | steepz | Microsoft Windows 2000/XP | 3 | 13-03-2011 01:25 | |
[решено] Как править ресурсы в файлах с помощью AutoIT | CyberStyLe | AutoIt | 3 | 29-09-2009 08:07 | |
[решено] Aвторизация на сайте с помощью AutoIt | Yandex | AutoIt | 6 | 14-04-2009 20:08 | |
создание VPN подключения | garbals | Microsoft Windows NT/2000/2003 | 5 | 15-01-2009 02:23 | |
Автоматическое создание нового подключения к VPN | neWex | Автоматическая установка Windows 2000/XP/2003 | 4 | 23-05-2007 13:52 |
|