Как программно создать соединение Windows VPN? - PullRequest
15 голосов
/ 25 ноября 2008

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

Ответы [ 7 ]

14 голосов
/ 08 мая 2009

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

http://www.codeplex.com/DotRas

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

5 голосов
/ 18 сентября 2013

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

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

, затем откройте файл rasphone.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

4 голосов
/ 25 ноября 2008

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

C: \ Documents and Settings \ Все пользователи \ Данные приложения \ Microsoft \ Network \ Connections \ Pbk \ rasphone.pbk

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

4 голосов
/ 25 ноября 2008

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

2 голосов
/ 26 мая 2015

Я знаю, что это не «одобренный» метод. но я делал это годами без проблем.

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

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

0 голосов
/ 06 июля 2012

Может быть CMAK поможет (КОМПЛЕКТ АДМИНИСТРАТОРА ПОДКЛЮЧЕНИЯ)

0 голосов
/ 26 ноября 2008

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

1.) Включите rasphone.pbk в свой скрипт (в C: \ Documents and Settings \ Все пользователи \ Данные приложения \ Microsoft \ Network \ Connections \ Pbk \ в XP. В C: \ Users \ USERNAME \ AppData \ Roaming \ Microsoft \ Network \ Connections \ Pbk в Vista)

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

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

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

5.) Подключиться.

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

...