Een voorwaarde-uitdrukking is de syntaxis die je gebruikt om te bepalen wanneer de configuraties van een blauwdruk worden geactiveerd. Bij elke voorwaarde-uitdrukking worden apparaatkenmerken of door Jamf gedefinieerde eigenschappen geëvalueerd om te bepalen of een configuratie op het apparaat wordt geactiveerd. Als aan de voorwaarde wordt voldaan, wordt de configuratie geactiveerd. Als niet aan de voorwaarde wordt voldaan, blijft de configuratie inactief voor dat apparaat. Je kunt meerdere uitdrukkingen met behulp van logische operatoren combineren om complexere voorwaarden te definiëren.
Opbouw van voorwaarden voor statusitems
@property(jamf.device.groups).| Element | Syntaxis | Opmerkingen |
|---|---|---|
| Statusitem | @status(item.name) | Een gegeven dat het apparaat over zichzelf doorgeeft. Wordt altijd opgegeven als @status(item.name). |
| Tekenreekswaarde | 'iPhone' | Moet tussen enkele aanhalingstekens staan. |
| Booleaanse waarde | true / false | Geen aanhalingstekens. Alleen kleine letters. |
| Geen voorwaarde | (laat leeg) | Blauwdruk wordt op alle apparaten in het bereik geactiveerd. |
@status(device.model.family) == 'iPhone'Veelgebruikte statusitems
Statusitems zijn de apparaatgegevens die in voorwaarde-expressies kunnen worden gebruikt. Zie de repository apple/device-management/declarative/status op GitHub voor de volledige lijst.
| Statusitem | Type | Voorbeeldwaarden |
|---|---|---|
device.model.family | Tekenreeks | iPhone, iPad, Mac, AppleTV |
device.model.identifier | Tekenreeks | iPhone15,2 |
device.operating-system.version | Tekenreeks | 17.4.1 |
device.identifier | Tekenreeks | Apparaat-UDID |
passcode.is-compliant | Booleaanse operator | true, false |
device.is-supervised | Booleaanse operator | true, false |
Ondersteunde operatoren
| Operator | Betekenis | Voorbeeld |
|---|---|---|
== | Is gelijk aan | @status(device.model.family) == 'iPhone' |
!= | Is niet gelijk aan | @status(device.model.family) != 'Mac' |
IN {…} | Komt overeen met een waarde in de lijst | @status(device.model.family) IN {'iPhone', 'iPad'} |
< > <= >= | Numerieke/ versievergelijking | @status(device.operating-system.version) >= '17.0' |
Logische operatoren voor het combineren van voorwaarden
| Sleutelwoord | Betekenis | Voorbeeld |
|---|---|---|
AND | Er moet aan beide voorwaarden worden voldaan | @status(device.model.family) == 'iPhone' AND @status(passcode.is-compliant) == true |
OR | Er kan aan een van beide of beide voorwaarden worden voldaan | @status(device.model.family) == 'iPhone' OR @status(device.model.family) == 'iPad' |
NOT | Er wordt niet aan de voorwaarde voldaan | NOT @status(device.model.family) == 'Mac' |
Voorbeelden van voorwaarden voor statusitems
| Scenario | Voorwaarde-expressie |
|---|---|
| Alleen iPhone-apparaten | @status(device.model.family) == 'iPhone' |
| iPhone- of iPad-apparaten | @status(device.model.family) IN {'iPhone', 'iPad'} |
| Onder toezicht staande iPhone-apparaten met regelconforme toegangscode | @status(device.model.family) == 'iPhone' AND @status(device.is-supervised) == true AND @status(passcode.is-compliant) == true |
| iOS 17 of nieuwer | @status(device.operating-system.version) >= '17.0' |
| Alles behalve Mac-computers | @status(device.model.family) != 'Mac' |
Veelgemaakte fouten
| Fout | Onjuist | Juist |
|---|---|---|
| Enkel isgelijkteken in plaats van dubbel isgelijkteken | @status(device.model.family) = 'iPhone' | @status(device.model.family) == 'iPhone' |
| Ontbrekende enkele aanhalingstekens rond tekenreekswaarden | @status(device.model.family) == iPhone | @status(device.model.family) == 'iPhone' |
| Onjuist gebruik van hoofdletters in tekenreekswaarden | @status(device.model.family) == 'iphone' | @status(device.model.family) == 'iPhone' |
| OF-keten in plaats van IN voor meerdere waarden | ... == 'iPhone' OR ... == 'iPad' | ... IN {'iPhone', 'iPad'} |
| Aanhalingstekens rond booleaanse waarden | @status(passcode.is-compliant) == 'true' | @status(passcode.is-compliant) == true |
Jamf-eigenschappen
Gebruik @property(jamf.device.groups) om apparaten te selecteren op basis van de apparaatgroep waartoe ze behoren. Apparaatgroepen worden in Jamf gedefinieerd en zijn geen statusitems voor declaratief apparaatbeheer van Apple. Je kunt @property(jamf.device.groups) niet samen met @status(jamf.device.groups) gebruiken.
| Operator | Betekenis | Voorbeeld |
|---|---|---|
ANY … IN {…} | Apparaat behoort tot minimaal één van de vermelde groepen | ANY @property(jamf.device.groups) IN {'groupA', 'groupB'} |
NONE … IN {…} | Apparaat behoort tot geen van de vermelde groepen | NONE @property(jamf.device.groups) IN {'groupA', 'groupB'} |