¿Cómo conectarse a una VPN al inicio?

17

Necesito que una computadora en una sucursal se conecte automáticamente a la VPN corporativa para simplificar el proceso de inicio de sesión (sin obligar al usuario a presionar el inicio de sesión de red hacia la derecha).

La máquina cliente es una máquina con Windows 8.1 y la VPN es un túnel PPTP estándar.

Mikael Dúi Bolinder
fuente

Respuestas:

33

Encontré esta solución aquí .

  1. Abrir el Programador de tareas (buscar el Programador de tareas)
  2. Haga clic en Crear tarea en el panel Acciones a la derecha
  3. Pestaña General
    1. Proporcione un nombre lógico para la tarea como Auto VPN
    2. Cambie el modo de tarea en ejecución a Ejecutar si el usuario inició sesión o no
    3. Habilite la opción Ejecutar con los privilegios más altos.
    4. Cambie el menú desplegable "Configurar para:" a Windows 8
  4. Pestaña de activadores
    1. Haga clic en el botón Nuevo ...
    2. Cambiar Comience la tarea: a Al inicio
    3. (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.
  5. Pestaña Acciones
    1. Haga clic en el botón Nuevo ...
    2. Ingrese c:\windows\system32\rasdial.exeen el programa / script: campo. También puede buscarlo si no desea escribirlo o si su directorio de instalación predeterminado de Windows es diferente.
    3. Escriba el nombre de la conexión en el campo Agregar argumentos . El rasdial.exerequiere 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.
  6. Pestaña de condiciones
    1. Desmarca todas las opciones en la pestaña de condiciones.
  7. Pestaña de configuración
    1. (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.
    2. (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.
  8. Guarda la nueva tarea
Mikael Dúi Bolinder
fuente
Esta es una respuesta increíble, salvo por una cosa 5.3 que podría hacer para mostrar el formato de ese paso.
Martin Barker
1
@ MartinBarker Lo sé, he estado pensando en eso cada vez que veo la respuesta.
Mikael Dúi Bolinder
Debería haber una opción para marcar / destacar una respuesta en lugar de la pregunta en sí. Gracias por esto.
Francisco Zarabozo el
2

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

Niki Herl
fuente
ahora es una wiki comunitaria, siéntase libre de agregar su sugerencia allí.
Mikael Dúi Bolinder
0

Simplemente cree el archivo .bat

c:\windows\system32\rasdial.exe "VPN Connection Name" [username] [password] [/domain:domainname]

y cree un acceso directo del archivo creado en WINDOWS_KEY + R: shell: carpeta de inicio

sergioneli
fuente
3
Los comandos en la carpeta de inicio de un usuario se ejecutan después de que el usuario entre.   La pregunta está pidiendo a la forma de ejecutar un comando antes de que un usuario inicie sesión.
de Scott