5

我目前是一名学校技术人员,我正在编写一个 shell 脚本,它将自动将学校无线配置到 Mac 上,以便为我将要配置的多个 BYOD 和员工 Mac 自动执行此过程。这涉及

  1. 将安全证书导入钥匙串

  2. 在此处将以下设置插入此对话框以连接到网络

  3. 创建一个名为“学校”的新网络位置

  4. 通过“自动代理配置”下的 wpad 文件配置代理

  5. 如果是老师的笔记本电脑并且他们要求使用,请创建一个名为“YouTube”的新位置,并在“Web Proxy”下设置允许 YouTube 访问的代理设置

我采用的第一种方法是通过 security 命令导入安全证书(根证书颁发机构和中间证书颁发机构)。但是,我意识到在第一次连接到它时,没有办法配置弹出框来配置 WiFi 设置(选择 EAP-TLS 作为连接模式、证书和插入用户名) . 并使用

networksetup -setairportnetwork en1 eduSTAR

试图让对话框出现是行不通的。我很清楚隐藏的

airport    

命令,但没有明显的方法可以通过此命令连接到 wifi 网络。我能想到的唯一另一种方法是通过 AppleScript 使用 GUI 脚本,我试图避免这种方法,因为操作系统版本之间的 UI 更改会导致脚本无法使用。

今天,我发现我可以通过网络设置的 GUI 将 .mobileconfig 文件导入到网络设置中,这样就可以处理所有事情(包括 wdap 代理配置),而且我还发现在此之前,networksetup 命令可以选择导入 802.1x 配置文件。

networksetup -import8021xProfiles [service path]

网络设置中的导入选项不允许我直接导入 .mobileconfig 文件,但我可以通过双击文件本身来导入设置。结果实际文件是一个 .networkconnect 文件,但这一点没有实际意义,因为显然,从 10.7 开始,不再支持该命令

Use a configuration profile to install 802.1X profiles on the system.
** Error: This command is no longer supported.

所以现在,我的问题如下:

  1. 如何在不使用 GUI 脚本的情况下通过 10.7 及更高版本的 OS X 终端将 .networkconnect / .mobileconfig 文件导入网络设置?

  2. 通过终端导入后如何连接网络?

4

1 回答 1

2

要导入 .mobileconfig 命令,请使用 /usr/bin/profiles 命令。networksetup 仅用于导入 10.6 及更早版本的系统配置文件。

配置文件 -I -F 文件名.mobileconfig

导入 mobileconfig 后,它将自动尝试连接,但配置文件(与 networksetup 不同)AFAIK 无法更改 SSID 的优先级顺序。

这不是您想要的,但如果您的 Mac 是您的 AD 域的成员并且具有 AD 集成 CA,您可以使用 mactls shell 脚本自动颁发证书以及连接配置文件。它也可能是一个有用的比较系统配置文件方法在 10.6 和 10.7 之间的差异。

http://sourceforge.net/p/mactls/

于 2013-03-13T11:16:31.707 回答