Connexion / déconnexion du client VPN via la ligne de commande sous XP

22

Dans un poste de travail XP Pro, existe-t-il un moyen de démarrer le client VPN Windows natif et d'ouvrir / fermer une connexion à partir de la ligne de commande afin qu'il puisse être scripté dans un fichier de commandes?

nedm
la source

Réponses:

31

Oui, si la connexion VPN est appelée "Mon VPN", alors:

rasdial "My VPN"

va composer la connexion. Utilement, il définit errorlevel sur le code d'erreur RAS s'il ne parvient pas à se connecter, afin que votre script puisse détecter un échec de connexion. Si vous devez fournir un nom d'utilisateur et un mot de passe au lieu d'utiliser les informations d'identification enregistrées, utilisez:

rasdial "My VPN" username password

Pour déconnecter une connexion, utilisez:

rasdial "My VPN" /disconnect

JR

John Rennie
la source
2
+1. C'est exactement ce que je recherche dans mes scripts d'automatisation de build. Beaucoup plus facile que prévu.
Joseph Ferris
FWIW, travaille également à Vista (comme prévu)
Scott Isaacs
1
Voir la réponse de EM si vous utilisez Windows 7 . Vous devrez peut-être utiliser rasphonesi rasdialcela ne fonctionne pas pour vous.
ADTC
5

Une alternative qui fonctionne sous Windows 7 (pas sûr de XP) est:

rasphone -d "My VPN"

Cela fait apparaître la boîte de dialogue "numérotation", comme si vous double-cliquez sur la connexion. Si vous avez enregistré le nom d'utilisateur et le mot de passe, il compose automatiquement le numéro.

rasdial n'a pas fonctionné pour moi (sous 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.

Si vous ajoutez des chaînes vides sous Windows 7, cela fonctionne avec les informations d'identification mises en cache: rasdial "Mon VPN" "" "" (ce sont deux paires de guillemets doubles sans rien entre les deux)

EM0
la source
Je n'ai pas réussi à faire fonctionner rasdial sur Windows 8.1 mais cela a parfaitement fonctionné. +1
Smalltown2k
J'ai dû fournir des informations d'identification explicites pour le faire fonctionner sur Windows 8.1.
Jake Edwards
J'obtiens la même erreur en utilisant rasdialavec ou sans les chaînes vides. rasphone -dtravaux. Une chose à noter est que si vous l'exécutez à partir d'une ligne de commande manuellement, il revient à la ligne de commande immédiatement après l'exécution (la connexion se connecte en parallèle). Mais si vous placez la commande dans un .batfichier script batch ( ) et exécutez le .batfichier, cela fonctionne en série - c'est-à-dire qu'il ne rend pas le contrôle au lot tant que la connexion n'est pas terminée. La différence pourrait être déroutante pour un nouvel utilisateur testant la commande.
ADTC
En utilisant rasphone, une boîte de dialogue apparaît chaque fois que je me connecte. Y a-t-il un moyen de le rendre automatique et d'éviter que la boîte de dialogue n'apparaisse? Je vois dans ce fil ( superuser.com/questions/106506/… ) et les gens ont dit que nous pouvons aller dans l'onglet option des propriétés de la connexion VPN et décochez "Demander le nom et le mot de passe, le certificat, etc.". Cependant, j'utilise Windows 10 et je ne trouve pas une telle option.
Kit Ng
3

Exécutez la ligne de commande: Control ncpa.cpl

entrez la description de l'image ici

Contrôle des connexions réseau

Contrôle des connexions réseau

Lors de la première exécution, modifiez Mes paramètres VPN

entrez la description de l'image ici

Après la configuration, modifiez mes paramètres VPN

entrez la description de l'image ici

Enregistrer les informations d'identification

entrez la description de l'image ici

Paramètres de l'hôte VPN de destination

entrez la description de l'image ici

Paramètres de VPN silencieux

entrez la description de l'image ici

Réseau VPN

entrez la description de l'image ici

VPN TCP avancé

entrez la description de l'image ici

Passerelle VPN

entrez la description de l'image ici

Connexion réseau avancée

entrez la description de l'image ici

Définir l'interface prioritaire

entrez la description de l'image ici

Définir l'interface prioritaire appliquer

entrez la description de l'image ici

Définir le fournisseur de réseau prioritaire

entrez la description de l'image ici

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

Utilisez PowerShell ou WSH.

STTR
la source
0

Je n'ai pas encore vu de schéma de ligne de commande pour le client. Mais cela ne signifie pas qu'il ne peut pas être automatisé dans les scripts. Voici une approche en deux étapes,

  • Créez le lien de raccourci pour le VPN comme cela se fait normalement pour vos utilisateurs VPN
    • Gardez-le configuré avec un nom d'utilisateur et un mot de passe
  • Utilisez AutoIt pour créer un script uniquement,
    • lancer le raccourci, et
    • en appuyant sur ENTRÉE dans la fenêtre de connexion VPN (ce que fait un utilisateur lorsque tout est configuré)

Si je me souviens bien, le code pour appuyer sur Entrée dans une fenêtre est simplement,

Send ("{ENTER}")

Regardez la commande Envoyer .

Vous pouvez configurer AutoIt sur l'une de vos machines d'administration, faire fonctionner le script, le créer et l'exécuter et le donner aux utilisateurs. Il peut ensuite être lancé à partir de la ligne de commande en tant qu'exécutable.

nik
la source