我想制作一个 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:\
问题是所有参数都为空。我不知道这是否可能,但我想看看。