啟用條件運算式參考資料

Jamf Pro 藍圖設定指南

Solution
Application
Content Type
技術說明文件
Utilities & Services
ft:locale
zh-TW

條件運算式是用於定義何時啟用藍圖配置的語法。每個條件運算式會評估裝置屬性或 Jamf 定義的屬性,以決定配置是否在裝置上啟用。當條件運算式為 true 時,配置即會啟用。當條件運算式為 false 時,配置在該裝置上保持非啟用狀態。您可以使用邏輯運算子連接多個運算式,以建立更複雜的條件。

狀態項目條件結構

每個條件運算式由三個部分組成:狀態項目、運算子和值。
注意:狀態項目是特定的 Apple 宣告式裝置管理項目。如需使用 Jamf 定義的屬性 @property(jamf.device.groups) 的相關資訊,請參閱 Jamf 屬性表。
元素語法備註
狀態項目@status(item.name)裝置自行回報的事實。一律封裝於@status(item.name)中。
字串值'iPhone'必須以單引號包裝。
布林值true / false無需引號。僅限小寫。
無條件(留空)藍圖會啟用範圍內所有裝置。
範例:
@status(device.model.family) == 'iPhone'

常用狀態項目

狀態項目是可用於條件運算式中的裝置事實。如需完整清單,請參閱 GitHub 上的 apple/device-management/declarative/status 存放庫。

狀態項目類型範例值
device.model.family字串iPhone, iPad, Mac, AppleTV
device.model.identifier字串iPhone15,2
device.os.version字串17.4.1
device.identifier字串裝置 UDID
passcode.is-compliant布林true, false
device.is-supervised布林true, false

支援的運算子

運算子含義範例
==等於@status(device.model.family) == 'iPhone'
!=不等於@status(device.model.family) != 'Mac'
IN {…}符合清單中的任何值@status(device.model.family) IN {'iPhone', 'iPad'}
< > <= >=數值/版本比較@status(device.os.version) >= '17.0'

用於連接條件的邏輯運算子

關鍵字含義範例
AND兩個條件均須為 true@status(device.model.family) == 'iPhone' AND @status(passcode.is-compliant) == true
OR其中一個條件為 true 即可@status(device.model.family) == 'iPhone' OR @status(device.model.family) == 'iPad'
NOT條件必須為 falseNOT @status(device.model.family) == 'Mac'

狀態項目條件範例

場景條件運算式
僅限 iPhone 裝置@status(device.model.family) == 'iPhone'
iPhone 或 iPad 裝置@status(device.model.family) IN {'iPhone', 'iPad'}
具備合規密碼的受監管 iPhone 裝置@status(device.model.family) == 'iPhone' AND @status(device.is-supervised) == true AND @status(passcode.is-compliant) == true
iOS 17 或更新版本@status(device.os.version) >= '17.0'
Mac 電腦以外的所有裝置@status(device.model.family) != 'Mac'

常見編寫錯誤

錯誤不正確正確
使用單等號而非雙等號@status(device.model.family) = 'iPhone'@status(device.model.family) == 'iPhone'
字串值缺少單引號@status(device.model.family) == iPhone@status(device.model.family) == 'iPhone'
字串值大小寫錯誤@status(device.model.family) == 'iphone'@status(device.model.family) == 'iPhone'
多個值使用 OR 鏈結而非 IN... == 'iPhone' OR ... == 'iPad'... IN {'iPhone', 'iPad'}
布林值包含引號@status(passcode.is-compliant) == 'true'@status(passcode.is-compliant) == true

Jamf 屬性

使用 @property(jamf.device.groups) 根據裝置的裝置群組成員資格來鎖定裝置。裝置群組是在 Jamf 中定義的,並非 Apple 宣告式裝置管理的狀態項目。您無法搭配使用 @property(jamf.device.groups)@status(jamf.device.groups)

運算子含義範例
ANY … IN {…}裝置屬於所列群組中至少一個群組ANY @property(jamf.device.groups) IN {'groupA', 'groupB'}
NONE … IN {…}裝置不屬於所列的任何群組NONE @property(jamf.device.groups) IN {'groupA', 'groupB'}