正在连接EAP-TLS wifi网络操作系统x终端



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

  1. 将安全证书导入密钥链

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

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

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

  5. 如果是老师的笔记本电脑,并且他们提出了要求,那么创建一个名为"YouTube"的新位置,并在"网络代理"下放入允许访问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. 通过终端导入后如何连接到网络?

要导入.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/

最新更新