Cliente VPN conectar / desconectar via linha de comando no XP

22

Em uma estação de trabalho XP Pro, existe uma maneira de iniciar o cliente VPN nativo do Windows e abrir / fechar uma conexão na linha de comando para que ele possa ser script em um arquivo em lotes?

nedm
fonte

Respostas:

31

Sim, se a conexão VPN for chamada "Minha VPN", então:

rasdial "My VPN"

irá discar a conexão. Ajudamente, ele define o nível de erro como o código de erro do RAS, caso não consiga se conectar, para que seu script possa detectar uma falha na conexão. Se você precisar fornecer um nome de usuário e senha em vez de usar as credenciais salvas, use:

rasdial "My VPN" username password

Para desconectar uma conexão, use:

rasdial "My VPN" /disconnect

JR

John Rennie
fonte
2
+1. É exatamente isso que estou procurando nos meus scripts de automação de construção. Muito mais fácil do que eu previa.
9789 Joseph Ferris
FWIW, também funciona no Vista (como esperado)
Scott Isaacs
1
Veja a resposta da EM se você estiver no Windows 7 . Você pode precisar usar rasphonese rasdialnão funcionar para você.
ADTC
5

Uma alternativa que funciona no Windows 7 (não tenho certeza sobre o XP) é:

rasphone -d "My VPN"

Isso abre a caixa de diálogo "discagem", como se você clique duas vezes na conexão. Se você tiver o nome de usuário e a senha salvos, ele discará automaticamente.

rasdial não funcionou para mim (no 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 você adicionar cadeias de caracteres vazias no Windows 7, ele funcionará com credenciais em cache: rasdial "Minha VPN" "" "" (esses são dois pares de aspas duplas sem nada no meio)

EM0
fonte
Não consegui que o rasdial funcionasse no Windows 8.1, mas isso funcionou perfeitamente. 1
Smalltown2k
Eu tive que fornecer credenciais explícitas para fazê-lo funcionar no Windows 8.1.
Jake Edwards
Eu recebo o mesmo erro usando rasdialcom ou sem as strings vazias. rasphone -dtrabalho. Uma coisa a observar é que, se você executá-lo manualmente a partir de uma linha de comando, ele retorna à linha de comando imediatamente após a execução (a conexão é conectada em paralelo). Mas se você colocar o comando em um .batarquivo de script em lote ( ) e executar o .batarquivo, ele funcionará em série - ou seja, não retornará o controle ao lote até que a conexão seja concluída. A diferença pode ser confusa para um novo usuário testando o comando.
ADTC
Ao usar o rasphone, uma caixa de diálogo é exibida toda vez que eu conecto. Existe alguma maneira de torná-lo automático e evitar que a caixa de diálogo seja exibida? Eu vejo neste tópico ( superuser.com/questions/106506/… ) e as pessoas disseram que podemos entrar na guia de opções das propriedades da conexão VPN e desmarque "Solicitar nome e senha, certificado etc.". No entanto, estou usando o Windows 10 e não consigo encontrar essa opção.
Kit Ng
3

Execute a linha de comando: Control ncpa.cpl

insira a descrição da imagem aqui

Controle de conexões de rede

Controle de conexões de rede

Na primeira execução, edite Minhas configurações de VPN

insira a descrição da imagem aqui

Após a instalação, edite Minhas configurações de VPN

insira a descrição da imagem aqui

Salvar credenciais

insira a descrição da imagem aqui

Configurações de host da VPN de destino

insira a descrição da imagem aqui

Configurações de VPN silenciosas

insira a descrição da imagem aqui

Rede VPN

insira a descrição da imagem aqui

VPN TCP avançado

insira a descrição da imagem aqui

Gateway VPN

insira a descrição da imagem aqui

Conexão de rede avançada

insira a descrição da imagem aqui

Definir interface prioritária

insira a descrição da imagem aqui

Aplicar interface prioritária

insira a descrição da imagem aqui

Definir provedor de rede prioritário

insira a descrição da imagem aqui

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

Use PowerShell ou WSH.

STTR
fonte
0

Ainda não vi um esquema de linha de comando para o cliente. Mas isso não significa que não possa ser automatizado em scripts. Aqui está uma abordagem em duas etapas,

  • Crie o link de atalho para a VPN, como é feito normalmente para seus usuários da VPN
    • Mantenha-o configurado com nome de usuário e senha
  • Use o AutoIt apenas para script,
    • iniciando o atalho e
    • pressionando ENTER na janela de login da VPN (que é o que um usuário faz quando tudo está configurado)

Se eu me lembro corretamente, o código para pressionar enter em uma janela é simplesmente,

Send ("{ENTER}")

Veja o comando Enviar .

Você pode configurar o AutoIt em uma de suas máquinas de administração, colocar o script em funcionamento, criar e executá-lo e entregá-lo aos usuários. Em seguida, ele pode ser iniciado a partir da linha de comando como um executável.

nik
fonte