由于任何原因断开连接时自动重新连接 VPN - 持久性 VPN

Uma*_*ziz 16 windows windows-server-2008 vpn windows-server-2008-r2 windows-server-2012-r2

在 Windows Server 2008、2012 或更高版本上,一旦 VPN 由于任何原因断开连接,我需要自动重新连接 VPN。

可能是服务器重启,手动命令断开连接。持续的 VPN 连接。

任何变通方法

Uma*_*ziz 27

我使用“任务计划程序”进行整理

以下是执行此操作的步骤

  1. 建立 VPN 连接并给它取个名字让我们说“我的 VPN”

  2. 从开始菜单打开“任务计划程序”并单击“创建任务”(选项可以在任务计划程序的右侧找到)

  3. 将出现 POPUP 询问任务信息。填写信息如下任务信息

  4. 之后转到触发器选项卡并选择“新建”。另一个弹出窗口将如下所示 新触发器

  5. 在顶部选择“开始任务”下拉菜单并选择“在事件中”

  6. 下面的列表将更改在“日志:”中选择“应用程序”,在“来源:”中选择“RasClient”,在“事件ID:”中选择“20226”,然后单击“确定,如下所示 事件触发器

  7. 再次单击“新建”并添加另一个触发器。再次在顶部选择“开始任务”下拉菜单并选择“在事件中”然后在“日志:”中选择“Microsoft-Windows-NetworkProfile/Operational”,在“来源:”中选择“网络配置文件”,在“事件ID: "选择"10000"然后点击OK如下图 网络触发

  8. 这将为我们的任务添加两个触发器。像下面触发器列表

  9. 现在我们将添加动作。单击名为“Action”的Next Tab ,然后单击New,将出现另一个弹出窗口。在“操作:”中,它应该是启动程序,然后在“程序/脚本:”中单击浏览并选择 rasdial.exe 它的路径将出现在“System32”文件夹中。现在您需要添加 VPN 名称和凭据在“添加参数(可选)”中按以下顺序

    “VPN名称”用户名密码行动

  10. 现在单击确定并创建任务它将出现任务列表。现在转到 VPN 连接断开它,您将看到它自动重新连接。重新启动服务器,您将看到 VPN 默认连接。

  • 几年前,我开发了一个 Windows 服务应用程序来监控 VPN 并执行此操作。我从没想过任务调度程序的事情。我想这也很容易用 GPO 推出。 (3认同)

小智 6

如果您懒惰,可以将其导入任务调度程序。只需使用您自己的 vpn 详细信息编辑操作并另存为 XML。

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <URI>reconnect vpn</URI>
  </RegistrationInfo>
  <Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Application"&gt;&lt;Select Path="Application"&gt;*[System[Provider[@Name='RasClient'] and EventID=20226]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
    </EventTrigger>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-NetworkProfile/Operational"&gt;&lt;Select Path="Microsoft-Windows-NetworkProfile/Operational"&gt;*[System[Provider[@Name='NetworkProfile'] and EventID=10000]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
    </EventTrigger>
  </Triggers>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\Windows\System32\rasdial.exe</Command>
      <Arguments>"MyVPN Name" user password</Arguments>
    </Exec>
  </Actions>
</Task>
Run Code Online (Sandbox Code Playgroud)