AppleScript |将PPTP VPN设置部署到MAC客户端

时间:2010-11-24 09:43:08

标签: scripting applescript vpn

需要一个AppleScript(之前我没有用过)来在我们的远程工作者mac盒子上部署我们的VPN连接设置。这适用于PPTP VPN。

谷歌上搜索时,我发现了以下链接:
http://discussions.apple.com/thread.jspa?messageID=10368307

但我仍然不能:
a)似乎将VPN连接命名为
b)给它一个pptp vpn服务器地址
c)为此vpn提供dns,默认网关和任何自定义路由

如何添加这些字段/进入?

  

告诉应用程序“系统首选项”
  显示窗格“网络”
  激活
  告诉应用程序“系统事件”
  告诉流程“系统偏好”
  告诉窗口1   点击“添加服务”按钮
  告诉表1   点击弹出按钮1
  点击弹出按钮1的菜单1的菜单项“VPN”   延迟1
  点击弹出按钮2
  点击弹出按钮2的菜单1的菜单项“PPTP”   点击“创建”按钮
  告诉你   点击“申请”按钮
  告诉你   告诉你   延迟1 - 可选(仅用于视觉反馈)
  使用{command down}键击“w”   告诉你   结束告诉

上面的脚本似乎创建了连接,但没有详细信息 - 我不确定我会用什么语法来实现这一点。

感谢您的投入!
问候
谢谢

3 个答案:

答案 0 :(得分:2)

Rihatum,这是完整的Applescript,包含您想要做的所有事情。

--create new VPN PPTP service on the ethernet interface
do shell script "networksetup -createnetworkservice \"VPN (PPTP)\" en0 - where en0" with administrator privileges

--set the IP, subnet, & router IP ( order = ip subnet route )
do shell script "networksetup -setmanual \"VPN (PPTP)\" 192.168.2.50 255.255.255.0 192.168.2.1" with administrator privileges

--set VPN service using DHCP  -- if using DHCP don't use manual setting above
do shell script "networksetup -setdhcp \"VPN (PPTP)\"" with administrator privileges

--set DNS
do shell script "networksetup -setdnsservers \"VPN (PPTP)\" 208.67.222.222" with administrator privileges  

--set search domain 
do shell script "networksetup -setsearchdomains \"VPN (PPTP)\" my_company_domain.com" with administrator privileges

--rename network service -- replace CISCO_VPN with your preferred name
do shell script "networksetup -renamenetworkservice \"VPN (PPTP)\" CISCO_VPN" with administrator privileges

答案 1 :(得分:2)

我尝试使用networksetup工具解决方案,但它对我不起作用:我实际上想出了一个使用UI自动化的成功脚本。它在这里发布了一篇关于它的帖子:http://blog.affirmix.com/2011/01/12/how-to-configure-a-vpn-in-mac-os-x-usingapplescript/

答案 2 :(得分:1)

我认为您要做的是使用networksetup命令构建脚本 并在AppleScript中使用一系列“do shell script”行,而不是尝试GUI脚本配置。

例如,在AppleScript中,此命令将在以太网接口上创建新的VPN PPTP连接:

do shell script "networksetup -createnetworkservice \"VPN (PPTP)\" en0 -where en0" with administrator privileges

设置IP,子网和&您将使用此路由器IP:  (-setmanual networkservice ip subnet router)

do shell script "networksetup -setmanual \"VPN (PPTP)\" 192.168.2.50 255.255.255.0 192.168.2.1" with administrator privileges

之后,您可以使用其他选项配置其余选项。例如, 要为新创建的VPN PPTP连接添加DNS IP,您可以将其添加到AppleScript中:

do shell script "networksetup -setdnsservers \"VPN (PPTP)\" 208.67.222.222" with administrator privileges

查看networksetup命令的手册页。它做了大量的事情。此外,你可以使用Google这个命令,你会发现很多人讨论Mac命令行网络配置的论坛。单个关键字networksetup不能很好地工作,因为它返回了很多Windows页面,因此谷歌的“sudo networksetup”将返回Mac相关页面。