Как программно создать VPN-соединение Windows?


У меня есть среда поддержки, в которой мы подключаемся ко многим системам наших клиентов с помощью VPN и удаленного рабочего стола. Прямо сейчас обслуживающий персонал должен вручную настроить VPN-соединение на своей рабочей станции. Есть ли способ программно создать VPN-соединение?

7 15

7 ответов:

Проверьте проект DotRas на CodePlex, компонент RasPhoneBook имеет полную поддержку по управлению телефонными книгами, используемыми Windows.

Http://www.codeplex.com/DotRas

Это будет намного проще, чем работать с API напрямую, это я могу гарантировать. :)

Посмотрите RAS API (Remote Access Service), это win32 dll, но вы можете вызвать его из C#. Вот некоторые ссылки, которые могут помочь вам начать работу:

В Windows RAS телефонная книга хранится в простом файле ini, который можно найти по адресу

C:\Documents и настройки\все пользователи\данные приложения\Майкрософт\Сетевые подключения\\ПБК\телефонной книге rasphone.pbk

Вы можете подготовить такой файл на своем компьютере, а затем развернуть этот файл для клиентов, просто скопировав его по указанному пути (или добавив его содержимое к существующему). Чтобы отобразить новое подключение на панели Сетевые подключения, просто обновите представление проводника (через клавиша F5 ), перезапуск проводника даже не требуется.

Я знаю, что вопрос очень старый, но у меня была такая же проблема, и я решил ее с помощью этого кода C#. Может быть, это кому-то поможет.

Сначала создайте vpn-соединение на своем персональном компьютере. Это будет хранилище в %userprofile%\AppData\Roaming\Microsoft\Network\Connections\PBK

Затем откройте рашфон.pbk-файл с текстовым редактором (напр. Notepad++) и скопируйте информацию о подключении. Но не забывай. Перед этим шагом необходимо выполнить настройку подключения. И затем скопируйте информацию о подключении из rasphone.pbk файл и вставить в скрипт (в строку rasphone). Совет: в телефонной книге rasphone.файл pbk содержит только настройки. Никаких логинов и паролей...

В моем коде я создаю соединение с этими настройками;
Имя соединения: RAS - > в первой строке [RAS]
Ip соединения : ras.ugurturhal.com
Тип VPN: PPTP, поддерживаемые протоколы CHAP и MS-CHAP v2

Этот код проверяет ваши VPN-соединения. Если у вас есть связь, имя которой RAS или IP адрес есть ras.ugurturhal.com, код ничего не меняет и предупреждает вас. Если у вас много VPN-соединений, и ни одно из них не имеет одинаковых настроек (см. выше), он также "добавит" этот VPN. И последнее, если у вас нет VPN-соединения, это будет создать новое.

Примечание: Вы не можете видеть VPN-соединение, созданное C# в ваших сетях. Но это будет работа. А после перезагрузки компьютера, увидите его в ваших сетях:)

Я надеюсь, что это поможет кто-то..

И вы можете скачать мой файл проекта с моего веб-узла ..

С уважением.

PS: Я пытался добавить все мои коды сюда, но очень новый в stackoverflow. Пожалуйста, прости меня. Вы можете скачать образец ;)

PS2: или вы можете проверить это из GitHub. Спасибо @axrwkr

Я знаю, что это не "одобренный" метод. но я делаю это уже много лет без проблем.

Установите vpn на вашем собственном компьютере, убедитесь, что там есть только эта настройка VPN, или вы развернете их все для вашего персонала. Найти в телефонной книге rasphone.файл pbk на вашем ПК, переименуйте его в myVPN.pbk(или что вы хотите) и использовать Altiris или что угодно, чтобы развернуть его на рабочем столе каждого.

Когда они нажимают на него, он открывается и работает нормально. В качестве дополнительной выгоды выложите его в сеть и расскажите ваши сотрудники, чтобы щелкнуть правой кнопкой мыши на ссылке и сохранить его на своем рабочем столе и dbl нажмите на него. наш университет делает это таким образом с тех пор, как я впервые обнаружил, что это работает почти 10 лет назад.

Вам нужен пакетный скрипт для подключения к VPN, настроенному на базовой машине. У меня была похожая проблема некоторое время назад, и я нашел Эту и Эту ссылку, чтобы быть полезным. Я использовал это решение (первая ссылка) в прошлом, поэтому оно работает, но у меня больше нет пакетного сценария.

1.) Включают в телефонной книге rasphone.pbk в вашем скрипте (под C:\Documents и Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\ in XP. под C:\Users\USERNAME\AppData\Roaming\Microsoft\Network\Connections\Pbk в Vista)

2.) Задайте для рабочего каталога имя переменной, чтобы вы могли вернуться к нему

3.) Перейти в каталог, где хранится телефонная книга, используя имена переменных, основанные на профиле пользователя

4.) Проверьте, что телефонная книга есть, если она есть, переименуйте ее в rasphone.ПБК.bk, затем xcopy из расположения скрипта (как сохранено в переменной) новая телефонная книга в новое место.

5.) Связываться.

6.) Когда вы будете готовы, отключите и перепишите телефонную книгу с вашими настройками в исходном файле, если он есть, в противном случае просто удалите телефонную книгу.

My be the CMAK поможет (CONNECTION MANAGER ADMINISTRATOR KIT)