如何在Windows 10中自动连接到特定应用的VPN

使用Windows 10的PowerShell cmdlet,您可以轻松添加应用程序,以便在它们启动时自动触发VPN连接。自动执行此任务意味着在使用某些应用程序时,您甚至不必考虑连接到VPN。

要利用PowerShell中的此功能,您必须首先向您的计算机添加VPN服务(如果您还没有VPN服务)。

相关:如何在Windows中连接到VPN

如何添加VPN自动触发

在Windows 10上设置VPN连接后,您需要打开提升的PowerShell实例。要执行此操作,请单击开始按钮,然后键入“powershell”。右键单击“Windows PowerShell”,然后从菜单中选择“以管理员身份运行”。

在出现的允许访问您的计算机的提示中单击“是”。

在PowerShell窗口中,键入以下内容,并将<VPNConnection>和<AppPath>分别替换为VPN连接的名称和要使用的应用程序的文件路径:

Add-VpnConnectionTriggerApplication-Name“<VPNConnection>”-ApplicationID“”<AppPath>“

确保在命令中包含引号。

按Enter键运行该命令。PowerShell会警告您默认情况下禁用拆分隧道。要继续,您必须在自动触发该功能之前确认并启用该功能。

出现提示时键入“Y”,然后再次按Enter键完成。

您必须启用拆分隧道,自动触发器才能在没有人工干预的情况下连接到VPN。

当应用程序触发VPN启动时,拆分隧道会阻止Windows通过VPN路由所有网络流量。相反,它会拆分流量,只有来自列出的应用程序的数据才会流经VPN。

在PowerShell中键入Set-VpnConnection-Name“<VPNConnection>”-SplitTunnling$True,并将其替换为您的VPN名称(同样,请保留引号),然后按Enter键。

接下来,如果您不小心关闭了应用程序,并且不想让连接终止,您可以设置一个超时缓冲区来重新启动应用程序。

在PowerShell中键入Set-VpnConnection-Name“<VPNConnection>”-IdleDisconnectSeconds<IdleSeconds>,然后按Enter键。将<VPNConnection>替换为您的连接名称,将<IdleSeconds>替换为连接终止前等待的秒数。

现在,当应用程序关闭时,Windows将等待10秒才会终止VPN连接。您可以随心所欲地设置此数字,也可以完全省略此步骤。

如何查看哪些应用程序会自动触发VPN

有几种方法可以检查您设置了哪些应用程序来触发VPN连接的启动。您可以在PowerShell中使用cmdlet,也可以在文件资源管理器中编辑电话簿文件。

相关:PowerShell与Windows命令提示符有何不同

如果VPN突然启动,并且您不确定原因,您可以使用以下任一方法来确定是哪个应用程序触发了它。

使用PowerShell Cmdlet

要使用此方法,请单击Start按钮并键入“powershell”。右键单击“Windows PowerShell”,然后从菜单中选择“以管理员身份运行”。

在出现的允许访问您的计算机的提示中单击“是”。

在PowerShell窗口中,键入以下命令,但将<VPNConnection>替换为VPN连接的名称,然后按Enter键:

Get-VpnConnectionTrigger-ConnectionName<VPNConnection>

在我们的示例中,该命令检索了VPN连接“vpn Canada”的触发器属性,并将其显示在下面。

使用文件资源管理器

另一种选择是在文件资源管理器中查找拨号电话簿文件。您可以在文本编辑器中打开它并查看触发VPN的应用程序列表。

电话簿文件为Windows提供了一种标准方式来收集和指定建立远程访问连接(RAS)所需的信息。该文件包含IP地址、端口、调制解调器设置以及(我们正在查找的)触发连接的应用程序等信息。

要开始使用,请打开文件资源管理器,将以下目录粘贴到地址栏中,但将<user>替换为当前用户名,然后按Enter键:

C:\Users\<User>\AppData\Roaming\Microsoft\Network\Connections\Pbk

右键单击“rkasphone.pbk”,然后选择要在其中打开文件的文本编辑器。

这一个文件包含您计算机上的所有VPN连接,因此如果您有多个VPN,您可能需要仔细检查才能找到您想要的应用程序。每个应用程序都存储在函数“ClassicApplicationIDs”下,作为其直接文件路径。

幸运的是,如果您不想滚动查找每个应用程序,大多数文本编辑器都有查找功能。按Ctrl+F,在文本字段中键入“ClassicApplicationIds”,然后按Enter。

如何删除VPN自动触发

如果您意外添加了错误的应用程序,或者不再希望在启动特定应用程序时触发VPN,您可以使用PowerShell中的类似cmdlet将其删除。

相关:极客学校:学习在PowerShell中使用Cmdlet

要删除VPN自动触发,请单击开始按钮,然后键入“powershell”。右键单击“Windows PowerShell”,然后从菜单中选择“以管理员身份运行”。

在出现的允许访问您的计算机的提示中单击“是”。

在PowerShell窗口中,键入以下内容,但将<VPNConnection>和<AppPath>分别替换为VPN连接的名称和应用程序的路径:

Remove-VpnConnectionTriggerApplication-Name“<VPNConnection>”-ApplicationID“”<AppPath>“

PowerShell会提示您确认是否要从自动触发列表中删除该应用程序。键入“Y”,然后按Enter键。

对要从列表中删除的每个应用程序重复此步骤。

现在,当您启动指定的应用程序时,Windows将启动VPN连接并通过它发送流量-不需要第三方软件。

相关文章