我正在尝试使用 powershell 创建一个脚本,用于将 vpn 连接添加到 windows 8.1 计算机。为此,微软制作了 add-vpnconnection cmdlet。
手动运行 add-vpnconnection 并提供强制参数时,cmdlet 运行正常。
使用我的脚本运行 cmdlet 时 - 我需要输入每个可选参数才能运行。有人知道为什么吗?我该如何避免这种情况?
Powershell 脚本:
Param(
[Parameter(Mandatory=$true)]
[string]$Client,
[string]$Remotedns,
[string]$DNSSUFFIX ,
[string]$TunnelType = "SSTP"
) #end param
Add-VpnConnection -Name "$client VPN" -ServerAddress $Remotedns -AuthenticationMethod MSChapv2 -DnsSuffix $DNSSUFFIX = "" -SplitTunneling -TunnelType $TunnelType -AllUserConnection
答案1
经过测试后,似乎您的脚本应该具有更多强制参数 -Add-VpnConnection
不会仅仅接受强制传递的参数($Client
)。
运行“最小集合”时,返回要求提供更多详细信息。
Add-VpnConnection -Name "Test Name" -AuthenticationMethod MSChapv2 -SplitTunneling -AllUserConnection
cmdlet Add-VpnConnection at command pipeline position 1
Supply values for the following parameters:
ServerAddress:
如果您Get-Help
反对Add-VPNConnection
,那么似乎您至少需要-ServerAddress
($Remotedns
,在您的脚本中)也是强制性的。