
Bruk enhetsadministrering til å rulle ut programvareoppdateringer til Apple-enheter
Deklarativ enhetsadministrering er fremtiden for Apple-enhetsadministrering. Det tillater at enheten legger til innstillinger asynkront og rapporterer status tilbake til tjenesten for enhetsadministrering uten konstant spørring. Dette er optimalt for ytelse og skalerbarhet, og det gir også en avansert tilnærming for å administrere programvareoppdateringer. Deklarativ enhetsadministrering gir proaktiv statusrapportering fra enheter når verdier og konfigurasjoner endres. På denne måten har en tjeneste for enhetsadministrering alltid en oppdatert oversikt over enheter uten å måtte utføre regelmessige spørringer.
I stedet for å sende en kommando for oppdatering av programvare til en enhet for å starte en oppdatering, kan en tjeneste for enhetsadministrering deklarere ønsket tilstand for operativsystemversjon, og deretter delegere oppgaven for å oppnå den tilstanden, til enheten. Dette fører til mer robust administrasjon av programvareoppdateringsprosessen samt bedre klarhet for brukeren.
Viktigheten av å bruke deklarasjoner for programvareoppdatering
Tjenester for enhetsadministrering må bruke deklarasjoner for programvareoppdatering når det er mulig. Men de eldre kommandoene og profilene for programvareoppdatering er fortsatt tilgjengelige, og de støttes fortsatt. De kan brukes sammen med deklarasjoner for programvareoppdatering med følgende endringer:
Utsettelser som defineres av en deklarasjon, overstyrer utsettelser som er konfigurert av en restriksjon.
Innstillinger for automatisk programvareoppdatering på macOS som er angitt av en deklarasjon, overstyrer innstillinger for automatisk oppdatering som er angitt av en konfigurasjonsprofil.
Når det finnes en ventende programvareoppdatering som operativsystemet konfigurerer ved hjelp av deklarativ enhetsadministrasjon, kan ikke klienten lenger behandle enkelte kommandoer for enhetsadministrering, og den returnerer feil som indikerer at det finnes en aktiv deklarasjon på enheten, som vist i denne tabellen:
Kommando for enhetsadministrering | Resultat | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Limited: For Macer kan operativsystembaserte oppdateringer som ikke er administrert, vises i kommandosvaret, for eksempel i Xcode eller kommandolinjeverktøy. | ||||||||||
| Enheten returnerer en | ||||||||||
| Enheten returnerer en tom statusmatrise. |
Bruke Apples programvaresøketjeneste
Apple Software Lookup Service (tilgjengelig på https://gdmf.apple.com/v2/pmv) er den offisielle ressursen for å få en liste over offentlig tilgjengelige oppdateringer, oppgraderinger og kritiske sikkerhetsoppdateringer. Den lar en tjeneste for enhetsadministrering forespørre versjoner når Apple publiserer dem, og beregne om de kan brukes for hver maskinvaremodell, på en korrekt måte og innen rimelig tid.
JSON-svaret inneholder tre lister med tilgjengelige programvarelanseringer:
PublicAssetSets: Denne listen inneholder de nyeste versjonene som er tilgjengelig for vanlige brukere hvis de prøver å oppdatere eller oppgradere.
AssetSets: Denne listen er et delsett av
PublicAssetSets
, og den inneholder alle versjonene som er tilgjengelige for tjenester for enhetsadministrering som kan sende dem til enheter.PublicRapidSecurityResponses: Denne listen inneholder kritiske sikkerhetsoppdateringer som for tiden er tilgjengelig for Apple-enheter.
Hvert element i listen inneholder ProductVersion
-nummeret og Build
for operativsystemet, PostingDate
for når versjonen ble publisert, ExpirationDate
og en liste over SupportedDevices
for versjonen. Enhetslisten stemmer overens med ProductName
-verdien fra enheten, som returneres i et DeviceInformation
-svar, den første Authenticate
-forespørselen eller i MachineInfo
når enheten prøver å registrere seg.
Utløpsdatoen, som vanligvis settes til 180 dager etter publiseringsdatoen, definerer datoen som signeringen av oppdateringen utløper. En utløpt oppdatering kan ikke lenger installeres på enheter. Når etterfølgende oppdateringer blir tilgjengelig, kan utløpsdatoene for tidligere oppdateringer oppdateres. Hvis det ikke er oppgitt en utløpsdato, har ikke oppdateringen utløpt. En oppdatering utløper kun når den har en utløpsdato som har vært.
Ressursene grupperes etter operativsystemplattform ved hjelp av disse nøklene:
iOS
(som inkluderer 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"
]
},
Bruk produktversjonslisten for å fastslå hvilke versjoner som er nyere enn enhetens gjeldende operativsystemversjon, og som gjelder for en bestemt enhet. Oppgi deretter listen med versjoner til administratoren for tjenesten for enhetsadministrering som potensielle kandidater for oppdatering av operativsystemet.
Sende en statusrapport til tjenesten for enhetsadministrering
For å motta oppdateringer for statusobjekter når de endres må tjeneren abonnere på hver statusrapport ved å sende en ManagementStatusSubscriptions
-deklarasjon til enheten. Deretter sender enheten en StatusReport
til tjenesten for enhetsadministrering når en ManagementStatusSubscriptions
-deklarasjon blir aktiv, hvis statusen for et abonnert objekt endres samt hver 24. time.
For å overvåke operativsystemversjoner og status for programvareoppdatering kan tjenesten for enhetsadministrering abonnere på følgende statusrapporter:
Statusrapport | Description |
---|---|
| Operativsystemets byggversjon på enheten (for eksempel 21E219). |
| Operativsystemets versjon som er i bruk på enheten (for eksempel 17.4). |
| Operativsystemets bygg- og kritisk sikkerhetsoppdatering-versjoner som brukes på enheten, for eksempel (20A123a eller 20F75c). |
| Operativsystemets kritisk sikkerhetsoppdatering-versjon som brukes på enheten (for eksempel a). |
| En ordliste som inneholder bygg- og operativsystemversjonene for programvareoppdateringen som venter på enheten. |
| Installasjonsstatusen for programvareoppdatering, som har følgende verdier:
|
| En ordliste med informasjon om årsaken for en ventende programvareoppdatering.
|
| Informasjon om en mislykket programvareoppdatering. Informasjonen inkluderer hvor mange ganger programvareoppdateringen har mislyktes, tidspunktet den mislyktes sist, samt grunnen til at den mislyktes. |
| Enhetens registrerte betaprogramnavn, eller en tom streng hvis det ikke er et registrert betaprogram. |
In addition I tillegg til de andre rapportene kan tjenesten for enhetsadministrering også ville gjøre softwareupdate.install-reason
tilgjengelig for administratorer i forbindelse med støtte, og for å gi ytterligere informasjon om hvorfor en oppdatering oppstår. Du kan bruke denne ordlisten til å finne ut om en bruker starter oppdateringen, om oppdateringen skjer automatisk, eller om oppdateringen blir håndhevet av en håndhevingsdeklarasjon for programvareoppdatering.
Be om en bestemt minimumsversjon av programvaren under registrering
Hvis en enhet støtter denne muligheten, returnerer den en MDM_CAN_REQUEST_SOFTWARE_UPDATE
-nøkkel, som er satt til True, i MachineInfo
-dataene som den sender til den første HTTP POST
-forespørselen til tjenesten for enhetsadministrering når enheten registrerer en administreringskonfigurasjon i Oppsettassistent. Du finner mer informasjon i MachineInfo yaml-filen i GitHub-repository for Apple-enhetsadministrasjon.
I tillegg gir enheter følgende felt i MachineInfo
-dataene (alle strenger):
Nøkkel | Eldste støttede operativsystemversjoner | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VERSION | iOS 17 iPadOS 17 macOS 14 | Byggvesjonen som er installert på enheten (for eksempel 7A182). | |||||||||
OS_VERSION | iOS 17 iPadOS 17 macOS 14 | Operativsystemversjonen som er installert på enheten (for eksempel 17.0). | |||||||||
SUPPLEMENTAL_BUILD_VERSION | iOS 17 iPadOS 17 macOS 14 | Enhetens Kritisk sikkerhetsoppdatering-versjon (hvis det er tilgjengelig). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | Enhetens Kritisk sikkerhetsoppdatering-versjon ekstra (hvis det er tilgjengelig). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | Enhetsmodellidentifikatoren som brukes til å finne tilgjengelige operativsystemoppdateringer i Apples programvaresøketjeneste. |
Basert på informasjonen som oppgis, kan tjenesten for enhetsadministrering bestemme om det skal kreves at enheten oppdateres.
Hvis en tjeneste for enhetsadministrering velger å ikke håndheve en programvareoppdatering, returnerer den bare registreringsprofilen som svar på
HTTP POST
-forespørselen, slik den gjør for å tillate at registreringen gjennomføres.Hvis tjenesten for enhetsadministrering velger å håndheve en programvareoppdatering, må den returnere et
HTTP
-svar med statuskode 403 og inkludere et JSON- eller XML-objekt i teksten i svaret (meldingshodet iHTTP Content-Type
må være satt til henholdsvisapplication/json
ellerapplication/xml
).
Når dette feilsvaret er mottatt, forsøker enheten å oppdatere til den angitte versjonen. Hvis oppdateringen er vellykket, starter enheten på nytt, og brukeren må gå gjennom Oppsettassistent igjen. Den neste MachineInfo POST
-forespørselen fra enheten til tjenesten for enhetsadministrering viser den oppdaterte operativsystemversjonen, og deretter kan tjenesten fortsette med registreringen. Hvis oppdateringen ikke er vellykket, vises en feilmelding til brukeren, og Ekstern administrering-skjermen vises i Oppsettassistent igjen.
response
-oppsettet er definert i tabellen under.
Nøkkel | Type | Påkrevd | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Streng | Ja | Må være satt til | ||||||||
| Streng | Nei | Beskrivelsen av feilen. Brukes bare for loggføring. | ||||||||
| Streng | Nei | Beskrivelsen av feilen, som kan vises til brukeren. | ||||||||
| Ordbok | Ja | Ytterligere data som spesifiserer programvareoppdateringen. |
details
-ordbokoppsettet er definert her.
Nøkkel | Type | Påkrevd | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Streng | Ja | Operativsystemversjonen som enheten må oppdateres til. | ||||||||
| Streng | Nei | Byggversjonen som enheten må oppdateres til. | ||||||||
| Ordbok | Nei | Enheten registreres i betaprogrammet, slik at det kan håndheves programvareoppdateringer for betaversjoner av operativsystemet. Enheten forblir i betaprogrammet når den håndhevede programvareoppdateringen er fullført. |
Hvis du bare angir OSVersion
, vil enheten automatisk laste ned og installere eventuelle kritiske sikkerhetsoppdateringer som er tilgjengelig for denne versjonen. Hvis det trengs en konkret byggversjon eller en supplerende versjon, kan en tjeneste for enhetsadministrering også angi BuildVersion
. For å for eksempel kreve at en enhet har iOS 16.5.1(a) før registrering, selv om iOS 16.5.1(c) allerede er tilgjengelig, må en tjeneste for enhetsadministrering sette OSVersion
til iOS 16.5.1
og BuildVersion
til 20F770750b
.
Viktig: Før macOS 15 kan bare versjoner fra listene PublicAssetSets
og PublicRapidSecurityResponses
angis. I macOS 15 kan ressurser fra AssetSets
også brukes.
Innstillinger for enhetsadministrering for programvareoppdateringer
com.apple.configuration.softwareupdate.settings
-deklarasjonen (som er tilgjengelig i iOS 18, iPadOS 18, macOS 15 og tvOS 18.4 eller nyere) består av ordbøker som kan brukes til å konfigurere forskjellige deler av programvareoppdateringens oppførsel.
Når en tjeneste for enhetsadministrering har distribuert forskjellige nøkler på tvers av flere deklarasjoner, vil en enhet samle innstillingene for alle aktive deklarasjoner for innstillinger for programvareoppdatering. Hvis flere deklarasjoner konfigurerer den samme nøkkelen, vil sammenslåingen avhenge av de individuelle nøklene, som beskrevet i tabellene under.
Konfigurere automatiske programvareoppdateringer med enhetsadministrering
com.apple.configuration.softwareupdate.settings
-deklarasjonen har en ordbok for å definere oppførselen for automatisk programvareoppdatering for iPhone-, iPad-, Apple TV- og Mac-enheter som er under tilsyn. Du finner mer informasjon om dette under AutomaticActions-ordboknøkler.
Slik håndterer en tjeneste for enhetsadministrering kritiske sikkerhetsoppdateringer
Kritiske sikkerhetsoppdateringer gjelder alltid for den nyeste oppdateringen for operativsystemet, som blir grunnversjonen for den kritiske sikkerhetsoppdateringen. Hvis for eksempel en iPhone har operativsystemversjon iOS 17.2 installert, vil den installere den supplerende oppdateringen 17.2 (a) hvis den er tilgjengelig. I iOS 18, iPadOS 18 og macOS 15 er kombinerte oppdateringer tilgjengelig, slik at en programvareoppdatering kan inkludere alle tilgjengelige kritiske sikkerhetsoppdateringer.
Før iOS 18, iPadOS 18 og macOS 15 kan det hende at en tjeneste for enhetsadministrering må utløse to programvareoppdateringer for å sikre at en bestemt supplerende versjon er til stede. Først må den oppdatere enheten til grunnversjonen for den supplerende oppdateringen, hvis enheten ikke allerede har den grunnversjonen (for eksempel iOS 17.1 til iOS 17.2). Deretter må den oppdatere grunnversjonen til den supplerende oppdateringen (for eksempel iOS 17.2 til iOS 17.2 (a)).
I iOS 18, iPadOS 18 og macOS 15 kan en tjeneste for enhetsadministrering angi enten:
operativsystemversjonen (som automatisk installerer tilgjengelige kritiske sikkerhetsoppdateringer)
den supplerende byggversjonen (som får enheten til å utføre en nødvendig oppdatering til grunnversjonen automatisk som en del av prosessen)
Disse to tilnærmingene gjelder for konfigurasjonen av håndheving av programvareoppdatering samt for den håndhevede minimumsversjonen under automatisert enhetsregistrering.
com.apple.configuration.softwareupdate.settings
-deklarasjonen kan også brukes til å konfigurere oppførselen for kritiske sikkerhetsoppdateringer på iPhone-, iPad- og Mac-enheter som er under tilsyn. Hvis du vil ha mer informasjon, kan du se RapidSecurityResponse-ordboknøkler for iOS, iPadOS og macOS.
Utsette en programvareoppdatering med enhetsadministrering
Å utsette en programvareoppdatering eller -oppgradering i fra 1 til 90 dager gjøres ved hjelp av com.apple.configuration.softwareupdate.settings
-deklarasjonen på iPhone-, iPad- og Mac-enheter som er under tilsyn.
En konfigurert utsettelse definerer antall dager det skal gå før en organisasjon tilbyr en versjon til brukerne etter at den blir offentlig tilgjengelig. Uavhengig av en konfigurert utsettelse kan en tjeneste for enhetsadministrering fortsatt håndheve en bestemt programvareoppdatering, -oppgradering eller en kritisk sikkerhetsoppdatering på administrerte enheter. Du finner mer informasjon under Deferrals-ordboknøkler for iOS, iPadOS og tvOS og Utsettelser-ordboknøkler for macOS.
Merk: Hvis programvareoppdateringer utsettes, utsettes også eventuelle kritiske sikkerhetsoppdateringer som avhenger av den aktuelle versjonen.
Håndheve programvareoppdateringer med enhetsadministrering
For å håndheve en programvareoppdatering innen en bestemt tid på enheter som registreres ved hjelp av Enhetsregistrering eller Automatisert enhetsregistrering kan tjenester for enhetsadministrering bruke com.apple.configuration.softwareupdate.enforcement.specific
-deklarasjonen.
Hvis en konfigurasjon brukes på en enhet som angir et operativsystem eller en byggversjon som er lik eller eldre enn gjeldende versjon på enheten, returnerer enheten en feil i statusrapporten.
Hvis det finnes flere konfigurasjoner med et nyere operativsystem eller en nyere byggversjon enn versjonen som er på enheten, behandles konfigurasjonen med den første måldatoen og det første målklokkeslettet først, og eventuelle andre forblir i køen. Når enheten oppdateres til en ny versjon, behandles settet med konfigurasjoner igjen for å finne ut hvilken konfigurasjon som skal behandles først. Som en del av denne prosessen ignorerer enheten alle eksisterende konfigurasjoner som angir en versjon som er eldre eller lik den gjeldende versjonen.
Operativsystemet installerer automatisk alle tilgjengelige kritiske sikkerhetsoppdateringer hvis en tjeneste for enhetsadministrering bare definerer TargetOSVersion
. For å målrette mot en bestemt versjon eller en kritisk sikkerhetsoppdatering kan en tjeneste for enhetsadministrering bruke TargetBuildVersion
-nøkkelen i tillegg for å angi byggversjonen, inkludert supplerende versjonsidentifikator.
Se mer informasjon under under Håndhev programvareoppdateringer-ordboknøkler.
Varslinger
Notifications-nøkkelen endrer standardoppførsel for varslinger for å vise bare én varsling én time før tidspunktet for håndhevingen, samt nedtelling til omstart. Du finner mer informasjon om dette under Varslinger-nøkkel.
Bruke Bootstrap-kjennetegnet for Macer med Apple-chip
For å autorisere en håndhevet programvareoppdatering på en Mac med Apple-chip, som er under tilsyn, kan en tjeneste for enhetsadministrering be om og deponere et Bootstrap-kjennetegn. Dette gir en helt sømløs programvareoppdateringsopplevelse, og det unngår behovet for brukersamhandling som en del av prosessen. Ved behov bruker enheten en GetBootstrapTokenRequest
for å hente Bootstrap-kjennetegnet fra tjenesten for enhetsadministrering.
I det første steget finner tjenesten for enhetsadministrering ut om enheten støtter et Bootstrap-kjennetegn ved å bruke SecurityInfo
-kommandoen. Hvis svaret inneholder en BootstrapTokenRequiredForSoftwareUpdate
som er satt til true
, kan enheten bruke et Bootstrap-kjennetegn til å autorisere en programvareoppdatering.
For å opprette et Bootstrap-kjennetegn må tjenesten for enhetsadministrering legge til com.apple.mdm.bootstraptoken
i ServerCapabilities
-matrisen i profilen for enhetsadministrering. Hvis du vil ha mer informasjon, kan du se Device Management Profile på Apple Developer-nettstedet.
Når enheten mottar Bootstrap-kjennetegnet, oppretter den et Bootstrap-kjennetegn neste gang en bruker som har et sikkert kjennetegn aktivert, logger på. Deretter kontakter den sluttpunktet for tjenesten for enhetsadministrering og deponerer kjennetegnet ved hjelp av en SetBootstrapTokenRequest
. Hvis du vil ha mer informasjon, kan du se Set Bootstrap Token på Apple Developer-nettstedet.
For oppdatert oppsettspesifikasjon kan du se GitHub-repository for Apple-enhetsadministrasjon.