在启动VPN连接之前,请检查网关是否可访问

时间:2016-10-25 09:08:08

标签: powershell vpn gateway

我正在使用powershell拨号程序来调用一些VPN工具。

一步是为用户选择用于建立连接的设备。在此步骤中,我正在搜索如何测试VPN网关,因为如果此测试不起作用,这意味着用户可能会遇到连接问题,例如强制网络门户(如果他尝试从酒店连接)。因此,如果此测试失败,则无需进一步。

我试过这个:

$ip ="x.x.x.x"
if(Test-Connection -computername $ip -count 1 -quiet){
write-host "gateway is accessible"
}

问题是:连接正常,VPN也是(如果我尝试连接),但我没有收到此脚本的响应。也许这不是测试它的正确方法。

配置:Win 7 / Powershell 4

2 个答案:

答案 0 :(得分:0)

您需要拥有某种强制门户测试Web服务。正如你所说,Test-Connection无法处理强制门户网站之类的东西,它只是看网络接口状态。

通常,您有一个具有预期输出的固定网址。例如,您使用URL mytestconnection / test设置Web服务器并输出OK

然后你在该URL上执行Invoke-WebRequest,如果它没有说好,则表示存在问题。

答案 1 :(得分:0)

我找到了this post

的解决方案

使用这个:

if(New-Object System.Net.Sockets.TCPClient -ArgumentList '$iSERVER','$PORT') {...}

运作良好。