Conecte-se automaticamente à VPN ao iniciar a conexão RDP Remote Desktop e, em seguida, desconecte a VPN quando terminar

5

Sei que posso criar um arquivo de lote para iniciar uma conexão VPN seguida por uma sessão RDP, mas quero saber se é possível (no Windows 7 e idealmente no Windows XP também) ter a conexão VPN vinculada ao RDP status da sessão.

Cenário: o usuário precisa primeiro da VPN para poder fazer o RDP. Idealmente, o usuário clicaria em um ícone (arquivo em lotes?) Para iniciar a conexão VPN e carregar a sessão RDP. Quando eles fecham a sessão RDP, eu quero que a VPN seja desconectada automaticamente para que eles não direcionem acidentalmente a sua navegação subseqüente não-RDP + a atividade da Internet através da VPN.

    
por Josh Newman 27.03.2012 / 17:24

3 respostas

5

Eu percebo que esta pergunta é muito antiga, mas pensei em adicionar um método para qualquer pessoa que a encontrar.

@echo off

:: Connecting to VPN...
rasdial "VPN Name" user pass

echo Running RDP...
"Connect to Server.rdp"

echo Finished - disconnecting from VPN...
rasdial "VPN Name" /disconnect

O Rasdial é incorporado ao Windows e é usado para conectar e desconectar. Substitua "Nome VPN" com o que você chamou de conexão VPN quando configurá-lo. Substitua 'user' e 'pass' na primeira linha pelo nome de usuário e senha atuais para se conectar à VPN (mesmo que você tenha as credenciais salvas quando criou a VPN, o Rasdial exige que você as insira).

Como os scripts em lote são executados de forma síncrona, a rasdial concluirá a conexão com a VPN antes de abrir o arquivo RDP e, enquanto a sessão do RDP estiver aberta, o script em lote estará aguardando. Assim que a sessão RDP for fechada, o comando final será executado para desconectar a VPN. Simples!

Eu costumo colocar um atalho para o script em lote na área de trabalho e alterar seu ícone para o RDP normal (de C: \ Windows \ System32 \ mstsc.exe). Você pode optar por iniciar o script minimizado se não quiser que o usuário veja a janela cmd, mas eu gostaria de deixá-lo visível para que eles possam ver se há algum erro ao se conectar à VPN.

    
por 07.06.2017 / 22:58
1

Se você tiver um programa de cliente VPN independente (por exemplo, Cisco AnyConnect), use o Google para encontrar opções de linha de comando para esse produto, para ver se você pode se conectar com um único comando. Por exemplo: AnyConnect , o cliente Cisco genérico e o cliente VPN do Windows todos suportam isso . Isso pode exigir que você armazene sua senha em texto sem formatação em um arquivo em lotes ou script, no entanto.

Depois de ter essa informação, escreva um arquivo em lote que invoca a VPN cliente, provavelmente dorme alguns segundos para garantir que o link da VPN seja bom e, em seguida, chama o cliente da área de trabalho remota a partir da linha de comandos .

Se você quisesse ser realmente chique, em vez de dormir para verificar a conectividade, você poderia ter um ping para algum recurso que só é acessível pela VPN, e fazer com que o script retorne um erro se o ping não der certo. / p>

Pegue seu arquivo de lote, coloque-o (ou um atalho) na sua área de trabalho ou em qualquer outro lugar e, em seguida, clique em "conectar-se à VPN e abrir o aplicativo Área de Trabalho Remota".

Se, por outro lado, se o seu cliente VPN é tal que você não pode se conectar através da linha de comando, eu olharia para AutoIT ou outras linguagens de script de macro do mouse / teclado para ver se você pode automatizar a conexão VPN.

    
por 27.03.2012 / 18:56
0

Consegui usar a resposta do @Gechurch no Windows 10 alterando rasdial para rasphone da seguinte forma:

@echo off

:: Connecting to VPN...
rasphone.exe -d "My VPN"

echo Running RDP...
"Remote Server.rdp"

echo Finished - disconnecting from VPN...
rasphone.exe -h "My VPN"
    
por 28.07.2018 / 22:08