community.general.osx_defaults 模块 – 管理 macOS 用户默认值

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定: community.general.osx_defaults

概要

  • osx_defaults 允许用户从 Ansible 脚本中读取、写入和删除 macOS 用户默认值。

  • macOS 应用程序和其他程序使用默认系统来记录用户偏好和其他必须在应用程序未运行时维护的信息(例如新文档的默认字体或信息面板的位置)。

参数

参数

注释

array_add

布尔值

为键添加新元素到数组中,该键的值为数组。

选项

  • false ← (默认)

  • true

check_type

布尔值

在 community.general 8.6.0 中添加

检查提供的 value 的类型是否与现有默认值的类型匹配。

如果类型不匹配,则会引发错误。

选项

  • false

  • true ← (默认)

domain

字符串

域是 com.companyname.appname 形式的域名。

默认值: "NSGlobalDomain"

host

字符串

应应用首选项的主机。

特殊值 currentHost 对应于 defaults 命令行工具的 -currentHost 开关。

key

字符串

用户首选项的键。

path

字符串

在其中搜索 defaults 的路径。

默认值: "/usr/bin:/usr/local/bin"

state

字符串

用户默认值的状态。

如果设置为 list,则会查询由 key 指定的给定参数。如果未找到或拼写错误,则返回 null

选项

  • "absent"

  • "list"

  • "present" ← (默认)

type

字符串

要写入的值的类型。

选项

  • "array"

  • "bool"

  • "boolean"

  • "date"

  • "float"

  • "int"

  • "integer"

  • "string" ← (默认)

value

任意

要写入的值。

仅当 state=present 时才需要。

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 中运行并返回更改状态预测,而无需修改目标。

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

备注

注意

  • Apple Mac 缓存默认值。您可能需要注销并登录才能应用更改。

示例

- name: Set boolean valued key for application domain
  community.general.osx_defaults:
    domain: com.apple.Safari
    key: IncludeInternalDebugMenu
    type: bool
    value: true
    state: present

- name: Set string valued key for global domain
  community.general.osx_defaults:
    domain: NSGlobalDomain
    key: AppleMeasurementUnits
    type: string
    value: Centimeters
    state: present

- name: Set int valued key for arbitrary plist
  community.general.osx_defaults:
    domain: /Library/Preferences/com.apple.SoftwareUpdate
    key: AutomaticCheckEnabled
    type: int
    value: 1
  become: true

- name: Set int valued key only for the current host
  community.general.osx_defaults:
    domain: com.apple.screensaver
    host: currentHost
    key: showClock
    type: int
    value: 1

- name: Defaults to global domain and setting value
  community.general.osx_defaults:
    key: AppleMeasurementUnits
    type: string
    value: Centimeters

- name: Setting an array valued key
  community.general.osx_defaults:
    key: AppleLanguages
    type: array
    value:
      - en
      - nl

- name: Removing a key
  community.general.osx_defaults:
    domain: com.geekchimp.macable
    key: ExampleKeyToRemove
    state: absent

作者

  • Franck Nijhof