Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Создание VPN подключения с помощью Autoit, не прописывает имя сервера.

Ответить
Настройки темы
[решено] Создание VPN подключения с помощью Autoit, не прописывает имя сервера.

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо, посмотрю

Отправлено: 10:36, 10-04-2009 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для o_romka

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Заменил для себя в вашем скрипте данные. Все работает, СПАСИБО!!!

Хотел бы просить у Вас помощи, как сделать чтобы создаваемый ярлык автоматом попадал на стол. (Нужно установить галочку в конце - Создать Ярлык и копировать на рабочий стол).
И как в созданном ярлыке вернее в его свойствах в закладке Безопасность убрать галочку Требуется шифрование данных (Иначе отключается))

Заранее спасибо.

Отправлено: 18:33, 26-01-2010 | #12


Аватара для o_romka

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


С созданием ярлыка на рабочий стол разобрался.


Помогите мне плиззз убрать галочку _ Требуется шифрование данных в созданном ярлыке в его свойствах.

Отправлено: 11:55, 27-01-2010 | #13


Аватара для o_romka

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


эх... неужели это не возможно сделать????

Отправлено: 17:02, 18-02-2010 | #14


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата o_romka:
Заменил для себя в вашем скрипте данные. Все работает, СПАСИБО!!!
Хотел бы просить у Вас помощи, как сделать чтобы создаваемый ярлык автоматом попадал на стол. (Нужно установить галочку в конце - Создать Ярлык и копировать на рабочий стол).
И как в созданном ярлыке вернее в его свойствах в закладке Безопасность убрать галочку Требуется шифрование данных (Иначе отключается))
Заранее спасибо. »
Можете рассказать как сделали, чтобы ярлык создавался на раб. столе?

Отправлено: 16:17, 11-03-2010 | #15


Аватара для o_romka

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Сайт | Отправить 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


Аватара для o_romka

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Сайт | Отправить 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
ТЕПЕРЬ ВОПРОС КАК ТО ЖЕ САМОЕ СДЕЛАТЬ ПОД WINDOWS 7

Отправлено: 17:22, 28-10-2010 | #17


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Интересно, а в данной теме обсуждается только создание VPN с помощью Autoit?
Есть же более простые варианты, например все это дело реализовать с помощью Delphi, что я и сделал.
Много времени потратил на форумах, и наконец, пришел к тому, что пришлось создать проект самому, которым сейчас успешно пользуются многие.
Если хотите, то можете посмотреть на сайте http://tigrenokmosya.narod.ru

Отправлено: 01:35, 13-03-2011 | #18


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


tigrenokmosya, вместо рекламы своей страницы лучше бы опубликовал свою программу на soft.oszone.net. Так её увидят гораздо больше людей.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 14:19, 13-03-2011 | #19


Аватара для o_romka

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Его программа работает и на его сайте есть всё что нужно в том числе и исходники с описанием. Так что это даже не реклама, а помощь.

Отправлено: 08:00, 14-03-2011 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Создание VPN подключения с помощью Autoit, не прописывает имя сервера.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Автоматическое создание 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




 
Переход