【问题标题】:AppleScript | Deploy PPTP VPN Settings to MAC Clients苹果脚本 |将 PPTP VPN 设置部署到 MAC 客户端
【发布时间】:2011-05-15 00:01:53
【问题描述】:

需要一个 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” 结束告诉
结束告诉

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

感谢您的意见!
问候
谢谢

【问题讨论】:

    标签: scripting applescript vpn


    【解决方案1】:

    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
    

    【讨论】:

    • 非常感谢 Mason,我已经保存了脚本,明天或周末将对其进行测试。此外,我们基于 Windows 的 VPN 服务器通过 DHCP 分配 IP,所以我想我将删除“设置 IP 子网”行。此外,如果我在 MAC 中的此 VPN 连接上设置所需的 DNS 服务器,当用户不在 VPN 上时会产生问题吗? - 非常感谢您的支持!!!!
    • 我在正确的行中添加了 DHCP。确保注释掉手动 IP 和其他不需要的行或完全删除它们。
    • 非常感谢!!!! - 我将在明天或周末对此进行测试并在这里报告 - 亲切的问候,如果你能提供一些提示以及我正在考虑开始编写脚本/轻编程(以前从未在任何平台上这样做过) - 那将是很棒。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

      要设置 IP、子网和路由器 IP,您可以使用以下命令: (-setmanual networkservice ip 子网路由器)

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

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

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

      查看 networksetup 命令的手册页。它做了很多事情。此外,您可以在 Google 上搜索该命令,您会发现很多论坛都有讨论 Mac 命令行网络配置的人。单个关键字 networksetup 效果不太好,因为它会返回很多 Windows 页面,因此 Google 搜索“sudo networksetup”,这将返回 Mac 相关页面。

      【讨论】:

      • 您好 Mason,我个人不使用 Mac,而且对脚本编写场景不熟悉。你的意思是离开 applescript 并使用上面的脚本来设置 vpn 吗?与参考。对于苹果脚本,它正在做它应该做的事情,我只需要知道输入 vpn 服务器地址、任何自定义路由和 dns 地址以及 VPN 名称本身的方式。如果这可以通过 applescript 完成 - 那会很棒,或者如果您可以指向 bash 中的 vpn 设置脚本(如果这适用于 osx),那也很棒。或者上面做shell脚本步骤。感谢您的回复
      • Rihatum,以上代码行不适合 AppleScript。打开脚本编辑器并将它们粘贴在那里并为自己构建一个 AppleScript 脚本。或者,您也可以使用该 networksetup 命令为自己构建一个 bash 脚本(如果这是您想要的)。
      • 这是在 bash 脚本中使用 networksetup 命令的示例 > tinyurl.com/2ah27q3
      • 嗨梅森,感谢您的回复,现在我明白了,如果我可以在 AppleScript 中使用上述行 - 那会很棒。此外,是否有通过 AppleScript 或 networksetup 设置 VPN 名称的命令?我查看了 MAN 页面,但似乎找不到任何适用于 VPN 的内容。明天我将把这些行粘贴到一个苹果脚本中,并报告它的进展——同时,如果你或有人能找到一种方法来通过 networksetup 或 applescript 命名 vpn 连接——那就太好了。
      猜你喜欢
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 2017-04-08
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多