
대화 상자 없이 자동으로 pbk 파일과 로그인/비밀번호를 사용하여 VPN 연결을 만들어야 합니다. 실행 스크립트와 마찬가지로 - 연결되었습니다. 또한 사용자는 수동으로 연결을 생성해서는 안 되며 모든 작업은 프로그래밍 방식으로 수행되어야 합니다.
먼저 연결이 작동하는지 확인하기 위해 수동으로 연결을 생성하고 pbk 파일을 실행한 다음 새 연결 대화 상자에 로그인과 비밀번호를 입력하고 연결 버튼을 클릭했습니다. 연결이 성공적으로 생성되었으며 VPN이 작동했습니다.
그런 다음 연결을 닫고 cmd에서 다음 명령을 실행합니다.
rasdial "MyVPNName" "login" "password" /phonebook:"path\to\file.pbk"
VPN에 성공적으로 연결되었습니다. 나는 행복했습니다. 모든 것이 예상대로 작동했습니다. 하지만 다른 PC에서 동일한 명령을 실행하면 703 오류가 발생합니다.
The connection needs information from you, but the application does not allow user interaction.
로그인과 비밀번호가 필요한 것 같아요. 나는 명령줄에서 로그인과 비밀번호를 무시하고 잘못된 자격 증명을 사용하거나 심지어 자격 증명 없이도 작동한다는 점에 주목했습니다. rasphone.exe로 연결을 생성하려고 했지만 연결 생성 대화 상자가 나타납니다. 해당 대화 상자로 연결을 만들었을 때 명령줄에 로그인 및 암호가 없어도 rasdial 명령이 작동합니다. 시스템이 연결을 저장하고 저장된 자격 증명을 사용하여 연결하는 것 같습니다.
하지만 그것은 나에게 필요한 것이 아닙니다. 내 애플리케이션에서 한 번의 클릭으로 VPN 연결을 설정해야 합니다. 해당 앱에서 rasdial.exe 또는 다른 내장 유틸리티를 실행할 계획이며 사용자는 내 앱을 제외한 다른 대화 상자를 보거나 로그인/비밀번호를 수동으로 입력해서는 안 됩니다.
나는 가지고있다PreviewUserPw=0여기에 언급된 pbk 파일에서Windows 10에서 한 번의 클릭으로 VPN에 연결하지만 도움이 되지 않습니다. 어쨌든 대화 상자가 나타납니다.
아니면 로그인과 비밀번호를 pbk 파일에 설정할 수 있나요? 가능합니까?
답변1
rasdial vpnname
MS Windows 10, 19XX, 20H1, 20H2에서는 제대로 작동했지만 21H1로 업그레이드하면 인증서 기반 인증을 사용하거나 저장된 자격 증명을 사용하는 VPN 구성에서 작동이 중지되었습니다.
생성된 오류는 다음과 같습니다.
원격 액세스 오류 703 - 연결하려면 사용자의 정보가 필요하지만 응용 프로그램은 사용자 상호 작용을 허용하지 않습니다.
rasdial
사용할 구성을 지정한 후 "username" 및 "password" 2개의 추가 인수가 필요한 것으로 보입니다.
비밀번호를 " * "로 대체하면 비밀번호를 묻는 메시지가 나타날 수 있습니다. 사용자 이름과 비밀번호를 " * * "로 대체하여 둘 다에 대해 메시지를 표시할 수 있습니다.
그러나 구성에 자격 증명을 저장했거나 인증서 기반 인증을 사용하는 경우 실제로는 필요하지 않습니다.
대신 " '' '' " 인수를 전달할 수 있습니다(큰 따옴표 없음, 작은 따옴표 두 개, 사용자 이름에 연속 '', 공백 뒤에 작은 따옴표 두 개가 연속 '' 비밀번호:
rasdial vpnname '' ''
사용자 이름 비밀번호로 '' ''을 전달하는 것을 고려해 보고 발생한 문제가 회피되는지 확인하십시오.
2) Windows에서 연결하는 IPSec Tunnel 서비스로 Strongswan을 사용하는 경우 MS Windows의 "사용자 이름 및 비밀번호 저장"이 작동하지 못하게 하는 "버그"가 있습니다. 이 windows/strongswan 문제에 대한 해결 방법은 작동하는 Strongswan 구성에 대한 변경 사항으로 제공되었습니다. https://serverfault.com/questions/908098/strongswan-clients-access-rights/9081
3) IPSec 터널을 가정하면... PowerShell을 사용하여 VPN을 생성하는 것으로 나타났습니다. "연결"은 자격 증명을 저장하는 데 필요한 모든 것을 지원하는 것으로 보이므로 명명된 VPN이 실행 중인지 확인하고 시작하지 않는지 확인하기 위해 "rasdial"을 스크립팅할 수 있습니다. 묻지도 않고. 해당 스크립트 프로세스는 Windows 10 21H1 이전에도 작동했지만 위에서 설명한 rasdial을 변경해야 했습니다.
한 가지주의 사항? 사용자가 처음 연결할 때 자격 증명을 지정해야 하지만, 성공하면 더 이상 자격 증명을 묻는 메시지가 표시되지 않습니다. 이후? VPN을 시작하기 위해 rasdial을 호출하는 데 스크립트를 사용할 수 있습니다.
VPN "connection"의 Powershell 생성을 위해 /phonebook:\path\to\pbk를 지정할 필요가 없습니다.
IKEv2 및 추가 가정을 가정하고 rasdial에 사용할 수 있는 VPN "연결"을 생성하기 위한 powershell의 예는 필요에 따라 변경됩니다. (PowerShell 예)
Add-VpnConnection -Name "your-vpn-connection-name" -ServerAddress "fqdn.example.com" -TunnelType "IKEv2" -RememberCredential -AuthenticationMethod Eap -EncryptionLevel "Maximum";
그런 다음 더 많은 기능을 추가할 수도 있습니다.
Set-VpnConnection -Name "your-vpn-connection-name" -ServerAddress "fqdn.example.com" -SplitTunneling $False -RememberCredential $True -TunnelType "IKEv2" -AuthenticationMethod Eap -UseWinlogonCredential $False -EncryptionLevel "Maximum";
그런 다음 PowerShell "Set-VpnConnectionIPsecConfiguration"을 사용하여 사용할 암호, 사용할 해시 및 고급 기능 등을 설정할 수 있습니다.
4) VPN "연결"이라는 이름이 지정되면 다음을 수행할 수 있습니다.
(사용자 이름/비밀번호 인수가 필요하지 않은 이전 rasdial의 경우:)
rasdial your-vpn-connection-name
(시스템에 저장했거나 저장하려는 사용자 이름과 비밀번호가 필요한 최신 rasdial:)
rasdial your-vpn-connection-name '' ''
도움이 되었기를 바랍니다. 행운을 빌어요!