Encontrei esta solução aqui .
- Abra o Agendador de tarefas (pesquise Agendador de tarefas)
- Clique em Criar tarefa no painel Ações, à direita
- Guia geral
- Forneça um nome lógico para a tarefa como VPN automática
- Alterne o modo de tarefa em execução para Executar, se o usuário estiver conectado ou não
- Ative a opção Executar com privilégios mais altos
- Altere o menu suspenso "Configurar para:" para Windows 8
- Guia Triggers
- Clique no botão Novo ...
- Alterar Comece a tarefa: para Na inicialização
- (Opcional) Ative a tarefa de atraso por e defina para 5 minutos. Isso dá à máquina lenta a chance de ficar inativa antes de iniciar a VPN.
- Guia Ações
- Clique no botão Novo ...
- Digite
c:\windows\system32\rasdial.exe
no Programa / script: campo. Você também pode procurar se não quiser digitá-lo ou se o diretório de instalação padrão do Windows for diferente.
- Digite o nome da conexão no campo Adicionar argumentos . O
rasdial.exe
requer que você coloque o nome da conexão entre aspas, se houver espaços. Você também pode precisar para anexar da conexão de nome de usuário e senha , bem como domínio, se forem necessários, como este : "VPN Connection Name" username password /domain:domainname
.
- Guia Condições
- Desmarque todas as opções na guia condições.
- Guia Configurações
- (Opcional) ative "Se a tarefa falhar, reinicie todos:" e defina com um valor apropriado. Defino o meu para 1 hora, caso haja um problema no final do servidor VPN.
- (Opcional) defina o valor "Tentativa de reiniciar até:" para um número aceitável. Meu padrão é 72 vezes em um intervalo de 1 hora. Isso cobre o fim de semana prolongado.
- Salve a nova tarefa
Mikael Dúi Bolinder
fonte
A resposta aceita por Mikael é ótima, exceto pela senha de texto sem formatação na versão 5.3, que me deixa desconfortável. Como minha conexão VPN (via IKEv2) funciona, o rasdial não precisa de nome de usuário e senha como parâmetros.
Mas se sua situação for diferente, existem maneiras de evitar a senha de texto sem formatação no script:
Este artigo explica como criptografar e salvar texto usando o Powershell: https://www.pdq.com/blog/secure-password-with-powershell-encrypting-credentials-part-1/
Para resumir: usando a função ConvertTo-SecureString, você pode criptografar o texto de forma que somente (processos em execução) o mesmo usuário, na mesma máquina, possa descriptografá-lo. O que não é perfeitamente seguro, mas é melhor que o texto simples. O comando powershell para criptografar e salvar "MyP @ ssword1" em um arquivo seria:
"MyP@ssword1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\path to\your\Password.txt"
E aqui você encontrará como ler e descriptografar a senha novamente: /programming//a/19950628/4602253
fonte
Basta criar o arquivo .bat
e crie um atalho do arquivo criado na pasta WINDOWS_KEY + R: shell: startup
fonte