连接到EAP-TLS wifi网络os x终端

时间:2013-02-21 09:42:37

标签: macos bash terminal wifi

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

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

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

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

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

  5. 如果是教师的笔记本电脑,并且他们提出要求,请创建一个名为“YouTube”的新位置并输入代理设置,允许在“网络代理”下访问YouTube

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

    networksetup -setairportnetwork en1 eduSTAR
    

    试图让对话框显示不起作用。我很清楚隐藏的

    airport    
    

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

    今天,我发现我可以通过网络设置的GUI将.mobileconfig文件导入网络设置,并且可以处理所有事情(包括wdap代理配置),之前我还发现了netsetup命令导入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. 如何通过终端导入后连接到网络?

1 个答案:

答案 0 :(得分:2)

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

profiles -I -F filename.mobileconfig

当导入mobileconfig时,它会自动尝试连接,但是配置文件(与网络设置不同)AFAIK无法更改SSID的优先级顺序。

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

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