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