Как я могу автоматизировать подготовку новой системы с помощью скриптов в Mac OS X 10.6? - PullRequest
4 голосов
/ 09 января 2011

Я работал над этим в течение нескольких дней, но просто не могу найти правильные ссылки, чтобы заставить его работать.

Идея состоит в том, чтобы иметь скрипт, который будет основываться на недавно приобретенных Mac, который поступает в компанию с базовымитакие вещи, как отключить автологин, создать нового пользователя-администратора (для удаленных администраторов получить доступ к поддержке, установить пароль для разблокировки заставки и т. д.).

Пример списка базовых показателей, которые должны выполнять администраторы на каждом новом компьютере:

  • Нажмите кнопку «Параметры входа в систему» ​​Установить автоматический вход в систему: ВЫКЛ.
  • Проверка: Показать перезагрузкуКнопки, Режим сна и Выключение
  • Снять отметку: Показать меню ввода в окне входа в систему
  • Снять отметку: Показать подсказки пароля
  • Снять отметку: Использовать голос за кадром в окне входа в систему
  • Проверка: Показать меню быстрого переключения пользователей в виде короткого имени

    (примечание: это только часть длинного списка на каждом аппарате)

Мне удалось найти некоторые ссылки, чтобы заставить некоторые части работать.Подобно тому, как автологин можно отключить с помощью:

defaults write /Library/Preferences/.GlobalPreferences com.apple.userspref.DisableAutoLogin -bool TRUE

, и я нашел способ найти нового пользователя (включая подсказки) с помощью команд AppleScript и оболочки.

Но, как правило, сложно найти способы сделать несколько простых вещей, таких как включение пароля, чтобы выйти из экранной заставки или обеспечить быстрое переключение пользователей.Ссылки либо слишком ограничены, либо просто не видны (например, я могу сбросить автологин через cli, но следующий параметр в настройках системы «Показать кнопки перезапуска, спящего режима и выключения» находится где-то еще, и я не могу найти какую-либо командную строкучтобы сделать его установленным)

Есть ли у кого-нибудь какие-либо идеи относительно списка, документа, ссылки или чего-либо еще о том, где находится каждый параметр в системе, чтобы на меня можно было указать, чтобы он работал?или, может быть, примеры сценариев для приведенного выше примера ...

Спасибо за то, что прочитали до сих пор - огромное спасибо всем, у кого есть какая-либо информация по этому вопросу.

Ответы [ 2 ]

3 голосов
/ 09 января 2011

Как правило, расположение различных настроек, как правило, не документируется, но, как правило, не слишком сложно выяснить.

Один из способов сделать это - изменить настройку и посмотреть, какой файл (ы)) измениться. fseventer подходит для этого, или если у вас установлен Xcode, вы можете использовать Packagemaker (запустить пакет моментальных снимков, изменить настройку, затем остановить запись и посмотреть, какие файлы перечислены как измененные в снимке), или простозапустите sudo fs_usage -ew (и отсортируйте обильные выходные данные).

Как только вы найдете соответствующие файлы, измените настройки назад и вперед, чтобы увидеть, как они меняются.Если файлы представляют собой .plists, вы можете использовать defaults, чтобы выгружать их до и после и сравнивать, или использовать plutil -convert xml1, чтобы переключать их из двоичного в читаемый человеком формат XML и сравнивать на глаз.Обратите внимание, что иногда нужно сделать несколько изменений;например, при отключении автологина вам действительно следует удалить ключ autoLoginUser из /Library/Preferences/com.apple.loginwindow.plist, а также удалить файл /etc/kcpassword.

Другой способ найти настраиваемые параметрычтобы воспользоваться преимуществом серверного инструмента предпочтений Apple, Workgroup Manager.Вы можете установить средства администрирования сервера Apple на несерверном сервере и поэкспериментировать с ним локально:

  • run / Applications / Server / Workgroup Manager.app
  • , когда он запрашивает подключениена сервер, выберите вместо этого пункт меню «Сервер»> «Просмотреть каталоги»
  • аутентифицируйтесь как администратор (кнопка с замком справа вверху)
  • выберите список учетных записей компьютера (значок прямоугольника в ряду маленькихвкладки в левом верхнем углу)
  • создание фиктивной учетной записи компьютера (кнопка «Новый компьютер» на панели инструментов)
  • переключение в раздел управления префсами (кнопка «Настройки» на панели инструментов)
  • будет множество категорий управляемых предпочтений (большинство из упомянутых вами будет в разделе «Вход»);сделайте любой интересующий вас выбор
  • , перейдите на вкладку Подробности, и вы сможете увидеть, какой домен настроек (по сути, имя файла .plist) и ключи настроек контролируются.

Вы также можете получить дополнительные настройки (помимо тех, которые находятся на вкладке «Обзор») для приложений, которые содержат манифест предпочтений: в разделе «Сведения» нажмите кнопку «+», выберите приложение, затем откройте соответствующий домен настроек и попробуйте добавить ключи.в различные разделы;если у приложения был манифест, то при нажатии на имя ключа предпочтения появится всплывающее меню доступных ключей, а при выборе одного из них будет автоматически заполнен тип значения, значение по умолчанию и описание того, что он делает.Манифест для /System/Library/CoreServices/ManagedClient.app имеет несколько действительно интересных опций;проверьте это.

Некоторые настройки являются индивидуальными для каждого пользователя. Это означает, что если вы хотите применить их к существующим учетным записям, вам придется изменить сценарий / Users / * / Library / Preferences / что угодно , и может также захотеть отредактировать шаблон пользователя (/ Система / Библиотека / Шаблон пользователя / English.lproj / Библиотека / Настройки / независимо от ), чтобы впоследствии созданные учетные записи получили настройки.Кроме того, некоторые настройки относятся как к пользователю , так и к компьютеру;они хранятся в ~ / Library / Preferences / ByHost с идентификатором компьютера (MAC-адрес Ethernet или аппаратный UUID) в имени файла;используйте defaults -currentHost для их установки.

Если вы вносите кучу изменений в один файл (например, настройки окна входа в систему), может быть проще просто скопировать предварительно настроенный файл настроек, чем изменятьсуществующий файл.

Чтобы узнать, как лучше создать сценарий создания учетной записи, см. этот вопрос о сбое сервера и / или посмотрите сценарий пакета createUser, включенный в instadmg .

Если вы развертываете много похожих компьютеров, возможно, стоит посмотреть на них, а не настраивать каждый из них по отдельности. Взгляните на Apple System Image Utility , DeployStudio , а также на различные обсуждения и инструменты на afp548 . Есть также учебный класс Apple по развертыванию (заявление о предвзятости: я один из инструкторов этого класса, так что я думаю, что каждый должен посетить его), или вы можете купить справочник классов отдельно.

Редактировать: Я забыл упомянуть команды systemsetup и networksetup - для настроек, которые они охватывают, они являются лучшим способом.

0 голосов
/ 09 января 2011

Я не знаю, где найти авторитетные документы ... возможно, на developer.apple.com или в одном из учебных пособий по сертификации системных администраторов. Однако я могу сказать вам, что меню ввода и пароль hin находятся в домене /Library/Preferences/com.apple.loginwindow с ключами showInputMenu (логическое значение - ложь или нет ключа для выключения) и retriesUntilHint (целое число,> = 1 включено, 0 или несуществующий выключен) соответственно.

вы всегда можете использовать defaults domain, чтобы перечислить все доступные домены по умолчанию, а затем попытаться выяснить, в какой сфере, по вашему мнению, что-то будет. Или вы можете попробовать defaults find <somestring>, но иногда настройки неясны, поэтому просто сделайте дамп подозреваемый домен будет проще. Конечно, если значение по умолчанию должно быть отключено, ключ, скорее всего, даже не выйдет ... поэтому, если вам придется использовать этот подход ... сначала включите все, чтобы ключ был установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...