macOS管理配置文件中SkipSetupItems设置详解

本文详细介绍了在macOS管理配置文件中使用SkipSetupItems设置来跳过首次登录和系统更新后的各种设置屏幕,包括技术实现细节和配置示例。

在macOS管理配置文件中管理SkipSetupItems设置

Apple提供了抑制首次登录Mac时以及有时在系统更新后出现的各种屏幕的设置。在最近的OS版本中,Apple一直使用以下偏好设置域和键:

偏好设置域:com.apple.SetupAssistant.managed 键:SkipSetupItems

Apple将SkipSetupItems键设置为将其设置存储在数组中,如下所述:

1
2
3
4
5
6
7
8
9
– key: SkipSetupItems
  supportedOS:
    iOS:
      introduced: '14.0'
    macOS:
      introduced: '15.0'
  type: <array>
  presence: optional
  content: 描述要跳过的设置项的字符串数组。`SkipKeys`提供了有效字符串及其含义的列表。适用于iOS 14及更高版本,以及macOS 15及更高版本。

这一点很重要,因为数组及其字符串列表正是管理配置文件中SkipSetupItems键的设置。这个细节本身很重要,因为它可能导致多个管理配置文件管理macOS视为相同设置的内容。

当您有两个或更多管理配置文件以不同方式管理同一设置时,就会出现Apple所称的不确定或未定义行为。在这种情况下,macOS可能会随机选择应用其中一个设置而忽略其他设置,或者忽略所有设置。有关更多详细信息,请参见下文。

例如,您可以部署一个管理配置文件来阻止"您的Mac已准备好进行FileVault"屏幕出现。

在这种情况下,现在有一个配置文件在SkipSetupItems数组中部署以下设置:

1
2
3
4
<key>SkipSetupItems</key>
<array>
  <string>FileVault</string>
</array>

后来,您可能选择部署一个管理配置文件来阻止"软件更新完成"屏幕出现。

在这种情况下,现在有一个管理配置文件在SkipSetupItems数组中部署以下设置:

1
2
3
4
<key>SkipSetupItems</key>
<array>
  <string>UpdateCompleted</string>
</array>

一旦部署了用于抑制"软件更新完成"屏幕的第二个管理配置文件,您可能会在部署的Mac上随机看到以下行为:

  • “软件更新完成"屏幕出现
  • “您的Mac已准备好进行FileVault"屏幕出现
  • “软件更新完成"和"您的Mac已准备好进行FileVault"屏幕都出现

这种情况的解决方法是不要部署包含SkipSetupItems键设置的单独管理配置文件。而是将设置合并到一个管理配置文件中,数组中包含多个条目。例如,要同时抑制"软件更新完成"和"您的Mac已准备好进行FileVault"屏幕,您应该部署一个具有以下SkipSetupItems数组设置的单一管理配置文件:

1
2
3
4
5
<key>SkipSetupItems</key>
<array>
  <string>FileVault</string>
  <string>UpdateCompleted</string>
</array>

对于macOS Tahoe 26.0,以下管理配置文件应阻止以下屏幕出现:

  • Analytics(分析)
  • Apple Intelligence(Apple智能)
  • Software Update Complete(软件更新完成)
  • Update Your Mac Automatically(自动更新您的Mac)
  • Your Mac is Ready for FileVault(您的Mac已准备好进行FileVault)
  • Welcome(欢迎)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1">
  <dict>
    <key>PayloadUUID</key>
    <string>C89844D6-D188-45BF-A2E2-CA151E8829DB</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadOrganization</key>
    <string>Company Name</string>
    <key>PayloadIdentifier</key>
    <string>C89844D6-D188-45BF-A2E2-CA151E8829DB</string>
    <key>PayloadDisplayName</key>
    <string>Disable macOS Tahoe Setup Assistant Screens</string>
    <key>PayloadDescription</key>
    <string>Disables the Setup Assistant screens from appearing on login for new user accounts</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
    <key>PayloadEnabled</key>
    <true/>
    <key>PayloadRemovalDisallowed</key>
    <true/>
    <key>PayloadScope</key>
    <string>System</string>
    <key>PayloadContent</key>
    <array>
      <dict>
        <key>PayloadDisplayName</key>
        <string>Custom Settings</string>
        <key>PayloadIdentifier</key>
        <string>0F5CC61C-2D48-4A94-862A-F4777F7D9C48</string>
        <key>PayloadOrganization</key>
        <string>Company Name</string>
        <key>PayloadType</key>
        <string>com.apple.ManagedClient.preferences</string>
        <key>PayloadUUID</key>
        <string>0F5CC61C-2D48-4A94-862A-F4777F7D9C48</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadContent</key>
        <dict>
          <key>com.apple.SetupAssistant.managed</key>
          <dict>
            <key>Forced</key>
            <array>
              <dict>
                <key>mcx_preference_settings</key>
                <dict>
                  <key>SkipSetupItems</key>
                  <array>
                    <string>Diagnostics</string>
                    <string>FileVault</string>
                    <string>Intelligence</string>
                    <string>SoftwareUpdate</string>
                    <string>UpdateCompleted</string>
                    <string>Welcome</string>
                  </array>
                </dict>
              </dict>
            </array>
          </dict>
        </dict>
      </dict>
    </array>
  </dict>
</plist>
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计