Error 703 con el archivo rasdial pbk

Error 703 con el archivo rasdial pbk

Necesito establecer una conexión VPN usando un archivo pbk y un inicio de sesión/contraseña de forma silenciosa y sin ningún cuadro de diálogo. Al igual que ejecutar un script, conectado. Además, el usuario no debe crear una conexión manualmente, todo debe hacerse mediante programación.

Primero creé una conexión manualmente para comprobar que funciona, ejecuté el archivo pbk, ingresé el nombre de usuario y la contraseña en el cuadro de diálogo de nueva conexión y hice clic en el botón de conexión. La conexión se creó correctamente y la VPN funcionó.

Luego cerré la conexión y ejecuté el siguiente comando en el cmd:

rasdial "MyVPNName" "login" "password" /phonebook:"path\to\file.pbk"

y conectado exitosamente a VPN. Estaba feliz, todo funciona como esperaba. Pero cuando ejecuto el mismo comando en otra PC, aparece el error 703:

The connection needs information from you, but the application does not allow user interaction.

Creo que requiere inicio de sesión y contraseña. Noté que ignora el inicio de sesión y la contraseña en la línea de comando y funciona con credenciales incorrectas o incluso sin ellas. Intenté crear una conexión con rasphone.exe, pero aparece el cuadro de diálogo para crear conexión. Cuando creé una conexión con ese cuadro de diálogo, el comando rasdial funciona incluso sin nombre de usuario y contraseña en la línea de comando. Parece que el sistema almacena una conexión y utiliza credenciales guardadas para conectarse.

Pero no es lo que necesito. Necesito establecer una conexión VPN con un solo clic en mi aplicación. En esa aplicación, planeo ejecutar rasdial.exe u otra utilidad integrada y el usuario no debería ver ningún otro cuadro de diálogo excepto mi aplicación o escribir el nombre de usuario/contraseña manualmente.

TengoVista previaConfiguración de usuario = 0en el archivo pbk como se menciona aquíUn solo clic para conectarse a VPN en Windows 10pero no ayuda, el diálogo aparece de todos modos.

¿O tal vez podría configurar el nombre de usuario y la contraseña en el archivo pbk? ¿Es posible?

Respuesta1

  1. rasdial vpnnamefuncionó bien para mí en MS Windows 10, 19XX, 20H1, 20H2, pero cuando actualicé a 21H1 dejó de funcionar con configuraciones de VPN que usaban autenticación basada en certificado o que usaban credenciales guardadas.

El error generado fue:

Error de acceso remoto 703: la conexión necesita información suya, pero la aplicación no permite la interacción del usuario.

rasdialparece haber comenzado a requerir 2 argumentos adicionales después de especificar una configuración para usar: "nombre de usuario" y "contraseña"

Puede sustituir " * " por contraseña y luego se le solicitará la contraseña. Puede sustituir " * * " por el nombre de usuario y la contraseña para que se le soliciten ambos.

Sin embargo, si ha guardado credenciales en su configuración o utiliza autenticación basada en certificados, estas no son realmente necesarias.

En su lugar, puede pasar los argumentos " '' '' " (sin comillas dobles, solo dos comillas simples, consecutivas '' para el nombre de usuario y luego un espacio en blanco seguido de dos comillas simples más, consecutivas '' para contraseña:

rasdial vpnname '' ''

Considere intentar pasar '' '' como nombre de usuario y contraseña y vea si eso evita el problema que ha encontrado.

2) Si utiliza strongswan como su servicio de túnel IPSec al que se conecta desde Windows, hay un "error" que impide que funcione "guardar nombre de usuario y contraseña" de MS Windows. Se proporcionó una solución alternativa para este problema de Windows/strongswan mediante cambios en la configuración de strongswan que funciona: https://serverfault.com/questions/908098/strongswan-clients-access-rights/9081

3) Suponiendo que el túnel IPSec... Descubrí que usar PowerShell para crear una "Conexión" VPN parece admitir todo lo necesario para guardar la credencial, de modo que se pueda programar "rasdial" para verificar si la VPN nombrada se está ejecutando y, si no, iniciarla. sin pedirlo. Ese proceso escrito funcionó antes de Windows 10 21H1, pero requirió un cambio en rasdial descrito anteriormente.

¿La única advertencia? La primera vez que un usuario se conecta, debe especificar sus credenciales, pero si lo logra, ya no se le solicitarán. ¿Después? Se puede utilizar un script para llamar a rasdial para iniciar la VPN.

Para la creación de PowerShell de una "conexión" VPN, no es necesario especificar un /phonebook:\path\to\pbk

Ejemplo con powershell para crear una "conexión" vpn disponible para rasdial, suponiendo IKEv2 y más suposiciones, cambie según sea necesario: (ejemplo de PowerShell) Add-VpnConnection -Name "your-vpn-connection-name" -ServerAddress "fqdn.example.com" -TunnelType "IKEv2" -RememberCredential -AuthenticationMethod Eap -EncryptionLevel "Maximum";

Entonces tal vez agregue más funciones: Set-VpnConnection -Name "your-vpn-connection-name" -ServerAddress "fqdn.example.com" -SplitTunneling $False -RememberCredential $True -TunnelType "IKEv2" -AuthenticationMethod Eap -UseWinlogonCredential $False -EncryptionLevel "Maximum";

Luego puede usar PowerShell "Set-VpnConnectionIPsecConfiguration" para configurar cosas como: cifrados para usar, hashes para usar y funciones más avanzadas.

4) Una vez que tenga una "conexión" VPN con nombre, debería poder:

(Con rasdial anterior que no requería argumentos de nombre de usuario/contraseña :)

rasdial your-vpn-connection-name

(Rasdial más nuevo que requiere nombre de usuario y contraseña, que usted guardó o intentó guardar en el sistema :)

rasdial your-vpn-connection-name '' ''

Espero que esto ayude. ¡Buena suerte!

información relacionada