Я хочу создать сценарий PowerShell, который можно использовать для подключения компьютеров к различным SonicWall VPN различных клиентов (в частности, через Global VPN и NetExtender).Я хотел бы, чтобы он был похож на пользовательский интерфейс, чтобы запрашивать пользователя (который будет устанавливать переменные), а затем использовать эту информацию для передачи в командные строки в командной строке.
Я хочу иметь возможностьнеобходимо ввести введенную информацию в строку cmd в сценарии.
Я пытался использовать соединение MobileConnect через (используя приложение из магазина приложений) и соединиться с клиентом Microsoft VPN, но это незахватить всю информацию о сети;в частности, DNS-серверы.
Лучший способ - установить Global VPN или NetExtender и подключиться через линию cmd;таким образом можно получить всю информацию о сети.
Это базовая команда для ее запуска:
Function Connect-VPN {
Set-Location -Path "C:\Program Files (x86)\SonicWALL\SSL-VPN\NetExtender"
cmd /c "NECLI connect -s address:4433 -u Uname -p Password -d Domain -A"
Set-Location -Path C:\
}
По сути, вы меняете каталог и выполняете команды с этими аргументами.
Я хотел бы запросить в POSH, создать переменные с пользовательским вводом, а затем передать эти аргументы.
Сейчас у меня есть:
param(
[string]$Testadd ,
[string]$Testun ,
[string]$TestPW ,
[string]$TestDom
)
If ($Testadd -eq "")
{$Testadd = (Read-Host "test")
}
If ($Testun -eq "")
{$Testun = (Read-Host "test")
}
If ($TestPW -eq "")
{$TestPW = (Read-Host "test")
}
If ($TestDom -eq "")
{$TestDom = (Read-Host "test")
}
Set-Location -Path "C:\Program Files (x86)\SonicWALL\SSL-VPN\NetExtender"
cmd /c "NECLI connect -s "$($Testadd)" -u "$($Testun)" -p "$($TestPW)" -d "$($TestDom)" -A"
Set-Location -Path C:\
Проблемав том, что все аргументы выходят пустыми.Я не знаю, возможно ли это, но я хотел увидеть.