[英]How can I automate new system provisioning with scripts under Mac OS X 10.6?
我已经在这方面工作了好几天,但根本找不到正确的参考来使它工作。
我们的想法是制作一个脚本,用于为进入公司的新购买的Mac提供基本功能,例如将自动设置设置为关闭,创建新的管理员用户(用于远程管理员访问支持,设置密码以解锁屏幕保护程序等)。
管理员必须在每台新计算机上执行的基线示例列表:
检查:将快速用户切换菜单显示为短名称
(注意:这只是每台机器上长列表的一部分)
我已经设法找到一些参考来使一些部分工作。 像自动登录一样可以解雇:
defaults write /Library/Preferences/.GlobalPreferences com.apple.userspref.DisableAutoLogin -bool TRUE
而且我有点找到了使用AppleScript和shell命令来锻炼新用户(包括提示)的方法。
但通常很难找到方法来做一些简单的事情,比如打开密码以退出屏幕保护程序或允许快速用户切换。 参考文件要么太有限,要么根本没有看到(例如我可以通过cli取消设置自动登录,但系统首选项“show restart,sleep和shutdown按钮”的下一个设置是在其他地方,我找不到任何命令行使它成立)
有没有人对列表,文档,引用或系统上每个设置所在的位置有任何想法,以便我可以指出它使它工作? 或者上面例子的示例脚本......
到目前为止,我对你的阅读表示感谢 - 非常感谢有关上述内容的任何人。
一般来说,各种设置的位置往往没有记录,但通常不太难以弄清楚。
一种方法是更改设置并查看要修改的文件。 fseventer对此有好处,或者如果您安装了Xcode,则可以使用Packagemaker(启动快照包,更改设置,然后停止录制并查看快照中列出的文件已更改),或者只运行sudo fs_usage -ew
(并通过其丰富的输出进行排序)。
找到相关文件后,反复更改设置以查看它们的更改方式。 如果文件是.plists,您可以使用defaults
在之前和之后转储它们并进行比较,或者使用plutil -convert xml1
将它们从二进制转换为人类可读的XML格式,并通过眼睛进行比较。 请注意,有时会进行多次更改; 例如,当禁用自动登录时,您确实应该从/Library/Preferences/com.apple.loginwindow.plist中删除autoLoginUser密钥,并删除文件/ etc / kcpassword。
查找可配置设置的另一种方法是利用Apple的基于服务器的首选项工具Workgroup Manager。 您可以在非服务器上安装Apple的服务器管理工具,并在本地使用它:
您还可以为包含首选项清单的应用程序获取其他设置(超出“概述”选项卡中的设置):在“详细信息”下,单击“+”按钮,选择一个应用程序,然后打开相关的首选项域并尝试将键添加到各个部分; 如果应用程序有清单,单击首选项键名称将为您提供可用键的弹出菜单,选择一个将自动填充值类型,默认值以及它的作用说明。 /System/Library/CoreServices/ManagedClient.app的清单有一些非常有趣的选项; 看看这个。
一些设置是每个用户,这意味着,如果你想将它们应用到现有的帐户,你必须脚本更改/用户/ * /库/首选项/ 什么的 ,可能还需要编辑用户模板(/系统/库/用户模板/ English.lproj / Library / Preferences / whatever )因此随后创建的帐户将获得设置。 此外,一些设置是每用户和每台计算机; 这些存储在〜/ Library / Preferences / ByHost中,文件名中包含计算机ID(以太网MAC地址或硬件UUID); 使用defaults -currentHost
来设置它们。
如果您对一个文件(例如loginwindow prefs)进行了大量更改,则可能更容易简单地复制预先调整的设置文件而不是修改现有文件。
有关创建脚本帐户的更好方法,请参阅此serverfault问题和/或查看instadmg附带的createUser包脚本。
如果您正在部署许多类似的计算机,那么可能值得研究它们的成像,而不是单独设置它们。 看看苹果的系统映像实用工具 , DeployStudio ,以及各种讨论和工具在AFP548 。 还有一个关于部署的Apple培训课程 (偏见声明:我是本课程的培训师之一,所以我认为每个人都应该参加),或者你可以单独购买课程参考书 。
编辑:我忘了提及systemsetup和networksetup命令 - 对于它们所涵盖的设置,它们是最好的方法。
我不知道在哪里可以找到权威文档...也许在developer.apple.com或系统管理员认证学习指南之一。 但是我可以告诉你输入菜单和密码hin在域/Library/Preferences/com.apple.loginwindow
,键为showInputMenu
(boolean - false或no key for off)和retriesUntilHint
(整数,> = 1开启) ,0或不存在分别是关闭的。
你总是可以使用defaults domain
列出所有可用的默认域,然后尝试defaults find <somestring>
出你认为会有什么东西。或者你可以尝试defaults find <somestring>
但有时设置是模糊的所以只是做一个怀疑的转储域名会更容易。 当然,如果要调整默认值,关键字甚至都不会出现...所以如果你必须使用这种方法......首先打开所有内容,这样就可以设置密钥。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.