
Brug enhedsadministration til at implementere softwareopdateringer på Apple-enheder
Deklarationsbaseret enhedsadministration er fremtiden for administration af Apple-enheder. Det betyder, at en enhed asynkront kan anvende indstillinger og rapportere status tilbage til tjenesten til enhedsadministration uden konstante forespørgsler. Det er ideelt for ydeevnen og skalerbarheden og åbner også for en moderne tilgang til administration af softwareopdateringer. Deklarationsbaseret enhedsadministration kan give proaktiv statusrapportering fra enheder, når værdier og konfigurationer ændres. På den måde har en tjeneste til enhedsadministration altid en opdateret oversigt over enhederne uden at skulle sende forespørgsler regelmæssigt.
I stedet for, at en tjeneste til enhedsadministration sender en kommando til en enhed for at starte en softwareopdatering, definerer tjenesten den ønskede status for operativsystemversionen og delegerer så opgaven, der skal udføres for at opnå denne status, til selve enheden. Det giver en mere robust administreret proces til softwareopdatering og større gennemsigtighed for brugerne.
Vigtigheden af at anvende deklarationer til softwareopdateringer
Tjenester til enhedsadministration skal gøre brug af deklarationer til softwareopdateringer i videst muligt omfang. De ældre profiler og kommandoer til softwareopdatering er dog stadig tilgængelige og understøttede. 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 der findes en ventende softwareopdatering, som operativsystemet konfigurerer via deklarationsbaseret enhedsadministration, kan klienten ikke længere behandle visse kommandoer til enhedsadministration. Klienten returnerer derfor fejl, som viser, at der er en aktiv deklaration på enheden som vist i tabellen herunder:
Kommando til enhedsadministration | 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 tjeneste til enhedsadministration at sende forespørgsler om versioner, så snart Apple udgiver dem, 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 tjenester til enhedsadministration 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 nyere end enhedens aktuelle operativsystemversion og bør anvendes på en bestemt enhed. Sørg derefter for, at administratoren af tjenesten til enhedsadministration får denne liste med versioner som mulige kandidater til opdatering af operativsystemet.
Afsendelse af en statusrapport til tjeneste til enhedsadministration
For at modtage opdateringer til statuselementer, når de bliver ændret, skal serveren abonnere på hver enkelt statusrapport ved at sende en ManagementStatusSubscriptions
-deklaration til enheden. Enheden sender derefter en StatusReport
til tjenesten til enhedsadministration, når en ManagementStatusSubscriptions
-deklaration bliver aktiv, hvis status for et abonnementselement ændres samt hver 24. time.
Det kan være en god idé at få tjenesten til enhedsadministration til at abonnere på følgende statusrapporter med henblik på at overvåge operativsystemversionerne og status for softwareopdatering:
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. |
Ud over de andre rapporter kan det også være en god idé at gøre softwareupdate.install-reason
tilgængelig for administratorer via tjenesten til enhedsadministration, både med henblik på support og for at give nærmere indblik i, hvordan en opdatering finder sted. Du kan bruge denne ordbog til at fastslå, om brugeren starter opdateringen, om opdateringen sker automatisk, eller om den startes af en deklaration til gennemtvingelse af softwareopdatering.
Anmodning om en bestemt minimumversion af softwaren under tilmelding
Hvis en enhed understøtter denne funktion, returnerer den en MDM_CAN_REQUEST_SOFTWARE_UPDATE
-nøgle, der er indstillet til True, i dataene til MachineInfo
, som den sender i den første HTTP POST
-anmodning til tjenesten til enhedsadministration, 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 tjenesten til enhedsadministration beslutte, om enheden skal tvinges til at opdatere.
Hvis en tjeneste til enhedsadministration vælger ikke at gennemtvinge en softwareopdatering, returnerer den ganske enkelt tilmeldingsprofilen som svar på
HTTP POST
-anmodningen, ligesom den gør for at tillade, at tilmeldingen fortsætter.Hvis tjenesten til enhedsadministration 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 påHTTP Content-Type
-svaret skal være indstillet til henholdsvisapplication/json
ellerapplication/xml
).
Når enheden har modtaget dette fejlsvar, vil den forsøge at opdatere til den angivne version. Hvis opdateringen lykkes, genstarter enheden, og brugeren skal så gå igennem Indstillingsassistent igen. Den næste MachineInfoPOST
-anmodning fra enheden til tjenesten til enhedsadministration viser den opdaterede operativsystemversion, og tjenesten kan derefter fortsætte med tilmeldingen. Hvis opdateringen mislykkes, vises der en fejlmeddelelse til brugeren, og vinduet Ekstern administration vises igen i Indstillingsassistent.
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 du kun angiver OSVersion
, 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 en tjeneste til enhedsadministration også vælge at angive BuildVersion
. For f.eks. at kræve, at en enhed har iOS 16.5.1(a) installeret inden tilmelding – selvom iOS 16.5.1(c) allerede er tilgængelig – skal tjenesten til enhedsadministration 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.
Indstillinger til enhedsadministration til softwareopdateringer
Deklarationen com.apple.configuration.softwareupdate.settings
(tilgængelig i iOS 18, iPadOS 18, macOS 15, tvOS 18.4 og nyere versioner) består af ordbøger, der kan bruges til at konfigurere forskellige aspekter af virkemåden for en softwareopdatering.
Når en tjeneste til enhedsadministration har distribueret forskellige nøgler på tværs af flere deklarationer, kombinerer enheden indstillingerne for alle aktive deklarationer til indstillinger til softwareopdatering. Hvis flere deklarationer konfigurerer den samme nøgle, vil virkemåden ved kombination afhænge af den enkelte nøgle. Dette er beskrevet nærmere i tabellerne nedenfor.
Konfiguration af automatiske softwareopdateringer med enhedsadministration
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 en tjeneste til enhedsadministration 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 en tjeneste til enhedsadministration 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 enheden ikke 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 en tjeneste til enhedsadministration 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 enhedsadministration
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 antallet af dage, før en organisation tilbyder en version til brugerne, efter at den bliver offentligt tilgængelig. Uafhængigt af en konfigureret udsættelse kan en tjeneste til enhedsadministration 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 enhedsadministration
Tjenester til enhedsadministration kan anvende deklarationen com.apple.configuration.softwareupdate.enforcement.specific
til at gennemtvinge en softwareopdatering på et bestemt tidspunkt på enheder, der tilmeldes vha. enhedstilmelding eller automatisk enhedstilmelding.
Hvis en konfiguration anvendes på en enhed, der angiver et operativsystem eller en build-version, som er den samme som eller ældre end den aktuelle version på enheden, returnerer enheden en fejl i statusrapporten.
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. Som led i denne proces ignorerer enheden eventuelle eksisterende konfigurationer, der angiver en version, som er ældre end eller den samme som den aktuelle version.
Operativsystemet installerer automatisk eventuelle hurtige sikkerhedsopdateringer, der er tilgængelige, hvis en tjeneste til enhedsadministration kun definerer TargetOSVersion
. Når den skal finde frem til en bestemt udgivelse eller hurtig sikkerhedsopdatering, kan en tjeneste til enhedsadministration 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.
Når en gennemtvunget softwareopdatering skal godkendes på en Mac-computer med Apple Silicon, som er under tilsyn, kan en tjeneste til enhedsadministration anmode om et Bootstrap Token og deponere det. Det giver et fuldstændigt problemfrit softwareopdateringsforløb og betyder, at brugeren ikke behøver at gøre noget under processen. Når det er nødvendigt, bruger enheden en GetBootstrapTokenRequest
til at hente et Bootstrap Token fra tjenesten til enhedsadministration.
Under det første trin finder tjenesten til enhedsadministration ud af, om enheden understøtter et Bootstrap Token, ved at bruge kommandoen SecurityInfo
. Hvis svaret indeholder en BootstrapTokenRequiredForSoftwareUpdate
, som er indstillet til true
, kan enheden bruge et Bootstrap Token til at godkende en softwareopdatering.
Tjenesten til enhedsadministration skal føje com.apple.mdm.bootstraptoken
til ServerCapabilities
-arrayet i profilen til enhedsadministration for at oprette et Bootstrap Token. Du kan få flere oplysninger i Device Management Profile 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. Derefter kontakter den indtjekningsslutpunktet for tjenesten til enhedsadministration 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.