Encontré esta solución aquí .
- Abrir el Programador de tareas (buscar el Programador de tareas)
- Haga clic en Crear tarea en el panel Acciones a la derecha
- Pestaña General
- Proporcione un nombre lógico para la tarea como Auto VPN
- Cambie el modo de tarea en ejecución a Ejecutar si el usuario inició sesión o no
- Habilite la opción Ejecutar con los privilegios más altos.
- Cambie el menú desplegable "Configurar para:" a Windows 8
- Pestaña de activadores
- Haga clic en el botón Nuevo ...
- Cambiar Comience la tarea: a Al inicio
- (Opcional) Habilite la tarea de demora y establezca 5 minutos. Esto le da a la máquina lenta la oportunidad de inactivarse antes de iniciar la VPN.
- Pestaña Acciones
- Haga clic en el botón Nuevo ...
- Ingrese
c:\windows\system32\rasdial.exe
en el programa / script: campo. También puede buscarlo si no desea escribirlo o si su directorio de instalación predeterminado de Windows es diferente.
- Escriba el nombre de la conexión en el campo Agregar argumentos . El
rasdial.exe
requiere que envuelva el nombre de la conexión entre comillas si tiene espacios. También puede ser necesario para anexar la conexión de nombre de usuario y contraseña , así como de dominio, si se requieren, como esto : "VPN Connection Name" username password /domain:domainname
.
- Pestaña de condiciones
- Desmarca todas las opciones en la pestaña de condiciones.
- Pestaña de configuración
- (Opcional) active "Si la tarea falla, reinicie cada:" y establezca un valor apropiado. Configuré el mío en 1 hora en caso de que haya un problema en el extremo del servidor VPN.
- (Opcional) establezca el valor "Intentar reiniciar hasta:" en un número aceptable. Mi valor predeterminado es 72 veces en un intervalo de 1 hora. Esto cubre un largo fin de semana.
- Guarda la nueva tarea
Mikael Dúi Bolinder
fuente
La respuesta aceptada por Mikael es excelente, a excepción de la contraseña de texto sin formato en 5.3, que simplemente me marea. La forma en que funciona mi conexión VPN (a través de IKEv2), rasdial no necesita el nombre de usuario y la contraseña como parámetros.
Pero si su situación es diferente, hay formas de evitar la contraseña de texto sin formato en el script:
Este artículo explica cómo cifrar y guardar texto usando Powershell: https://www.pdq.com/blog/secure-password-with-powershell-encrypting-credentials-part-1/
Para resumir: usando la función ConvertTo-SecureString puede cifrar texto de tal manera que solo (los procesos que se ejecutan bajo) el mismo usuario, en la misma máquina, puedan descifrarlo. Lo cual no es perfectamente seguro, pero es mejor que el texto sin formato. El comando powershell para cifrar y guardar "MyP @ ssword1" en un archivo sería:
"MyP@ssword1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\path to\your\Password.txt"
Y aquí encontrará cómo leer y descifrar la contraseña nuevamente: /programming//a/19950628/4602253
fuente
Simplemente cree el archivo .bat
y cree un acceso directo del archivo creado en WINDOWS_KEY + R: shell: carpeta de inicio
fuente