Skip to main content

2026 年 5 月 4 日

部署内部 macOS 应用程序

您可以通过在 Omnissa Workspace ONE UEM console 中上载内部应用程序作为本地文件,将内部应用程序部署到您的设备库。

  1. 导航到资源 > 应用 > 本机应用 > 内部,然后选择添加 > 应用程序文件

    显示 UEM console 上的导航路径。

  2. 选择上载,然后选择选择文件。浏览系统上的应用程序文件。选择要上载的 .dmg、.pkg 或 .mpkg 文件。

  3. 上载所需的应用程序元数据文件 (.plist)。

    要创建元数据文件,请下载 Workspace ONE Admin Assistant 工具并将其安装到 macOS 计算机上。请参见使用 Workspace ONE Admin Assistant 工具生成元数据

  4. 完成图像标签页。

    设置说明
    移动图像上载或拖放应用程序图像以显示在移动设备的 UEM 旧版目录 (AirWatch Catalog) 中。
    平板电脑图像上载或拖放应用程序图像以显示在平板电脑的 UEM 旧版目录 (AirWatch Catalog) 中。
    图标上载或拖放应用程序图像以在 Catalog 中显示为应用程序的图标。
  5. 配置脚本设置以运行应用程序的安装、卸载和验证。通过提供安装前和安装后脚本,您可以执行其他配置任务或安装其他项目,而无需重新打包应用程序或软件。粘贴脚本,Workspace ONE UEM 会设置脚本的格式以供 Munki 使用。要了解用于部署的脚本,请参阅示例脚本

    设置说明
    安装前脚本定义在尝试安装前运行的安装前脚本。
    安装后脚本定义在成功安装后运行的安装后脚本。
    卸载前脚本定义在尝试卸载之前运行的卸载前脚本。
    卸载方法 从下拉菜单中选择,然后自定义卸载方法的行为。选项包括:
    • 移除软件包
    • 移除复制的项
    • 移除应用
    • 卸载脚本
    卸载后脚本定义在成功卸载后运行的卸载后脚本。
    注意:如果安装前脚本运行失败,将会取消安装尝试,如果安装后脚本运行失败,则会记录错误,但安装将被视为已完成。



    安装检查脚本

    卸载检查脚本
    对于某些软件,您必须配置准确定义安装或卸载成功的内容。Munki 允许通过设置安装或卸载检查脚本来配置软件。

    如果存在,脚本将运行以确定是否必须安装应用程序。返回代码为 0 表示需要安装,任何其他返回代码都将导致跳过安装。

    如果存在,脚本将运行以确定是否必须卸载应用程序。返回代码为 0 表示需要卸载,任何其他返回代码都将导致跳过卸载
  6. 配置部署标签页设置。

    设置说明
    阻止 激活阻止应用程序,以定义可能阻止受管 macOS 应用程序全新安装的任何应用程序或进程。 在安装之前必须关闭定义的应用程序,以防止这些应用程序在保存之前意外退出。此外,Workspace ONE Intelligent Hub 将通知设备的最终用户关闭定义的应用程序。 停用阻止应用程序,以覆盖任何阻止行为并继续执行安装。如果有阻止安装的应用打开,则该应用将自动被关闭。

    列出必须关闭的阻止应用程序。如果应用位于 /Applications/ 文件夹中,则可以将其定义为应用名称,系统将自动发现该路径。例如,"Firefox"或"Firefox.app"。 (可选)可以使用确切进程的完整路径,但如果最终用户不能轻松退出应用,则不建议您使用完整路径。因此,您不得阻止任何不露面的后台应用或帮助程序应用。
    重启操作 选择应用程序的重新启动操作。可用操作包括:
    • 需要关闭
    • 需要重启
    • 推荐重启
    • 需要注销
    条件定义要在设备上安装的应用程序的条件。
    所需状态管理 目前,当安装 macOS 软件时,管理员可以根据业务需求激活或停用"所需状态管理"设置。 默认情况下,"所需状态管理"处于启用状态,以便在安装 macOS 软件时强制实施应用程序管理。

    激活后,如果最终用户删除该应用,则在下次 Hub 同步时会自动重新安装该应用程序。

    停用后,如果最终用户删除该应用,则除非从 Workspace ONE UEM console 或 Catalog 中推送,否则将不会自动重新安装该应用程序。

  7. 配置使用条款标签页。

  8. 使用条款具体表述了期望用户使用应用程序的方式。应用程序推送到设备时,用户可查看使用条款,且必须接受它才能使用应用程序。如果用户不接受,则无法访问应用程序。

  9. 选择保存并分配

使用 macOS 软件分发脚本进行其他配置

在控制台的添加或编辑应用程序页面的脚本部分中,使用 macOS 软件分发脚本执行额外的配置或验证任务。

通过插入脚本,您可以:

  • 使用安装前脚本避免重新打包安装程序。
  • 通过编写其他配置的脚本来避免出现安装后用户提示。
  • 执行验证。
  • 自定义卸载。

下表提供了每种脚本类型的退出代码行为。

脚本类型退出代码 0 行为其他退出代码行为
安装前继续安装跳过安装
安装后已成功安装已成功安装,但出现警告
卸载前继续卸载跳过卸载
卸载后已成功卸载已成功卸载,但出现警告
安装检查脚本需要安装跳过安装
卸载检查脚本需要卸载跳过卸载

macOS 软件分发条件

macOS 软件分发条件是由集成的开源 Munki 库提供的一组属性,用于确定安装适用性。条件是在每个应用程序级别定义的,在下载并安装软件之前进行评估。

Munki 支持一些内置条件。

条件的编写格式如下:

machine_type == "laptop" AND os_vers BEGINSWITH "10.7"

条件比较属性

属性类型说明示例比较
hostname字符串Hostnamehostname=="Lobby imac"
arch字符串处理器架构。例如:"powerpc"、"i386"、"x86_64"arch=="x86_64"
os_vers字符串完整操作系统版本。例如:"10.7.2"os_vers BEGINSWITH "10.7"
os_vers_major整数主要操作系统版本。例如:"10"os_vers_major == 10
os_vers_minor整数次要操作系统版本。例如:"7"os_vers_minor == 7
os_vers_patch整数小发行版本。例如:"2"os_vers_patch >=2
machine_model字符串"MacMini1,1"、"iMac4,1"、"MacBookPro8,2"machine_model == "iMac4,1"
machine_type字符串"laptop"或"desktop"machine_type == "laptop"
ipv4_address字符串数组包含所有接口的当前 IPv4 地址。ANY ipv4_address CONTAINS '192.168.161.'
munki_version字符串已安装的 munkitool 的完整版本munki_version LIKE '*0.8.3*'
serial_number字符串计算机序列号serial_number =="W9999999U2P"
dateUTC 日期字符串日期和时间。请注意将字符串强制转换为 NSDate 对象时所需的特殊语法。date>CAST("2013-01-02T00:00:00Z", "NSDATE")

示例脚本

此处提供了在使用 .pkg 文件部署 Google Chrome 时使用的安装前和安装后脚本的示例。

使用这些脚本,您可以:

  • 安装前:从 /Applications 或用户的主目录中移除应用的任何较旧副本。
  • 安装后:将 Chrome 设置为默认浏览器(可选)或显示通知。

安装前脚本

    #!/bin/bash
    # Pre-install cleanup: Remove existing versions of Chrome
    echo "Checking for existing versions of Google Chrome..."
    APP_PATH="/Applications/Google Chrome.app"
    USER_APP_PATH="$HOME/Applications/Google Chrome.app"
    if [ -d "$APP_PATH" ]; then
    echo "Removing Chrome from /Applications"
    rm -rf "$APP_PATH"
    fi
    if [ -d "$USER_APP_PATH" ]; then
    echo "Removing Chrome from the user's Applications folder"
    rm -rf "$USER_APP_PATH"
    fi
    exit 0

安装后脚本

    #!/bin/bash
    # Post-install actions: Notify user and optionally set Chrome as default browser
    # Use terminal-notifier or AppleScript for notification
    osascript -e 'display notification "Google Chrome has been installed successfully!" with title "IT Support"'
    # Optional: Set Chrome as default browser (requires `duti` or `defaultbrowser`, not included by default)
    # Example with duti (must be pre-installed):
    # /usr/local/bin/duti -s com.google.Chrome public.html all
    exit 0

此页面对您有帮助吗?

对本主题提供反馈

本主题对您有帮助吗?

请勿填写任何个人信息或机密信息。

正在生成链接…