您可以透過在 Omnissa Workspace ONE UEM Console 中上傳本機檔案的方式,將內部應用程式部署到您的裝置機群。
-
導覽至資源 > 應用程式 > 原生應用程式 > 內部,然後選擇新增 > 應用程式檔案。

-
選擇上傳,然後選取選擇檔案。瀏覽至系統上的應用程式檔案。選取要上傳的 .dmg、.pkg 或 .mpkg 檔案。
-
上傳必要的應用程式中繼資料檔案 (.plist)。
若要建立中繼資料檔案,下載並安裝 Workspace ONE Admin Assistant 工具至您的 macOS 電腦。請參閱使用 Workspace ONE Admin Assistant 工具產生中繼資料
-
完成影像索引標籤。
設定 說明 行動圖像 上傳或拖曳應用程式影像,以便在行動裝置的 UEM 舊版目錄 (AirWatch Catalog) 中顯示。 平板電腦圖像 上傳或拖曳應用程式影像,以便在平板的 UEM 舊版目錄 (AirWatch Catalog) 中顯示。 圖示 上傳或拖曳應用程式影像,以便在目錄中顯示為該應用程式的圖示。 -
設定指令碼設定來執行安裝、解除安裝及驗證應用程式。透過提供安裝前指令碼和安裝後指令碼,您可以執行其他組態工作或安裝其他項目,不需要重新封裝應用程式或軟體。貼上指令碼,Workspace ONE UEM 就會將其格式化為 Munki 所用。若要瞭解用於部署的指令碼,請參閱範例指令碼。
設定 說明 安裝前指令碼 定義嘗試安裝前所要執行的安裝前指令碼。 安裝後指令碼 定義安裝成功後所要執行的安裝後指令碼。 解除安裝前指令碼 定義嘗試解除安裝前所要執行的解除安裝前指令碼。 解除安裝方式 從下拉式清單中選取並自訂解除安裝方式的行為。選項包括: - 移除套件
- 移除複製項目
- 移除應用程式
- 解除安裝指令碼
解除安裝後指令碼 定義成功解除安裝後所要執行的解除安裝後指令碼。
附註:安裝前指令碼失敗時,會取消安裝的嘗試,而安裝後指令碼失敗時,則會記錄錯誤,但會視為已安裝完成。
安裝檢查指令碼
解除安裝檢查指令碼對於某些軟體,您必須設定成功安裝或成功解除安裝的定義。Munki 允許透過安裝或解除安裝檢查指令碼,設定軟體組態。
如果存在,該指令碼會執行以判斷是否須安裝應用程式。傳回碼為 0 表示需要安裝,任何其他傳回碼則會略過安裝。
如果存在,該指令碼會執行以判斷應用程式是否須解除安裝。傳回碼為 0 表示需要解除安裝,任何其他傳回碼會略過解除安裝 -
設定部署索引標籤設定。
設定 說明 封鎖 啟動封鎖應用程式,以定義任何可能會封鎖全新安裝受管理 macOS 應用程式的應用程式或程序。 定義的應用程式必須先關閉才能安裝,以防止在儲存前意外結束這些應用程式。此外,終端使用者會在裝置上收到 Workspace ONE Intelligent Hub 通知,表示要關閉定義的應用程式。 停用封鎖應用程式以覆寫任何封鎖行為並繼續安裝。如果應用程式開啟時會封鎖安裝,則會自動遭到關閉。
列出必須先關閉的封鎖應用程式。如果應用程式位於 /Applications/ 資料夾,則可以用應用程式名稱定義,系統會自動探索路徑。例如「Firefox」或者「Firefox.app」。 您可以選擇使用該程序的完整路徑,但若終端使用者無法輕易退出應用程式,則不建議這麼做。因此,您不得封鎖任何無介面的背景應用程式或輔助應用程式。重新啟動動作 選取應用程式的重新啟動動作。可用動作包括: - 無
- 需要關機
- 需要重新啟動
- 建議重新啟動
- 需要登出
條件 定義要在裝置上安裝應用程式的條件。 想要的狀態管理 目前安裝 macOS 軟體時,管理員可根據業務需求啟用或停用 [需要的狀態管理] 設定。 [需要的狀態管理] 預設為啟用,可在安裝 macOS 軟體時強制執行應用程式管理。 如果啟用,且終端使用者刪除該應用程式,該應用程式會在下次 Hub 同步時自動重新安裝。
如果停用,且終端使用者刪除該應用程式,應用程式不會自動重新安裝,除非從 Workspace ONE UEM Console 或目錄推送。
-
配置使用條款索引標籤。
-
使用條款具體地說明使用者應如何使用該應用程式,當應用程式推送至裝置時,使用者必須檢視並同意使用條款,才可使用該應用程式。如果使用者不接受此條款,則將無法存取該應用程式。
-
選取儲存並指派。
使用 macOS 軟體散發指令碼進行其他組態
在 Console 的新增或編輯應用程式頁面的指令碼區段中,使用 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 | 字串 | 「筆記型電腦」或者「桌上型電腦」 | 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" |
| 日期 | 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
此頁面對您有幫助嗎?