Come posso creare a livello di programmazione una connessione VPN di Windows?

StackOverflow https://stackoverflow.com/questions/318233

  •  11-07-2019
  •  | 
  •  

Domanda

Ho un ambiente di supporto in cui ci colleghiamo a molti dei sistemi dei nostri clienti usando VPN e Desktop remoto. In questo momento, il personale di supporto deve impostare manualmente la connessione VPN sulla propria workstation. C'è un modo per creare programmaticamente la connessione VPN?

È stato utile?

Soluzione

Scopri il progetto DotRas su CodePlex, il componente RasPhoneBook ha il pieno supporto sulla gestione delle rubriche utilizzate da Windows.

http://www.codeplex.com/DotRas

Sarà molto più semplice che lavorare direttamente con le API, ciò che posso garantire. :)

Altri suggerimenti

So che la domanda è molto vecchia ma ho avuto lo stesso problema e risolverlo con questo codice C #. Forse aiuta qualcuno.

Innanzitutto, crea una connessione vpn sul tuo personal computer. Sarà archiviato in %userprofile%\AppData\Roaming\Microsoft\Network\Connections\PBK

quindi apri il file rasphone.pbk con un editor di testo (ad esempio Notepad ++) e copia le tue informazioni di connessione. Ma non dimenticare. Prima di questo passaggio, è necessario completare le impostazioni di connessione. Quindi, copia le informazioni di connessione dal file rasphone.pbk e incollale nello script (nella stringa rasphone). Suggerimento: il file rasphone.pbk contiene solo le impostazioni. Nessun nome utente e password ...

Nel mio codice, creo una connessione con queste impostazioni;
Nome connessione: RAS - > Alla prima riga [RAS]
Connessione Ip: ras.ugurturhal.com
Tipo VPN: PPTP, protocolli CHAP e MS-CHAP v2 supportati

Il codice è controllare le connessioni VPN. Se si dispone di una connessione il cui nome è RAS o l'indirizzo IP è ras.ugurturhal.com, il codice non cambia nulla e avvisa l'utente. Se disponi di molte connessioni VPN e nessuna di esse ha le stesse impostazioni (sopra), anche "AGGIUNGI" questa VPN. E l'ultima cosa, se non si dispone di una connessione VPN, ne verrà creata una nuova.

Nota: non puoi vedere la connessione VPN che hai creato da C # sulle tue reti. Ma sarà lavoro. E dopo il riavvio sul computer, lo vedrai sulle tue reti :)

Spero che possa aiutare qualcuno ..

E puoi scaricare il mio file di progetto dal mio Web Host ..

Saluti.

PS: ho provato ad aggiungere tutti i miei codici qui, ma molto nuovi in ??StackOverflow. Ti prego, perdonami. Puoi scaricare l'esempio;)

PS2: oppure puoi controllarlo da GitHub . Grazie @axrwkr

Cerca l'API RAS (Remote Access Service), è una dll win32, ma puoi chiamarla da C #. Ecco alcuni link che potrebbero aiutarti a iniziare:

Su Windows la rubrica ras è memorizzata in un semplice file ini che si trova in

C: \ Documents and Settings \ All Users \ Dati applicazioni \ Microsoft \ Network \ Connections \ Pbk \ rasphone.pbk

Puoi preparare un file del genere sul tuo computer e quindi distribuire questo file ai clienti semplicemente copiandolo nel percorso specificato (o accodandone il contenuto a quello esistente). Per visualizzare una nuova connessione nel pannello Connessioni di rete, basta aggiornare la vista di Explorer (tramite la chiave F5 ), non è nemmeno necessario il riavvio di Explorer.

So che non è il " approvato " metodo. ma lo faccio da anni senza problemi.

installa la VPN sul tuo computer, assicurati che ci sia solo questa configurazione VPN o le distribuirai al tuo staff. Trova il file rasphone.pbk sul tuo PC, rinominalo in myVPN.pbk (o qualunque cosa tu voglia) e usa Altiris o qualunque cosa per distribuirlo sul desktop di tutti.

Quando fanno clic su di esso, si apre e funziona bene. Come ulteriore vantaggio mettilo online e dì al tuo personale di fare clic con il tasto destro del mouse sul collegamento e salvarlo sul desktop e fare doppio clic su di esso. la nostra uni lo fa da quando ho scoperto che funzionava quasi 10 anni fa.

È necessario uno script batch per connettersi a una VPN impostata sul computer di base. Ho avuto un problema simile da affrontare qualche tempo fa e ho trovato questo e questo link sono utili. Ho usato questa soluzione (primo collegamento) in passato, quindi funziona ma non ho più lo script batch.

1.) Includi rasphone.pbk nel tuo script (sotto C: \ Documents and Settings \ All Users \ Dati applicazioni \ Microsoft \ Network \ Connections \ Pbk \ in XP. sotto C: \ Users \ USERNAME \ AppData \ Roaming \ Microsoft \ Network \ Connections \ Pbk in Vista)

2.) Imposta la directory di lavoro su un nome variabile in modo da poter tornare ad essa

3.) Passa alla directory in cui è memorizzata la rubrica utilizzando i nomi delle variabili in base al profilo utente

4.) Verifica che la rubrica sia presente, se presente, rinominala in rasphone.pbk.bk, quindi copia dalla posizione dello script (salvata in una variabile) la nuova rubrica nella nuova posizione.

5.) Connetti.

6.) Quando sei pronto, disconnetti e sovrascrivi la rubrica con le tue impostazioni con il file originale se è lì, altrimenti semplicemente cancella la rubrica.

My be the CMAK aiuterà (KIT DI AMMINISTRATORE DI CONNECTION MANAGER)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top