Автоконфигуратор PPPoE соединения


Не уверен на 100%, что дал правильное название, но думаю по другому его не назвать. И так обратился ко мне мой друг, с просьбой помочь сделать авто конфигуратор PPPoE-соединения. Работает он админом активного сетевого оборудования у городского интернет провайдера. Рекламировать компанию не буду, так что назовем его просто как «Интернет-провайдер».  Ему дали техническое задание, сделать программу которая бы автоматически создавала на ПК клиента PPPoE соединение, добавляла в закладки «Избранное» интернет браузера,  ссылки на сетевые ресурсы компании, а так же не большой driverpack для сетевого адаптера. От меня потребовалось лишь создать авто конфигуратор PPPoE-соединения, ну и добавить ссылки в браузер. Получив задание, начал поиски в интернете. Нашел интересную программу CMAK (Connection Manager Administration Kit), которую без проблем можно установить через  "Пуск - Панель управления – Программы и компоненты - Включение или отключение компонентов Windows - Пакет администрирования диспетчера подключений RAS"
Программа очень полезна, если Вам требуется создать профиль подключения со стандартными настройками, а также возможностью использования своего логотипа и фона для созданного профиля. Но к сожалению СМАК, не может создать профиль подключения для PPPoE. Хотел узнать, с чем этим связано, и написал по этому поводу на сайте social.technet.microsoft.com, но ответа так не получил. Решил поискать исходники кодов на С++ или Delphi для создания авто конфигуратора  PPPoE. Не имея опыта в написании кода, нашел кое какие исходники в интернете, начал пробовать  компилировать найденный код, но к сожалению без успешно, постоянно выходили ошибки, исправляя одну ошибку в строке кода, за ней следовали еще ошибки.  Понял что, программированием поставленную передо мной задачу не решу.  Продолжил поиски в интернете, нашел пару статей про написание скрипта в Autoit, но к сожалению результатов это не дало.  Но пока изучал все эти коды и скрипты, понял что можно пойти более простым путем. Про него и пойдет речь.
В ОС Windows при создании vpn-подключения, настройки подключения хранятся в файлe rasphone.pbk, который можно без проблем конфигурировать в блокноте.
Храниться данный файл по в следующих папках:
Windows 7
%USERPROFILE%\AppData\Roaming\Microsoft\Network\Connections\Pbk
Windows Xp
%USERPROFILE%\Application Data\Microsoft\Network\Connections\Pbk.
Если скопировать сконфигурированный файл rasphone.pbk по выше указанным путям. В сетевых подключениях, появится наше подключение, которое без проблем работает.  Оставалось только решить, как этот файл туда cкопировать. Еще требовалось, что бы авто конфигуратор создавал ярлык на рабочем столе (желательно с иконкой компании) и запускался после установки.  Решил все это дело реализовать с помощью простого SFX архива (самораскпаковывающийся архив) созданного в WinRar (или в 7ZIP).

После не долгих раздумий, было сделано следующее:

  • Создал подключение с необходимыми настройками (Windows 7, Windows XP)
  • Создал ярлык на рабочем столе для созданного подключения, на ярлыке заменил иконку, а файл иконки разместил в папке где находиться rasphone.pbk)
  • Т.к. требовалось еще добавить ссылки на ресурсы провайдера, создал папку с названием компании, а в ней разместил необходимые ссылки. И данную папку необходимо скопировать в папку Избранное: 

%userprofile%\Favorites (Избранное)

которая отображается в Internet Explorer.

        В итоге  мы имеем 5 элементов которые надо поместить в архив:

  • rasphone.pbk (с нашими настройками для PPPoE-соединения);
  • ярлык подключения на рабочем столе (файл с раширением *.lnk);
  • значок (иконка) для ярлыка на рабочем столе (размер 16X16 в формате *.ico);
  • папку с ссылками на ресурсы провайдера 
  • bat-скрипт ( (описание ниже);


Если все это скопировать куда надо: в сетевых подключения появиться наше подключение с необходимыми настройками, на рабочем столе появиться ярлык для подключения с иконкой, в браузере Internet Explorer (по тех. заданию требовался только данный браузер) появятся ссылки.
Начинаем создавать SFX-архив, думаю порядок создания многие знают, перейду лишь к настройкам, а именно SFX-параметры:

1)   Путь для распаковки файлов: 
Windows 7:
%USERPROFILE%\AppData\Roaming\Microsoft\Network\Connections\Pbk
Windows Xp:
%USERPROFILE%\Application Data\Microsoft\Network\Connections\Pbk 

2)  Программа установки (что выполнить до распаковки и после распаковки) т.е. сюда можно добавить какой скрипт.  Я решил создать скрипт отдельно, а в этом параметре, лишь дать команду для его запуска.
Windows XP
%USERPROFILE%\Application Data\Microsoft\Network\Connections\Pbk\start.bat
Windows 7
%USERPROFILE%\AppData\Roaming\Microsoft\Network\Connections\Pbk\start.bat
                 
И собственно сам скрипт start.bat:
Windows XP:
@echo off
# Копируем папку с ссылками на локальные ресурсы
xcopy "%userprofile%\Application Data\Microsoft\Network\Connections\Pbk\
Ресурсы_Провайдера\*.*" "%userprofile%\Избранное\Ресурсы_Провайдера\*.*" /I
# Запуск VPN-подключения
rasphone -d Имя_Подключения
# Старт IE
start iexplore Сайт_Провайдера

Windows 7:
@echo off
xcopy "%userprofile%\AppData\Roaming\Microsoft\Network\Connections\Pbk\ Ресурсы_Провайдера\*.*" "%userprofile%\Favorites\ Ресурсы_Провайдера \*.*" /I 
rasphone -d Имя_Подключения 
start iexplore Сайт_Провайдера

3)   Далее во кладке Дополнительно, параметр 
Ярлыки - Добавить ярлык -  Место создания ярлыка - На рабочем столе - Имя файла, 
для которого будет создан ярлык, пишем имя ярлыка подключения (который мы скопировали с рабочего стола), нажимаем ОК, ниже появиться надпись  
D, Ярлык.lnk, , , ,. 
Т.е. параметры для создаваемого ярлыка заданы
4)   Вкладка Текст и Графика, здесь все просто, можно добавить заголовок для SFX архива, текст в окне SFX архива, а также логотип и фон для SFX архива
5)   Вкладка Обновление, параметр Режим перезаписи, поставил – Перезаписывать все файлы без запроса, что б автоматизировать подключение, и не требовало дополнительных телодвижений от пользователя.

Ну вот и все, архив готов, после его созданя можно еще раз открыть его в WinRar, нажать Комментарий – Параметры, и поставить галочку на Запретить изменения архива. В общем все очень просто.
Протестировал на виртуальных машинах, на работе. Все отлично работает.
В общем получилось 2 архива, один для Windows XP, второй для Windows 7. Но думаю можно сделать один инсталлятор, написав скрипт для проверки версии Windows. Но друг сказал, что пока это не требуется.




Комментарии

Популярные сообщения