Предварительно предупреждаю, что я новичок PowerShell, так что простите меня, если это очевидно ... но я боролся в течение последних нескольких часов, и я все еще не приблизился к тому, чтобы заставить это работать.
Как видно из названия, я пытаюсь добавить VPN-соединение L2tp через powershell, используя Add-VpnConnection Cmdlt. Соединение добавляется в windows с помощью моего предварительного общего ключа, поэтому хорошее начало, однако я не знаю, как заполнить имя пользователя и пароль для vpn, как я это делаю на gui.
* 1004. * Моя оригинальная строка Add-VpnConnection выглядела так:
Add-VpnConnection -Name $User -ServerAddress $compIP -TunnelType L2tp -L2tpPsk $VPNPresharedKey -RememberCredential
Чтобы попытаться запросить учетные данные, я сделал:
Add-VpnConnection -Name $User -ServerAddress $compIP -TunnelType L2tp -L2tpPsk $VPNPresharedKey -EncryptionLevel Optional -AuthenticationMethod Eap -EapConfigXmlStream $((New-EapConfiguration -UseWinlogonCredential).EapConfigXmlStream) -SplitTunneling -Force
Но, похоже, это не более, чем моя первая попытка.
Чтобы уточнить, если бы я делал это через GUI, это были бы следующие поля, которые я пытаюсь заполнить с помощью этого сценария:
https://imgur.com/55pTP62
Я или другой технический специалист будут вводить строку имени пользователя и пароля для VPN в переменных в начале моего сценария, и у меня уже есть объект $ Credential, который передает их. Мой вопрос, как я могу передать это в Add-VpnConnection CMDlt?
Заранее спасибо!
(Полный сценарий: https://pastebin.com/22V5MEjj)
Set-ExecutionPolicy Unrestricted # Allows scripts to be run if cust exec policy is still active despite running as admin,
$InstallationPath = "C:\Program Files (x86)\My Company\Company Product\Product.exe.Config"
##newDBinfo - Edit this:
$User = "" #Enter User here e.g Bob
$PWord = ConvertTo-SecureString -String "Password123" -AsPlainText -Force #Enter the password in plain text here
$compIP = "Enter Customer IP here" # Enter cust instance Public IP here
$VPNPresharedKey = "Enter Customer preshared key here" # Enter cust Pre Shared key here
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord
Add-VpnConnection -Name $User -ServerAddress $compIP -TunnelType L2tp -L2tpPsk $VPNPresharedKey -RememberCredential #-AuthenticationMethod Pap