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

利用PowerShell在Windows 10中实现VPN自动触发

通过Windows 10的PowerShell命令,可以轻松设置应用程序在启动时自动触发VPN连接。这意味着当您使用特定应用程序时,无需手动考虑VPN连接,一切皆可自动进行。

要使用此功能,您首先需要在计算机上配置VPN服务。如果您还没有VPN服务,请先添加。

如何添加VPN自动触发

在Windows 10上完成VPN连接设置后,您需要以管理员身份打开PowerShell。点击“开始”按钮,输入“PowerShell”,右键点击“Windows PowerShell”,然后选择“以管理员身份运行”。

在弹出的提示框中,点击“是”以允许程序访问您的计算机。

在PowerShell窗口中,输入以下命令,并将 <vpnconnection> 替换为您的VPN连接名称,<apppath> 替换为您想使用VPN的应用程序的文件路径:

Add-VpnConnectionTriggerApplication -Name "" –ApplicationID ""

请务必在命令中包含引号。

按下Enter键执行命令。PowerShell会提示您,默认情况下拆分隧道功能是禁用的。要继续操作,您必须先确认并启用此功能,才能设置自动触发。

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

您必须启用拆分隧道,才能实现无需人工干预的VPN连接自动触发。

当应用程序启动时触发VPN连接,拆分隧道将阻止Windows将所有网络流量都通过VPN路由。相反,它会拆分流量,只有指定的应用程序的数据才会通过VPN传输。

在PowerShell中输入 Set-VpnConnection -Name “<vpnconnection>” -SplitTunneling $True 并将 <vpnconnection> 替换为您的VPN名称(同样,请使用引号将其括起来),然后按Enter键。

接下来,为了防止您意外关闭应用程序时连接终止,您可以设置一个超时缓冲时间来重新启动应用程序。

在PowerShell中输入 Set-VpnConnection -Name “<vpnconnection>” -IdleDisconnectSeconds <idleseconds> 并按Enter键。将 <vpnconnection> 替换为您的连接名称,将 <idleseconds> 替换为等待连接终止的秒数。

现在,当应用程序关闭时,Windows将在终止VPN连接之前等待10秒。您可以根据需要设置此数字,或者完全省略此步骤。

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

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

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

使用PowerShell命令

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

在弹出的提示框中,点击“是”以允许程序访问您的计算机。

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

Get-VpnConnectionTrigger -ConnectionName 

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

使用文件资源管理器

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

电话簿文件是Windows用于收集和指定建立远程访问连接(RAS)所需信息的标准方式。此文件包含IP地址、端口、调制解调器设置等信息,以及我们要查找的信息——触发连接的应用程序。

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

C:UsersAppDataRoamingMicrosoftNetworkConnectionsPbk

右键单击“rasphone.pbk”,然后选择一个文本编辑器来打开此文件。

此文件包含计算机上的所有VPN连接,因此,如果您有多个VPN,可能需要筛选查找所需的信息。每个应用程序都存储在“ClassicApplicationIDs”函数下,直接显示其文件路径。

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

如何删除VPN自动触发

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

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

在弹出的提示框中,点击“是”以允许程序访问您的计算机。

在PowerShell窗口中,输入以下命令,并将 <vpnconnection> 替换为您的VPN连接名称,将 <apppath> 替换为应用程序的路径:

Remove-VpnConnectionTriggerApplication -Name "" –ApplicationID ""

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

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

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