
Brug MDM til at implementere softwareopdateringer af Apple-enheder
Deklarationsbaseret enhedsadministration er fremtiden for enhedstilmelding med Apple. Det betyder, at enheden asynkront kan anvende indstillinger og rapportere status tilbage til løsningen til administration af mobile enheder (MDM) uden konstant polling. Det er ideelt for ydeevnen og skalerbarheden og giver også adgang til en moderne tilgang til administration af softwareopdateringer. Deklarationsbaseret enhedsadministration sikrer proaktiv statusrapportering fra enhederne, når værdier og konfigurationer bliver ændret. På den måde har en MDM-løsning altid en opdateret oversigt over enhederne uden at skulle sende forespørgsler regelmæssigt.
I stedet for at sende en softwareopdateringskommando til enheden for at igangsætte opdateringen definerer MDM-løsningen den ønskede status for styresystemversionen og delegerer så opgaven, der skal udføres for at opnå denne status, til selve enheden. Det sikrer en mere robust administreret proces til softwareopdatering og en forbedret brugergennemsigtighed.
Vigtigheden af at anvende deklarationer til softwareopdateringer
MDM-løsninger bør gøre brug af deklarationer til softwareopdateringer, når det er muligt. De ældre profiler og kommandoer til softwareopdatering er dog stadig tilgængelige og understøttet. De kan fungere sammen med deklarationer til softwareopdateringer med følgende undtagelser:
Udsættelser defineret af en deklaration har forrang frem for udsættelser konfigureret af en begrænsning.
Indstillinger til automatiske softwareopdateringer i macOS, som er anvendt af en deklaration, har forrang frem for indstillinger til automatiske softwareopdateringer, som er angivet i en konfigurationsprofil.
Når en ventende softwareopdatering er konfigureret via deklarationsbaseret enhedsadministration, behandles visse MDM-kommandoer ikke længere af klienten, hvilket resulterer i fejlmeldinger om en aktiv deklaration på enheden, som vist i tabellen herunder:
MDM-kommando | Resultat | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Begrænset: På Mac-computere vises operativsystembaserede opdateringer, der ikke er under administration, muligvis i kommandosvaret – f.eks. i Xcode eller kommandolinjeværktøjer. | ||||||||||
| Enheden returnerer en | ||||||||||
| Enheden returnerer et tomt status-array. |
Brug af Apple Software Lookup Service
Apple Software Lookup Service (tilgængelig på https://gdmf.apple.com/v2/pmv) er den officielle kilde til en liste over offentligt tilgængelige opdateringer, opgraderinger og hurtige sikkerhedsopdateringer. Den gør det muligt for en MDM-løsning at sende forespørgsler om versioner, så snart de udgives, og beregne rettidigt og præcist, hvornår de bør anvendes på hver hardwaremodel.
JSON-svaret indeholder tre lister med tilgængelige softwareversioner:
PublicAssetSets: Denne liste indeholder de nyeste versioner, der er tilgængelige for almindelige brugere, hvis de forsøger at opdatere eller opgradere.
AssetSets: Denne liste er et udsnit af PublicAssetSets og indeholder alle tilgængelige versioner, som MDM-løsninger kan overføre til enheder.
PublicRapidSecurityResponses: Denne liste indeholder hurtige sikkerhedsopdateringer, der findes til Apple-enheder i øjeblikket.
Hvert element på listen indeholder produktversions
-nummeret og operativsystemets build
, udgiveksesdatoen
, udløbsdatoen
samt en liste over understøttede enheder
for den pågældende version. Listen over enheder matcher ProductName
-værdien fra enheden, som returneres i et DeviceInformation
-svar, i den oprindelige Authenticate
-anmodning eller i MachineInfo
, når enheden forsøger at tilmelde sig.
Udløbsdatoen, som typisk er indstillet til 180 dage efter udgivelsesdatoen, er den dato, hvor signeringen af opdateringen udløber. En udløbet opdatering kan ikke længere installeres på enheder. Når nye opdateringer bliver tilgængelige, bliver de tidligere opdateringers udløbsdato muligvis opdateret. Hvis der ikke er angivet en udløbsdato, er opdateringen ikke udløbet endnu. En opdatering er kun udløbet, hvis der er angivet en udløbsdato i fortiden.
Ressourcerne grupperes efter operativsystemplatform vha. følgende betegnelser:
iOS
(som omfatter iPadOS, tvOS og watchOS)macOS
visionOS
{
"AssetSets": {
"iOS": [
{
"ProductVersion": "18.2.1",
"Build": "22C6161",
"PostingDate": "2025-01-06",
"ExpirationDate": "2025-04-17",
"SupportedDevices": ["iPad11,1", "iPad11,2", "iPad11,3", "iPad11,4", "iPad11,6", "iPad11,7", "iPad12,1", "iPad12,2", "iPad13,1", "iPad13,10", "iPad13,11", "iPad13,16", "iPad13,17", "iPad13,18", "iPad13,19", "iPad13,2", "iPad13,4", "iPad13,5", "iPad13,6", "iPad13,7", "iPad13,8", "iPad13,9", "iPad14,1", "iPad14,10", "iPad14,11", "iPad14,2", "iPad14,3", "iPad14,4", "iPad14,5", "iPad14,6", "iPad14,8", "iPad14,9", "iPad16,1", "iPad16,2", "iPad16,3", "iPad16,4", "iPad16,5", "iPad16,6", "iPad7,11", "iPad7,12", "iPad8,1", "iPad8,10", "iPad8,11", "iPad8,12", "iPad8,2", "iPad8,3", "iPad8,4", "iPad8,5", "iPad8,6", "iPad8,7", "iPad8,8", "iPad8,9", "iPhone11,2", "iPhone11,4", "iPhone11,6", "iPhone11,8", "iPhone12,1", "iPhone12,3", "iPhone12,5", "iPhone12,8", "iPhone13,1", "iPhone13,2", "iPhone13,3", "iPhone13,4", "iPhone14,2", "iPhone14,3", "iPhone14,4", "iPhone14,5", "iPhone14,6", "iPhone14,7", "iPhone14,8", "iPhone15,2", "iPhone15,3", "iPhone15,4", "iPhone15,5", "iPhone16,1", "iPhone16,2", "iPhone17,1", "iPhone17,2", "iPhone17,3", "iPhone17,4"
]
},
Brug listen over produktversioner til at afgøre, hvilke versioner der er større end enhedens aktuelle operativsystemversion og bør anvendes på en bestemt enhed. Giv listen over versioner til MDM-administratoren som potentielle kandidater til opdatering af operativsystemet.
Afsendelse af en statusrapport til MDM-løsningen
For at modtage opdateringer om statuselementer, når de bliver ændret, skal serveren tilmeldes hver enkelt statusrapport ved at sende en ManagementStatusSubscriptions
-deklaration til enheden. Enheden sender herefter en StatusReport
til MDM-løsningen, når en ManagementStatusSubscriptions
-deklaration bliver aktiv, hvis status for et tilmeldt element ændres, og hvert døgn.
Det kan være en god idé at tilmelde MDM-løsningen de følgende statusrapporter med henblik på at overvåge operativsystemversionerne og softwareopdateringsstatus:
Statusrapport | Beskrivelse |
---|---|
| Operativsystemets build-version på enheden (f.eks. 21E219). |
| Operativsystemets version, der er i brug på enheden (f.eks. 17.4). |
| Operativsystemets build-version og version af Hurtige sikkerhedsopdateringer, der er i brug på enheden (f.eks. 20A123a eller 20F75c). |
| Operativsystemets version af Hurtige sikkerhedsopdateringer, der er i brug på enheden (f.eks. a). |
| En ordbog, der indeholder build- og operativsystemversionerne af den softwareopdatering, der venter på enheden. |
| Status for installation af softwareopdatering, som kan have følgende værdier:
|
| En ordbog med oplysninger om grunden til, at en softwareopdatering venter. Nøglen
|
| Oplysninger om en fejl ved softwareopdatering. Oplysningerne omfatter antallet af fejlagtige forsøg på softwareopdatering, tidsstemplet for sidste fejl og fejlårsagen. |
| Enhedens navn i det tilmeldte betaprogram eller en tom streng, hvis den ikke er tilmeldt et betaprogram. |
I tillæg til de andre rapporter kan det også være en god idé at gøre softwareupdate.install-reason
tilgængelig for administratorer via MDM-løsningen med henblik på support og for at give nærmere indblik i, hvordan en opdatering blev udløst. Ordbogen kan bruges til at bestemme, om brugeren selv har sat opdateringen i gang, om opdateringen skete automatisk, eller om den blev tvunget igennem af en deklaration til gennemtvingelse af softwareopdatering.
Anmodning om en bestemt minimumsversion af softwaren under MDM-tilmelding
Hvis en enhed understøtter denne funktionalitet, returnerer den en MDM_CAN_REQUEST_SOFTWARE_UPDATE-nøgle, der er indstillet til Sand, i dataene til MachineInfo
, som den sender i den første HTTP POST-anmodning til MDM-løsningen, når enheden registrerer en administrationskonfiguration i Indstillingsassistent. Du kan få flere oplysninger i MachineInfo yaml file i Apple device management GitHub repository.
Derudover leverer enhederne følgende felter i datene til MachineInfo
(alle strenge):
Nøgle | Min. understøttede operativsystemversioner | Beskrivelse | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VERSION | iOS 17 iPadOS 17 macOS 14 | Build-versionen, der er installeret på enheden (f.eks. 7A182). | |||||||||
OS_VERSION | iOS 17 iPadOS 17 macOS 14 | Operativsystemversionen, der er installeret på enheden (f.eks. 17.0). | |||||||||
SUPPLEMENTAL_BUILD_VERSION | iOS 17 iPadOS 17 macOS 14 | Enhedens version af hurtige sikkerhedsopdateringer (hvis der er en tilgængelig). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | Enhedens ekstraversion af hurtige sikkerhedsopdateringer (hvis der er en tilgængelig). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | Enhedens model-id, som bruges til at søge efter tilgængelige opdateringer til operativsystemet i Apple Software Lookup Service. |
Baseret på de leverede oplysninger kan MDM-løsningen beslutte, om enheden skal tvinges til at opdatere.
Hvis MDM-løsningen vælger ikke at gennemtvinge en softwareopdatering, returnerer den blot MDM-tilmeldingsprofilen som svar på HTTP POST-anmodningen, ligesom den normalt ville gøre for at tillade en MDM-tilmelding at fortsætte.
Hvis MDM-løsningen vælger at gennemtvinge en softwareopdatering, skal den returnere et HTTP-svar med statuskoden 403 og inkludere et JSON- eller XML-objekt i brødteksten i svaret (overskriften i HTTP Content-Type-svaret skal indstilles til henholdsvis
application/json
ellerapplication/xml
).
Når enheden har modtaget dette fejlsvar, vil den forsøge at opdatere til den angivne version. Hvis opdateringen lykkes, vil enheden genstarte, og brugeren skal gå igennem Indstillingsassistent igen. I den næste MachineInfo
POST-anmodning fra enheden til MDM-løsningen vises den opdaterede operativsystemversion, og MDM-løsningen kan herefter fortsætte med MDM-tilmeldingen. Hvis opdateringen mislykkes, vises der en fejlmeddelelse, og vinduet Ekstern administration i Indstillingsassistent vises igen.
Svarskemaet
er defineret i tabellen herunder.
Nøgle | Type | Obligatorisk | Beskrivelse | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Streng | Ja | Skal være indstillet til | ||||||||
| Streng | Nej | Beskrivelsen af fejlen. Bruges kun med henblik på logning. | ||||||||
| Streng | Nej | Beskrivelsen af fejlen i et format, der er egnet til at blive vist til brugeren. | ||||||||
| Ordbog | Ja | Yderligere data med nærmere angivelse af softwareopdateringen. |
Oplysninger
om ordbogsskemaet er defineret her.
Nøgle | Type | Obligatorisk | Beskrivelse | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Streng | Ja | Den version af operativsystemet, som enheden skal opdateres til. | ||||||||
| Streng | Nej | Den build-version, som enheden skal opdateres til. | ||||||||
| Ordbog | Nej | Enheden tilmeldes i betaprogrammet og tillader tvungne softwareopdateringer til operativsystemversionerne i betaprogrammet. Enheden forbliver i betaprogrammet, efter at den tvungne softwareopdatering er installeret. |
Hvis kun OSVersion
er angivet, henter og installerer enheden automatisk eventuelle hurtige sikkerhedsopdateringer, der er tilgængelige til denne version. Hvis der kræves et bestemt build eller en bestemt supplerende version, kan MDM-løsningen også vælge at angive denneBuildVersion
. For at kræve, at enheden f.eks. har iOS 16.5.1(a) installeret inden tilmelding – selvom iOS 16.5.1(c) allerede er tilgængelig – skal MDM-løsningen indstille OSVersion
til iOS 16.5.1 og BuildVersion
til 20F770750b.
Vigtigt: Før macOS 15 kan der kun angives udgivelser fra listerne med PublicAssetSets
og PublicRapidSecurityResponses
. I macOS 15 kan ressourcer fra AssetSets
også bruges.
MDM-indstillinger til softwareopdateringer
Deklarationen com.apple.configuration.softwareupdate.settings
(tilgængelig i iOS 18, iPadOS 18 og macOS 15) består af ordbøger, der kan bruges til at konfigurere forskellige aspekter af virkemåden for en softwareopdatering.
Når en MDM-løsning har distribueret forskellige nøgler på tværs af flere deklarationer, kombinerer enheden indstillingerne for alle aktive deklarationer til softwareopdateringsindstillinger. Hvis den samme nøgle konfigureres af flere deklarationer, afhænger virkemåden ved kombination af den enkelte nøgle. Dette er beskrevet nærmere i tabellerne herunder.
Konfiguration af automatiske softwareopdateringer med MDM
Deklarationen com.apple.configuration.softwareupdate.settings
tilbyder en ordbog til definition af virkemåden for automatiske softwareopdateringer på iPhone-, iPad- og Apple TV- og Mac-enheder, der er under tilsyn. Du kan få flere oplysninger i AutomaticActions-ordbogsnøgler.
Sådan håndterer MDM hurtige sikkerhedsopdateringer
Hurtige sikkerhedsopdateringer anvendes altid på den seneste opdatering af et operativsystem, som så bliver til basisversionen af den hurtige sikkerhedsopdatering. Hvis f.eks. en iPhone har operativsystemversionen iOS 17.2 installeret, vil den anvende den supplerende opdatering 17.2 (a), hvis sådan en er tilgængelig. I iOS 18, iPadOS 18 og macOS 15 er kombinerede opdateringer blevet gjort tilgængelige. Det giver en softwareopdatering mulighed for at inkludere eventuelle hurtige sikkerhedsopdateringer, der er tilgængelige.
I versioner før iOS 18, iPadOS 18 og macOS 15 skal MDM-løsningen muligvis udløse to softwareopdateringer for at sikre, at der findes en bestemt supplerende version: Først skal den opdatere enheden til basisversionen af den supplerende opdatering, hvis ikke enheden allerede bruger basisversionen, f.eks. iOS 17.1 til iOS 17.2. Derefter skal den opdatere basisversionen til den supplerende version, f.eks. iOS 17.2 til iOS 17.2 (a).
I iOS 18, iPadOS 18 og macOS 15 kan MDM-løsningen enten angive:
Operativsystemversionen (som automatisk installerer hurtige sikkerhedsopdateringer, der er tilgængelige)
Den supplerende build-version (som får enheden til automatisk at udføre en nødvendig opdatering af basisversionen som led i processen)
Disse to tilgange gælder for konfigurationen til gennemtvingelse af softwareupdatering og for den gennemtvungne minimumversion under automatisk enhedstilmelding.
Deklarationen com.apple.configuration.softwareupdate.settings
kan også bruges til at konfigurere virkemåden for hurtige sikkerhedsopdateringer på iPhone-, iPad- og Mac-enheder, der er under tilsyn. Du kan få flere oplysninger i RapidSecurityResponse-ordbogsnøgler til iOS, iPadOS og macOS.
Udsættelse af en softwareopdatering med MDM
En softwareopdatering eller -opgradering kan udsættes fra 1 til 90 dage med deklarationen com.apple.configuration.softwareupdate.settings
på iPhone-, iPad- og Mac-enheder, der er under tilsyn.
En konfigureret udsættelse definerer, i hvor mange dage en udgivelse ikke skal tilbydes brugerne, efter at den blev offentligt tilgængelig. Uafhængigt af en konfigureret udsættelse kan MDM-løsningen stadig gennemtvinge en bestemt softwareopdatering eller -opgradering eller hurtig sikkerhedsopdatering på administrerede enheder. Du kan få flere oplysninger i Deferrals-ordbogsnøgler til iOS, iPadOS og tvOS og Deferrals-ordbogsnøgler til macOS.
Bemærk: Udsættelse af softwareopdateringer udsætter også eventuelle hurtige sikkerhedsopdateringer, som afhænger af den version.
Gennemtvingelse af softwareopdateringer med MDM
MDM-løsninger kan anvende deklarationen com.apple.configuration.softwareupdate.enforcement.specific
til at gennemtvinge en softwareopdatering på et bestemt tidspunkt på enheder, der er tilmeldt via enhedstilmelding eller automatisk enhedstilmelding.
Hvis en konfiguration angiver et operativsystem eller en build-version, som er den samme som eller ældre end den aktuelle enhedsversion, vil konfigurationen blive ignoreret.
Hvis der er flere konfigurationer med et nyere operativsystem eller en nyere build-version end den aktuelle enhedsversion, behandles den konfiguration med tidligst måldato og -tidspunkt først, og eventuelle andre bliver i køen. Når enheden opdaterer til en ny version, bliver sættet af konfigurationer behandlet igen for at bestemme, hvilken konfiguration der skal behandles som den næste.
Eventuelle hurtige sikkerhedsopdateringer, der er tilgængelige, installeres automatisk, hvis MDM-løsningen kun definerer TargetOSVersion
. For at finde frem til en bestemt udgivelse eller hurtig sikkerhedsopdatering kan MDM-løsningen bruge nøglen TargetBuildVersion
ud over at angive build-versionen, herunder det supplerende versions-id.
Du kan få flere oplysninger i Ordbogsnøgler til at gennemtvinge softwareopdateringer.
Notifikationer
Nøglen Notifications ændrer en notifikations standardvirkemåde til kun at vise en notifikation 1 time før gennemtvingelsestidspunktet og nedtællingen til genstart. Du kan få flere oplysninger i Nøglen Notifications.
Brug af Bootstrap Token på Mac-computere med Apple Silicon.
For at godkende og gennemtvinge en softwareopdatering på en Mac-computer med Apple Silicon, som er under tilsyn, kan MDM-løsningen anmode om et Bootstrap Token og deponere det. Det sikrer et fuldstændigt problemfrit softwareopdateringsforløb og gør det unødvendigt for brugeren at interagere under processen. Når det er nødvendigt, bruger enheden en GetBootstrapTokenRequest
til at hente et Bootstrap Token fra MDM-løsningen.
Under det første trin bestemmer MDM-løsningen, om enheden understøtter et Bootstrap Token, ved at bruge kommandoen SecurityInfo
. Hvis svaret indeholder en BootstrapTokenRequiredForSoftwareUpdate
, som er indstillet til sand, kan enheden ikke bruge et Bootstrap Token til at godkende softwareopdateringen.
For at få et Bootstrap Token oprettet skal MDM-løsningen føje com.apple.mdm.bootstraptoken
tilServerCapabilities
-arrayet i MDM-profilen. Du kan få flere oplysninger i MDM payload på Apple Developer-webstedet.
Når enheden har modtaget dette Bootstrap Token, opretter den et Bootstrap Token, næste gang en bruger med sikkert token slået til logger ind. Den kontakter derefter MDM-løsningens indtjekningsslutpunkt og deponerer dette token vha. en SetBootstrapTokenRequest
. Du kan få flere oplysninger i Set Bootstrap Token på Apple Developer-webstedet.
Du kan se den mest aktuelle skemaspecifikation i Apple device management GitHub repository.