我需要部署几台远程计算机,并且需要它们在有互联网连接时始终连接到 VPN。这可能吗?如果可以,怎么做?
答案1
首先,你需要设置位置变换器,每当(可能)网络设置发生变化时启动的脚本。
我一直在使用经过大量修改的版本(没有位置检测,只是在任何事物已更改,即在部分“每次网络变化后,在这里做一些需要发生的事情”) 已经使用了一年多,而且相当可靠。有时它会快速连续地检测到两次更改,但仅此而已。由于您的需求更符合默认设置,因此它可能会更好地为您服务。
打开 AppleScript 编辑器,并粘贴以下代码:
tell application "System Events"
tell current location of network preferences
if exists service "Displayed Name" then
set VPNservice to service "Displayed Name"
if connected of first configuration of VPNservice then
disconnect VPNservice
else
connect VPNservice
end if
else
display alert "Could not find VPN connection"
end if
end tell
end tell
替换Displayed Name
为您的 VPN 连接的名称系统偏好设置 » 网络。
另存为应用程序,例如/Applications/Utilities/Toggle VPN.app
然后,编辑locationchanger
脚本并添加
open "/Applications/Utilities/Toggle VPN.app"
如果你不想每次更改某些内容时图标都会在 Dock 中弹跳,你可以将 AppleScript 保存为脚本而是locationchanger
像这样执行它:
osascript "/path/to/Toggle VPN.scpt"
此解决方案需要您进行一些实验。原因很明显:连接或断开 VPN是网络配置发生变化。因此,根据我在这里所写的内容,有可能您连接到网络,脚本连接到 VPN,VPN 配置更改再次触发脚本,然后断开连接。
当然,您可以简单地删除该行disconnect VPNservice
并尝试。这实际上取决于您想要的确切行为。但这些是构建块。