我已经在这方面工作了好几天,但根本找不到正确的参考资料才能使它发挥作用。
我们的想法是制作一个脚本,用于为进入公司的新购买的Mac提供基本功能,例如将自动登录设置为关闭,创建新的管理员用户(供远程管理员访问以获取支持,设置密码以解锁屏幕保护程序和等)。
管理员必须在每台新计算机上执行的基线示例列表:
检查:将快速用户切换菜单显示为短名称
(注意:这只是每台机器上长列表的一部分)
我设法找到一些参考来使一些部分工作。 像自动登录一样可以解除:
defaults write /Library/Preferences/.GlobalPreferences com.apple.userspref.DisableAutoLogin -bool TRUE
我有点找到了使用AppleScript和shell命令来锻炼新用户(包括提示)的方法。
但通常很难找到方法来做一些简单的事情,例如打开密码以退出屏幕保护程序或允许快速用户切换。参考文件要么太有限,要么根本没有看到(例如我可以通过cli取消设置自动登录,但系统首选项“show restart,sleep和shutdown按钮”的下一个设置是在其他地方,我找不到任何命令行使它成立)
是否有人对列表,文档,引用或系统上每个设置所在的位置有任何想法,以便我可以指出它使其工作?或者可能是上述示例的示例脚本......
到目前为止,我非常感谢您的阅读 - 非常感谢有任何关于上述内容的人。
答案 0 :(得分:3)
一般情况下,各种设置的位置往往没有记录,但通常不难理解。
执行此操作的一种方法是更改设置并查看要修改的文件。 fseventer对此有好处,或者如果您安装了Xcode,则可以使用Packagemaker(启动快照包,更改设置,然后停止录制并查看快照中列出的文件已更改),或者只运行{ {1}}(并通过其丰富的输出进行排序)。
找到相关文件后,请更改设置&看看他们是如何改变的。如果文件是.plists,您可以使用sudo fs_usage -ew
将它们转储到&之后和比较,或使用defaults
将它们从二进制切换为人类可读的XML格式,并通过眼睛进行比较。请注意,有时会进行多次更改;例如,当禁用自动登录时,你真的应该从/Library/Preferences/com.apple.loginwindow.plist删除autoLoginUser密钥,并删除文件/ etc / kcpassword。
查找可配置设置的另一种方法是利用Apple的基于服务器的首选项工具Workgroup Manager。您可以在非服务器上安装Apple的服务器管理工具,并在本地使用它:
您还可以为包含首选项清单的应用程序获取其他设置(超出“概述”选项卡中的设置):在“详细信息”下,单击“+”按钮,选择一个应用程序,然后打开相关的首选项域并尝试添加密钥到各个部分;如果应用程序有清单,单击首选项键名称将为您提供可用键的弹出菜单,选择一个将自动填充值类型,默认值以及它的作用说明。 /System/Library/CoreServices/ManagedClient.app的清单有一些非常有趣的选项;看看吧。
某些设置是按用户设置的,这意味着如果您要将它们应用于现有帐户,则必须编写脚本更改/ Users / * / Library / Preferences / ,也可以想要编辑用户模板(/ System / Library / User Template / English.lproj / Library / Preferences / ),以便随后创建的帐户将获得设置。此外,某些设置是每个用户和每台计算机;这些存储在〜/ Library / Preferences / ByHost中,文件名中包含计算机ID(以太网MAC地址或硬件UUID);使用plutil -convert xml1
设置这些。
如果您对一个文件进行了大量更改(例如loginwindow prefs),则可能更容易简单地复制预调整的设置文件而不是修改现有文件。
有关创建脚本帐户的更好方法,请参阅this serverfault question和/或查看instadmg附带的createUser包脚本。
如果您正在部署许多类似的计算机,那么可能值得研究对它们进行成像,而不是单独设置它们。请查看Apple's System Image Utility,DeployStudio以及各种讨论& afp548处的工具。还有Apple training class on deployment(偏见声明:我是本课程的培训师之一,所以我认为所有人应该参加),或者你可以购买class reference book分开。
编辑:我忘了提及systemsetup和networksetup命令 - 对于他们所涵盖的设置,它们是最好的方式。
答案 1 :(得分:0)
我不知道在哪里可以找到权威文档...也许在developer.apple.com或系统管理员认证学习指南中。但是,我可以告诉您,输入菜单和密码hin位于域/Library/Preferences/com.apple.loginwindow
中,键showInputMenu
(布尔值 - 假或无关键)和retriesUntilHint
(整数,> = 1分别为0,非分离为0。
你可以随时使用defaults domain
列出所有可用的默认域名,然后尝试推断你认为某些内容会占据主导地位。或者你可以尝试defaults find <somestring>
但有时设置是模糊的,所以只是进行可疑域名的转储会更容易。当然,如果要关闭默认值,关键字甚至都不会出现...所以如果你必须使用这种方法......首先打开所有内容,这样就可以设置密钥。