Une expression de condition est la syntaxe utilisée pour définir quand activer les configurations d’un blueprint. Chaque expression de condition évalue des attributs d’appareils ou des propriétés définies par Jamf pour déterminer si une configuration s’active sur l’appareil. Lorsque l’expression de condition est satisfaite, la configuration s’active. Lorsqu’elle n’est pas vérifiée, la configuration reste inactive pour cet appareil. Vous pouvez combiner plusieurs expressions à l’aide d’opérateurs logiques pour créer des conditions plus complexes.
Structure d’une condition d’élément de statut
@property(jamf.device.groups), consultez le tableau des propriétés Jamf.| Élément | Syntaxe | Remarques |
|---|---|---|
| Élément de statut | @status(item.name) | Une information que l’appareil reporte sur son propre état. Toujours encadré dans @status(item.name). |
| Valeur de chaîne | 'iPhone' | Doit être entre des guillemets simples. |
| Valeur booléenne | true/false | Sans guillemets. Minuscules uniquement. |
| Aucune condition | (laisser le champ vide) | Le blueprint s’active sur tous les appareils du périmètre. |
@status(device.model.family) == 'iPhone'Éléments de statut couramment utilisés
Les éléments de statut correspondent aux attributs des appareils utilisables dans les expressions de conditions. Pour obtenir une liste complète, consultez le référentiel apple/device-management/declarative/status sur GitHub.
| Élément de statut | Type | Exemples de valeurs |
|---|---|---|
device.model.family | Chaîne | iPhone, iPad, Mac, AppleTV |
device.model.identifier | Chaîne | iPhone15,2 |
device.operating-system.version | Chaîne | 17.4.1 |
device.identifier | Chaîne | UDID de l’appareil |
passcode.is-compliant | Booléen | true, false |
device.is-supervised | Booléen | true, false |
Opérateurs pris en charge
| Opérateur | Signification | Exemple |
|---|---|---|
== | Est égal à | @status(device.model.family) == 'iPhone' |
!= | N’est pas égal à | @status(device.model.family) != 'Mac' |
IN {…} | Correspond à n’importe quelle valeur de la liste | @status(device.model.family) IN {'iPhone', 'iPad'} |
< > <= >= | Comparaison numérique/de version | @status(device.operating-system.version) >= '17.0' |
Opérateurs logiques pour combiner des conditions
| Mot-clé | Signification | Exemple |
|---|---|---|
AND | Les deux conditions doivent être vérifiées | @status(device.model.family) == 'iPhone' AND @status(passcode.is-compliant) == true |
OR | L’une ou l’autre condition peut être vérifiée | @status(device.model.family) == 'iPhone' OR @status(device.model.family) == 'iPad' |
NOT | La condition doit être non satisfaite | NOT @status(device.model.family) == 'Mac' |
Exemples de conditions d’éléments de statut
| Scénario | Expression de condition |
|---|---|
| Appareils iPhone uniquement | @status(device.model.family) == 'iPhone' |
| Appareils iPhone ou iPad | @status(device.model.family) IN {'iPhone', 'iPad'} |
| Appareils iPhone supervisés avec un code conforme | @status(device.model.family) == 'iPhone' AND @status(device.is-supervised) == true AND @status(passcode.is-compliant) == true |
| iOS 17 ou version ultérieure | @status(device.operating-system.version) >= '17.0' |
| Tout sauf les ordinateurs Mac | @status(device.model.family) != 'Mac' |
Erreurs fréquentes à éviter
| Erreur | Incorrect | Correct |
|---|---|---|
| Un seul signe égal au lieu de deux | @status(device.model.family) = 'iPhone' | @status(device.model.family) == 'iPhone' |
| Guillemets simples manquants autour des valeurs de chaîne | @status(device.model.family) == iPhone | @status(device.model.family) == 'iPhone' |
| Majuscules incorrectes dans les valeurs de chaîne | @status(device.model.family) == 'iphone' | @status(device.model.family) == 'iPhone' |
| Chaîne OR au lieu de IN pour plusieurs valeurs | ... == 'iPhone' OR ... == 'iPad' | ... IN {'iPhone', 'iPad'} |
| Guillemets autour des valeurs booléennes | @status(passcode.is-compliant) == 'true' | @status(passcode.is-compliant) == true |
Propriétés Jamf
Utilisez @property(jamf.device.groups) afin de cibler des appareils en fonction de leur appartenance à un groupe d’appareils. Les groupes d’appareils sont définis dans Jamf et ne sont pas des éléments de statut de la gestion déclarative des appareils Apple. Vous ne pouvez pas utiliser @property(jamf.device.groups) avec @status(jamf.device.groups).
| Opérateur | Signification | Exemple |
|---|---|---|
ANY … IN {…} | L’appareil appartient à au moins l’un des groupes répertoriés | ANY @property(jamf.device.groups) IN {'groupA', 'groupB'} |
NONE … IN {…} | L’appareil n’appartient à aucun des groupes répertoriés | NONE @property(jamf.device.groups) IN {'groupA', 'groupB'} |