🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Mac OS X: 在脚本里关闭Airport       最初问题的由来是这样的,我这里为一个公司做他们公司的系统影像文件制定系统恢复策略,其中一个要求是,公司需要在Desktop上把Airport关掉,在笔记本上把Airport打开,而且不要让用户随便打开或者关闭Airport。这个在公司环境是有理由这样要求的,首先,同时使用有线和无线网,多占用DHCP分配的IP资源;而且对于目前本来就紧缺的无线连接来说,这些闲置的无线连接更是不能接受;还有就是如果可以随意使用无线连接,那么很可能连接到外面其它的网上,无意中造成安全遗患。         这些要求,在苹果的GUI界面里面很好实现,使用下面两种方式,之一就可以轻松把Airport关闭(Turn Airport off), ![](https://box.kancloud.cn/2016-04-19_57158f4dca63e.gif) ![](https://box.kancloud.cn/2016-04-19_57158f4de5ae5.gif)         禁止普通用户变更Airport的选项在这里,本图是Mac OS X 10.5 Leopard里面的样子,在10.6 Snow Leopard里面多了一些更细致的选项,这里不多说:   ![](https://box.kancloud.cn/2016-04-19_57158f4e2177c.gif)         这些设置,对于小公司Mac机器不多的情况下,很好解决,如果是数百数千台,一台一台地设置,那管理员还不累死。聪明点的可能做两个image文件,分别对应不同的情况,不过今后的维护升级工作也会增加,还有就是类似的要求会很多,不可能每种情况的组合都做一个Image文件,所以使用程序设置才是正道。         如果熟悉Mac命令的可能会说,使用networksetup就可以关闭Airport的电源=等同于Turn off,命令如下: networksetup -setairportpower on | off        可是问题是,它可以关闭,但是记不住状态,下次重新启动还会回复以前的状态。         要想让系统记住状态,一定要把SystemConfiguration里面的preferences中的PowerEnabled设置成相应的值,而且把RequireAdmin设置为True. 见下图:   ![](https://box.kancloud.cn/2016-04-19_57158f4e439da.gif)   这里,省略了具体的脚本,朋友们自己可以书写。   ***版权信息**: 本着开放交流的原则欢迎转载,除非明确声明"谢绝转载"等字样. ***所有文章/图片/代码(除转载和翻译),版权均属文章作者***. 转载请遵守下面规则:  1)保持文章的完整性; 2)不得以盈利为目的; 3)完整标注文章作者[Tony Liu@[中国在线教育](http://blog.csdn.net/afatgoat)]和文章中标注的所有版权信息。 其它事宜,如:需要商业用途或以盈利为目的的、或者部分转载的等等,请与本作者联系: TonyLiu2CA@yahoo.com*   ### 进一步:      引申的问题,其实这个问题应该可以有更好的方式解决,做成一个自适应系统,也就是,自动检测系统的网络状态,如果以太网连接成功,那么自动关闭Airport,否则系统自动打开Airport, 这样的解决方案就更加完美了。         目前一个可行的方案是使用launchd的daemons, 在系统中自动运行脚本,检测en0状态,并结合上面的脚本来控制Airport的状态。具体脚本和文档这里也作省略处理。   Tony Liu June 18, 2010