您可以通过在 Omnissa Workspace ONE UEM console 中上载内部应用程序作为本地文件,将内部应用程序部署到您的设备库。
-
导航到资源 > 应用 > 本机应用 > 内部,然后选择添加 > 应用程序文件。

-
选择上载,然后选择选择文件。浏览系统上的应用程序文件。选择要上载的 .dmg、.pkg 或 .mpkg 文件。
-
上载所需的应用程序元数据文件 (.plist)。
要创建元数据文件,请下载 Workspace ONE Admin Assistant 工具并将其安装到 macOS 计算机上。请参见使用 Workspace ONE Admin Assistant 工具生成元数据
-
完成图像标签页。
设置 说明 移动图像 上载或拖放应用程序图像以显示在移动设备的 UEM 旧版目录 (AirWatch Catalog) 中。 平板电脑图像 上载或拖放应用程序图像以显示在平板电脑的 UEM 旧版目录 (AirWatch Catalog) 中。 图标 上载或拖放应用程序图像以在 Catalog 中显示为应用程序的图标。 -
配置脚本设置以运行应用程序的安装、卸载和验证。通过提供安装前和安装后脚本,您可以执行其他配置任务或安装其他项目,而无需重新打包应用程序或软件。粘贴脚本,Workspace ONE UEM 会设置脚本的格式以供 Munki 使用。要了解用于部署的脚本,请参阅示例脚本。
设置 说明 安装前脚本 定义在尝试安装前运行的安装前脚本。 安装后脚本 定义在成功安装后运行的安装后脚本。 卸载前脚本 定义在尝试卸载之前运行的卸载前脚本。 卸载方法 从下拉菜单中选择,然后自定义卸载方法的行为。选项包括: - 移除软件包
- 移除复制的项
- 移除应用
- 卸载脚本
卸载后脚本 定义在成功卸载后运行的卸载后脚本。
注意:如果安装前脚本运行失败,将会取消安装尝试,如果安装后脚本运行失败,则会记录错误,但安装将被视为已完成。
安装检查脚本
卸载检查脚本对于某些软件,您必须配置准确定义安装或卸载成功的内容。Munki 允许通过设置安装或卸载检查脚本来配置软件。
如果存在,脚本将运行以确定是否必须安装应用程序。返回代码为 0 表示需要安装,任何其他返回代码都将导致跳过安装。
如果存在,脚本将运行以确定是否必须卸载应用程序。返回代码为 0 表示需要卸载,任何其他返回代码都将导致跳过卸载 -
配置部署标签页设置。
设置 说明 阻止 激活阻止应用程序,以定义可能阻止受管 macOS 应用程序全新安装的任何应用程序或进程。 在安装之前必须关闭定义的应用程序,以防止这些应用程序在保存之前意外退出。此外,Workspace ONE Intelligent Hub 将通知设备的最终用户关闭定义的应用程序。 停用阻止应用程序,以覆盖任何阻止行为并继续执行安装。如果有阻止安装的应用打开,则该应用将自动被关闭。
列出必须关闭的阻止应用程序。如果应用位于 /Applications/ 文件夹中,则可以将其定义为应用名称,系统将自动发现该路径。例如,"Firefox"或"Firefox.app"。 (可选)可以使用确切进程的完整路径,但如果最终用户不能轻松退出应用,则不建议您使用完整路径。因此,您不得阻止任何不露面的后台应用或帮助程序应用。重启操作 选择应用程序的重新启动操作。可用操作包括: - 无
- 需要关闭
- 需要重启
- 推荐重启
- 需要注销
条件 定义要在设备上安装的应用程序的条件。 所需状态管理 目前,当安装 macOS 软件时,管理员可以根据业务需求激活或停用"所需状态管理"设置。 默认情况下,"所需状态管理"处于启用状态,以便在安装 macOS 软件时强制实施应用程序管理。 激活后,如果最终用户删除该应用,则在下次 Hub 同步时会自动重新安装该应用程序。
停用后,如果最终用户删除该应用,则除非从 Workspace ONE UEM console 或 Catalog 中推送,否则将不会自动重新安装该应用程序。
-
配置使用条款标签页。
-
使用条款具体表述了期望用户使用应用程序的方式。应用程序推送到设备时,用户可查看使用条款,且必须接受它才能使用应用程序。如果用户不接受,则无法访问应用程序。
-
选择保存并分配。
使用 macOS 软件分发脚本进行其他配置
在控制台的添加或编辑应用程序页面的脚本部分中,使用 macOS 软件分发脚本执行额外的配置或验证任务。
通过插入脚本,您可以:
- 使用安装前脚本避免重新打包安装程序。
- 通过编写其他配置的脚本来避免出现安装后用户提示。
- 执行验证。
- 自定义卸载。
下表提供了每种脚本类型的退出代码行为。
| 脚本类型 | 退出代码 0 行为 | 其他退出代码行为 |
| 安装前 | 继续安装 | 跳过安装 |
| 安装后 | 已成功安装 | 已成功安装,但出现警告 |
| 卸载前 | 继续卸载 | 跳过卸载 |
| 卸载后 | 已成功卸载 | 已成功卸载,但出现警告 |
| 安装检查脚本 | 需要安装 | 跳过安装 |
| 卸载检查脚本 | 需要卸载 | 跳过卸载 |
macOS 软件分发条件
macOS 软件分发条件是由集成的开源 Munki 库提供的一组属性,用于确定安装适用性。条件是在每个应用程序级别定义的,在下载并安装软件之前进行评估。
Munki 支持一些内置条件。
条件的编写格式如下:
machine_type == "laptop" AND os_vers BEGINSWITH "10.7"
条件比较属性
| 属性 | 类型 | 说明 | 示例比较 |
| hostname | 字符串 | Hostname | hostname=="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" |
| date | UTC 日期字符串 | 日期和时间。请注意将字符串强制转换为 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
此页面对您有帮助吗?