Você pode usar o powershell para criar conexões VPN e executá-las usando um arquivo em lotes.
Veja como criar o lote a partir de um ótimo post em Stackoverflow
O cmdlet do Windows PowerShell para criar uma conexão VPN no sistema do cliente é Add-VpnConnection.
Sintaxe
Add-VpnConnection [-Name] [-ServerAddress] [-TunnelType {Pptp | L2tp | Sstp | Ikev2 | Automatic}] [-EncryptionLevel {NoEncryption | Optional | Required | Maximum}] [-AuthenticationMethod {Pap | Chap | MSChapv2 | Eap}] [-SplitTunneling] [-AllUserConnection] [-L2tpPsk ] [-RememberCredential] [-UseWinlogonCredential] [-EapConfigXmlStream ] [-Force] [-PassThru] [-WhatIf] [-Confirm]
Propriedades
Name is the connection name, which is a mandatory parameter, and it cannot be changed.
ServerAddress é o endereço IP (FQDN ou URL) do servidor remoto para o qual a conexão deve ser estabelecida. Este é um parâmetro obrigatório.
O restante das propriedades é opcional. Seus nomes e conjuntos de valores indicam seu propósito. Por exemplo, TunnelType especifica a seleção de túnel VPN (como PPTP ou L2TP) e AuthenticationMethod especifica a seleção do protocolo de autenticação VPN. Parâmetros de comutador (SplitTunneling, AllUserConnection, RememberCredentials, UseWinlogonCredentials), quando especificados, ativam a propriedade.