Connessione / disconnessione client VPN tramite riga di comando in XP


22

In una workstation XP Pro, c'è un modo per avviare il client VPN Windows nativo e aprire / chiudere una connessione dalla riga di comando in modo che possa essere copiato in un file batch?

Risposte:


31

Sì, se la connessione VPN si chiama "My VPN", allora:

rasdial "My VPN"

comporrà la connessione. Utilmente imposta il livello di errore sul codice di errore RAS se non riesce a connettersi, quindi lo script può rilevare un errore di connessione. Se è necessario fornire un nome utente e una password invece di utilizzare le credenziali salvate, utilizzare:

rasdial "My VPN" username password

Per disconnettere una connessione usare:

rasdial "My VPN" /disconnect

JR


2
+1. Questo è esattamente quello che sto cercando nei miei script di automazione della build. Molto più facile di quanto mi aspettassi.
Joseph Ferris,

FWIW, funziona anche in Vista (come previsto)
Scott Isaacs,

1
Vedi la risposta di EM se sei su Windows 7 . Potrebbe essere necessario utilizzare rasphonese rasdialnon funziona per te.
ADTC

5

Un'alternativa che funziona con Windows 7 (non sono sicuro di XP) è:

rasphone -d "My VPN"

Ciò fa apparire la finestra di dialogo "composizione", come se si fa doppio clic sulla connessione. Se il nome utente e la password sono stati salvati, compone automaticamente.

rasdial non ha funzionato per me (su Windows 7):

Verifying username and password...

Remote Access error 691 - The remote connection was denied because the user name
 and password combination you provided is not recognized, or the selected authen
tication protocol is not permitted on the remote access server.

Se aggiungi stringhe vuote in Windows 7, funziona con le credenziali memorizzate nella cache: rasdial "La mia VPN" "" "" (sono due coppie di virgolette doppie senza nulla in mezzo)


Non sono riuscito a far funzionare rasdial su Windows 8.1 ma questo ha funzionato perfettamente. +1
Smalltown2k,

Ho dovuto fornire credenziali esplicite per farlo funzionare su Windows 8.1.
Jake Edwards,

Ottengo lo stesso errore usando rasdialcon o senza le stringhe vuote. rasphone -dlavori. Una cosa da notare è che se lo esegui da una riga di comando manualmente, ritorna alla riga di comando immediatamente dopo l'esecuzione (la connessione si connette in parallelo). Ma se si inserisce il comando in un .batfile di script batch ( ) ed si esegue il .batfile, funziona in serie, ovvero non restituisce il controllo al batch fino al completamento della connessione. La differenza potrebbe essere fonte di confusione per un nuovo utente che sta testando il comando.
ADTC

Usando rasphone, una finestra di dialogo si apriva ogni volta che mi collego. Esiste un modo per renderlo automatico ed evitare che si apra la finestra di dialogo? Vedo in questo thread ( superuser.com/questions/106506/… ) e le persone hanno detto che possiamo andare nella scheda delle opzioni delle proprietà per la connessione VPN e deseleziona "Richiedi nome e password, certificato, ecc.". Tuttavia, sto usando Windows 10 e non riesco a trovare tale opzione.
Kit Ng

3

Esegui riga di comando: Control ncpa.cpl

inserisci qui la descrizione dell'immagine

Controllo delle connessioni di rete

Controllo delle connessioni di rete

Al primo avvio, modifica le mie impostazioni VPN

inserisci qui la descrizione dell'immagine

Dopo l'installazione, modifica le mie impostazioni VPN

inserisci qui la descrizione dell'immagine

Salva credenziali

inserisci qui la descrizione dell'immagine

Impostazioni host VPN di destinazione

inserisci qui la descrizione dell'immagine

Impostazioni VPN silenziose

inserisci qui la descrizione dell'immagine

Rete VPN

inserisci qui la descrizione dell'immagine

VPN TCP avanzato

inserisci qui la descrizione dell'immagine

Gateway VPN

inserisci qui la descrizione dell'immagine

Connessione di rete avanzata

inserisci qui la descrizione dell'immagine

Imposta l'interfaccia prioritaria

inserisci qui la descrizione dell'immagine

Imposta interfaccia prioritaria

inserisci qui la descrizione dell'immagine

Imposta il provider di rete prioritario

inserisci qui la descrizione dell'immagine

Script Silent-dial.cmd:

:: - comment in cmd) - REM alternative
:: disabled command output

@echo off

:: Silent dial "My VPN"
@rasphone -d "My VPN"

:: wait 10 sec W2K3 server test
::@SET waitsec=10
::@choice /T %waitsec% /N /D y /M "wait %waitsec% sec"

:: wait 10 sec - alternative - XP .. 7
@ping 127.0.0.1 -n 10 > NUL 

:: ********************************************
:: get path
:: set route table
:: run application 
:: ********************************************

@ping 127.0.0.1 -n 10 > NUL 

:: silent close "My VPN" connection
@rasphone -h "My VPN"

:: END Silent-dial.cmd

Usa PowerShell o WSH.


0

Non ho ancora visto uno schema da riga di comando per il client. Ma ciò non significa che non possa essere automatizzato negli script. Ecco un approccio in due fasi,

  • Crea il collegamento di collegamento per la VPN come viene fatto normalmente per i tuoi utenti VPN
    • Mantienilo configurato con nome utente e password
  • Usa AutoIt solo per lo script,
    • lanciando il collegamento e
    • premendo INVIO sulla finestra di accesso VPN (che è ciò che un utente fa quando tutto è configurato)

Se ricordo correttamente, il codice per premere invio su una finestra è semplicemente,

Send ("{ENTER}")

Guarda Invia comando .

Puoi configurare AutoIt su una delle tue macchine di amministrazione, far funzionare lo script, crearlo ed eseguirlo e consegnarlo agli utenti. Può quindi essere avviato dalla riga di comando come eseguibile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.