Jos*_*man 6 remote-desktop vpn batch
我知道我可以创建一个批处理文件来启动 VPN 连接,然后是 RDP 会话,但是我想知道是否有可能(在 Windows 7 和理想的 Windows XP 中)将 VPN 连接绑定到 RDP 会话状态。
场景:用户必须先使用 VPN 才能使用 RDP。理想情况下,用户会单击一个图标(批处理文件?)来启动 VPN 连接并加载 RDP 会话。当他们关闭 RDP 会话时,我希望 VPN 自动断开连接,这样他们就不会意外地通过 VPN 路由随后的非 RDP 浏览 + 互联网活动。
小智 5
我意识到这个问题很老了,但我想我会为任何偶然发现它的人添加一个方法。
@echo off
:: Connecting to VPN...
rasdial "VPN Name" user pass
echo Running RDP...
"Connect to Server.rdp"
echo Finished - disconnecting from VPN...
rasdial "VPN Name" /disconnect
Run Code Online (Sandbox Code Playgroud)
Rasdial 内置于 Windows,用于连接和断开连接。将“VPN 名称”替换为您在设置时所称的 VPN 连接。将第一行中的“user”和“pass”替换为连接到 VPN 的实际用户名和密码(即使您选择在创建 VPN 时保存凭据,Rasdial 也要求您输入它们)。
由于批处理脚本同步运行,rasdial 将在打开 RDP 文件之前完成与 VPN 的连接,并且在 RDP 会话打开的整个过程中批处理脚本将等待。一旦 RDP 会话关闭,最终命令将运行以断开 VPN。简单的!
我倾向于在桌面上放置一个批处理脚本的快捷方式,并将其图标更改为普通的 RDP 图标(来自 C:\Windows\System32\mstsc.exe)。如果您不希望用户看到 cmd 窗口,您可以选择最小化启动脚本,但我喜欢让它可见,以便他们可以查看连接到 VPN 时是否有任何错误。
如果您有独立的 VPN 客户端程序(即 Cisco AnyConnect),请使用 Google 查找该产品的命令行选项,看看是否可以使用单个命令进行连接。例如:AnyConnect、通用 Cisco 客户端和Windows VPN 客户端都支持此功能。但是,这可能需要您将密码以明文形式存储在批处理文件或脚本中。
获得该信息后,编写一个调用 VPN 客户端的批处理文件,可能会休眠几秒钟以确保 VPN 链接良好,然后从命令行调用远程桌面客户端。
如果您想要真正花哨,而不是通过睡眠来验证连接,您可以对某些只能通过 VPN 访问的资源执行 ping 操作,并让脚本在 ping 不成功时返回错误。
获取批处理文件,将其(或快捷方式)放在桌面或任何地方,然后您就拥有了一个一键“连接到 VPN,然后打开远程桌面”应用程序。
另一方面,如果您的 VPN 客户端无法通过命令行连接,我会研究AutoIT或其他鼠标/键盘宏脚本语言,看看是否可以自动进行 VPN 连接。
归档时间: |
|
查看次数: |
15177 次 |
最近记录: |