簡體   English   中英

如何在Mac OS X 10.6下使用腳本自動執行新系統配置?

[英]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的服務器管理工​​具,並在本地使用它:

  • 運行/ Applications / Server / Workgroup Manager.app
  • 當它要求連接到服務器時,請選擇“服務器”>“查看目錄”菜單選項
  • 作為管理員進行身份驗證(右上角附近的掛鎖按鈕)
  • 選擇計算機帳戶列表(左上角附近的小標簽行中的矩形圖標)
  • 創建一個虛擬計算機帳戶(工具欄中的“新計算機”按鈕)
  • 切換到prefs管理部分(工具欄中的“首選項”按鈕)
  • 會有一堆可管理的偏好(你提到的大多數都會出現在登錄部分); 做出你感興趣的任何選擇
  • 切換到詳細信息選項卡,您將能夠看到正在控制的首選項域(實質上是.plist文件名)和首選項鍵。

您還可以為包含首選項清單的應用程序獲取其他設置(超出“概述”選項卡中的設置):在“詳細信息”下,單擊“+”按鈕,選擇一個應用程序,然后打開相關的首選項域並嘗試將鍵添加到各個部分; 如果應用程序有清單,單擊首選項鍵名稱將為您提供可用鍵的彈出菜單,選擇一個將自動填充值類型,默認值以及它的作用說明。 /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培訓課程 (偏見聲明:我是本課程的培訓師之一,所以我認為每個人都應該參加),或者你可以單獨購買課程參考書

編輯:我忘了提及systemsetupnetworksetup命令 - 對於它們所涵蓋的設置,它們是最好的方法。

我不知道在哪里可以找到權威文檔...也許在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM