Добрый вечер!
Есть идея скрипта, который делает следующее:
1) Создает VPN подключение
2) Подключается по VPN
3)Запускает RemoteApp
4)Ждет завершения/закрытия RemoteApp
5)Разрывает VPN подключение
6)Удаляет VPN подключение.
Вот скрипт:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Add-VpnConnection -Name VTH_VPN -ServerAddress 1.1.1.1 -AllUserConnection -AuthenticationMethod MSChapv2 -PassThru -RememberCredential -TunnelType Pptp
rasdial VTH_VPN login password
[Console]::outputEncoding =[System.Text.Encoding]::GetEncoding('cp866')
$p = start-process C:\VPN\vth.rdp -PassThru
$p.WaitForExit()
rasdial VTH_VPN /disconnect
Remove-VpnConnection -Name VTH_VPN -AllUserConnection -Force
Что получается:
1) Создает VPN подключение
2) Подключается по VPN
3) Пытается запустить RemoteApp, но в это же время рвет подключение VPN и удаляет его.
Соответственно, к моменту попытки запуск RemoteApp, VPN уже не существует, и запуск заканчивается неудачей.
Для отладки, решил заменить RemoteApp на приложение calc.exe - результат такой же. НО, если заменяю calc.exe на notepad.exe или просто на mstsc.exe скрипт отрабатывает на УРА.
Подскажите пожалуйста, где затык? Или подход в корне неправильный?
Я понимаю, что скажете, что не секурно в скрипте передавать логин и пароль - знаю. Но я планирую потом запаковать скрипт в exe-файл. Так что более менее немного защищенее получаеться.
Заранее спасибо.