
Używanie zarządzania urządzeniami do wdrażania uaktualnień oprogramowania na urządzeniach Apple
Deklaratywne zarządzanie urządzeniami to przyszłość zarządzania urządzeniami Apple. Umożliwia urządzeniom asynchroniczne stosowanie ustawień i raportowanie statusu z powrotem do usługi zarządzania urządzeniami bez ciągłego odpytywania. Jest to idealne rozwiązanie pod względem wydajności i skalowalności, a także zapewnia zaawansowane podejście do zarządzania uaktualnieniami oprogramowania. Deklaratywne zarządzanie urządzeniami obsługuje proaktywne raportowanie statusu urządzeń w miarę zmian wartości i konfiguracji. Dzięki temu usługa zarządzania urządzeniami ma zawsze aktualny przegląd urządzeń bez konieczności wykonywania regularnych zapytań.
Zamiast wysyłać polecenie uaktualnienie oprogramowania do urządzenia w celu zainicjowania uaktualnienia, usługa zarządzania urządzeniami deklaruje żądany stan wersji systemu operacyjnego i deleguje zadanie osiągnięcia tego stanu do samego urządzenia. Dzięki temu proces zarządzanego uaktualniania oprogramowania jest bardziej niezawodny, a użytkownicy uzyskują więcej informacji na temat jego przebiegu.
Znaczenie korzystania z deklaracji uaktualnień oprogramowania
Usługi zarządzania urządzeniami powinny w miarę możliwości wykorzystywać deklaracje uaktualnień oprogramowania. Starsze polecenia i profile uaktualnień oprogramowania są jednak nadal dostępne i obsługiwane. Mogą one współpracować z deklaracjami uaktualnień oprogramowania z następującymi zmianami:
Odroczenia zdefiniowane przez deklarację mają pierwszeństwo przed odroczeniami skonfigurowanymi przez ograniczenie.
Ustawienia automatycznego uaktualniania oprogramowania w systemie macOS zastosowane w deklaracji mają pierwszeństwo przed ustawieniami automatycznego uaktualniania podanymi w profilu konfiguracji.
Gdy istnieje oczekujące uaktualnienie oprogramowania skonfigurowane przy użyciu deklaratywnego zarządzania urządzeniami, klienty nie przetwarzają niektórych poleceń zarządzania urządzeniami i zwracają błędy informujące, że na urządzeniu istnieje aktywna deklaracja, jak pokazano w poniższej tabeli:
Polecenie zarządzania urządzeniami | Wynik | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Ograniczone: w przypadku komputerów Mac uaktualnienia oparte na systemie operacyjnym, które nie są zarządzane, mogą pojawić się w odpowiedzi na polecenie, na przykład w Xcode lub narzędziach wiersza poleceń. | ||||||||||
| Urządzenie zwraca błąd | ||||||||||
| Urządzenie zwraca pustą tablicę stanu. |
Używanie usługi Apple Software Lookup Service
Usługa Apple Software Lookup Service (dostępna pod adresem https://gdmf.apple.com/v2/pmv) jest oficjalnym źródłem informacji o publicznie dostępnych uaktualnieniach pośrednich, uaktualnieniach głównych i pilnych uaktualnieniach zabezpieczeń. Dzięki niej usługa zarządzania urządzeniami może wyszukiwać wydania oprogramowania, gdy tylko zostaną opublikowane przez Apple, i obliczać ich zastosowanie dla każdego modelu sprzętu w sposób terminowy i dokładny.
Odpowiedź JSON zawiera trzy listy dostępnych wydań oprogramowania:
PublicAssetSets: Ta lista zawiera najnowsze wydania dostępne publicznie w przypadku próby instalacji uaktualnienia lub uaktualnienia głównego.
AssetSets: Ta lista stanowi podzbiór listy
PublicAssetSets
i zawiera wszystkie wydania oprogramowania, które usługi zarządzania urządzeniami mogą instalować na urządzeniach.PublicRapidSecurityResponses: Ta lista zawiera pilne uaktualnienia zabezpieczeń dostępne aktualnie dla urządzeń Apple.
Każdy element listy zawiera numery wersji (ProductVersion
) i kompilacji (Build
) systemu operacyjnego, datę publikacji wydania (PostingDate
), datę wygaśnięcia ważności (ExpirationDate
) oraz listę urządzeń obsługiwanych przez dane wydanie (SupportedDevices
). Lista urządzeń jest zgodna z wartościami ProductName
z urządzenia, które są zwracane przez odpowiedź DeviceInformation
, początkowe żądanie uwierzytelnienia Authenticate
lub w wartości MachineInfo
, kiedy urządzenie próbuje się zarejestrować.
Data wygaśnięcia, ustawiona zwykle na 180 dni po dacie opublikowania, określa datę wygaśnięcia podpisu uaktualnienia. Wygasłego uaktualnienia nie można już zainstalować na urządzeniach. Gdy udostępniane są kolejne uaktualnienia, poprzednie uaktualnienia mogą mieć uaktualnione daty wygaśnięcia. Jeśli brak jest daty wygaśnięcia, oznacza to, że uaktualnienie nie wygasło. Uaktualnienie uznawane jest za wygasłe tylko wtedy, gdy jego data wygaśnięcia przypada w przeszłości.
Zasoby są grupowane według platformy systemu operacyjnego przy użyciu następujących kluczy:
iOS
(obejmuje systemy iPadOS, tvOS i 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"
]
},
Lista wersji produktów umożliwia określenie, które wersje są nowsze niż bieżąca wersja systemu operacyjnego i mają zastosowanie do określonego urządzenia. Tę listę wersji należy przekazać administratorowi usługi zarządzania urządzeniami jako listę potencjalnych kandydatów do uaktualnienia systemu operacyjnego.
Wysyłanie raportu o statusie do usługi zarządzania urządzeniami
Aby otrzymywać aktualizacje elementów statusu w miarę ich zmieniania się, serwer musi subskrybować każdy raport o statusie, wysyłając do urządzenia deklarację ManagementStatusSubscriptions
. Urządzenie wysyła następnie StatusReport
do usługi zarządzania urządzeniami, gdy deklaracja ManagementStatusSubscriptions
staje się aktywna, gdy zmienia się status subskrybowanego elementu oraz co 24 godziny.
W celu monitorowania wersji systemu operacyjnego i statusu uaktualnień oprogramowania usługa zarządzania urządzeniami może subskrybować następujące raporty o statusie:
Raport o statusie | Opis |
---|---|
| Wersja kompilacji systemu operacyjnego na urządzeniu (na przykład 21E219). |
| Wersja systemu operacyjnego używana na urządzeniu (na przykład 17.4). |
| Wersja kompilacji systemu operacyjnego i wersje pilnych uaktualnień zabezpieczeń używanych na urządzeniu (na przykład 20A123a lub 20F75c). |
| Wersja pilnego uaktualnienia zabezpieczeń systemu operacyjnego używana na urządzeniu (na przykład a). |
| Słownik zawierający wersje kompilacji i systemu operacyjnego uaktualnienia oprogramowania oczekującego na urządzeniu. |
| Status instalacji uaktualnienia oprogramowania, który ma następujące wartości:
|
| Słownik ze szczegółowymi informacjami o przyczynie oczekującego uaktualnienia oprogramowania. Klucz
|
| Szczegółowe informacje dotyczące niepowodzenia uaktualnienia oprogramowania. Szczegóły obejmują liczbę niepowodzeń uaktualnienia oprogramowania, znacznik czasu ostatniego niepowodzenia i przyczynę niepowodzenia. |
| Nazwa zarejestrowanego programu beta urządzenia lub pusty ciąg znaków, jeśli nie ma zarejestrowanego programu beta. |
Oprócz innych raportów, usługi zarządzania urządzeniami mogą również udostępniać administratorom słownik softwareupdate.install-reason
do celów wsparcia i zapewnienia dodatkowego wglądu w sposób uruchomienia uaktualnienia. Przy użyciu tego słownika możesz określić, czy użytkownik sam zainicjował uaktualnienie, uaktualnienie nastąpiło automatycznie, czy też zostało zainicjowane przez deklarację wymuszania uaktualnienia oprogramowania.
Żądanie określonej minimalnej wersji oprogramowania podczas rejestrowania w usłudze zarządzania urządzeniami
Jeśli urządzenie obsługuje tę funkcję, zwraca klucz MDM_CAN_REQUEST_SOFTWARE_UPDATE
, ustawiony na True, w danych MachineInfo
, które wysyła w początkowym żądaniu HTTP POST
do usługi zarządzania urządzeniami, gdy urządzenie wykryje konfigurację zarządzania w Asystencie ustawień. Aby uzyskać więcej informacji, zobacz plik yaml MachineInfo w repozytorium GitHub zarządzania urządzeniami Apple.
Dodatkowo urządzenia zapewniają następujące pola w danych MachineInfo
(wszystkie ciągi):
Klucz | Minimalne obsługiwane wersje systemów operacyjnych | Opis | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VERSION | iOS 17 iPadOS 17 macOS 14 | Wersja kompilacji zainstalowana na urządzeniu (na przykład 7A182). | |||||||||
OS_VERSION | iOS 17 iPadOS 17 macOS 14 | Wersja systemu operacyjnego zainstalowana na urządzeniu (na przykład 17.0). | |||||||||
SUPPLEMENTAL_BUILD_VERSION | iOS 17 iPadOS 17 macOS 14 | Wersja pilnego uaktualnienia zabezpieczeń na urządzeniu (jeśli jest dostępne). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | Dodatkowa wersja pilnego uaktualnienia zabezpieczeń na urządzeniu (jeśli jest dostępne). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | Identyfikator modelu urządzenia używany do wyszukiwania dostępnych uaktualnień systemu operacyjnego w usłudze Apple Software Lookup Service. |
Na podstawie dostarczonych informacji usługa zarządzania urządzeniami może zdecydować, czy wymusić uaktualnienie urządzenia.
Jeśli usługa zarządzania urządzeniami zdecyduje, aby nie wymuszać uaktualnienia oprogramowania, po prostu zwróci profil rejestracji w odpowiedzi na żądanie
HTTP POST
— tak samo, jak robi to w przypadku zezwalania na rejestrację w usłudze zarządzania urządzeniami.Jeśli usługa zarządzania urządzeniami zdecyduje się wymusić uaktualnienie oprogramowania, musi zwrócić odpowiedź
HTTP
z kodem statusu 403 i dołączyć obiekt JSON lub XML w treści odpowiedzi (nagłówek odpowiedziHTTP Content-Type
musi być ustawiony odpowiednio naapplication/json
lubapplication/xml
).
Po otrzymaniu tej odpowiedzi o błędzie urządzenie podejmie próbę uaktualnienia do określonej wersji. Jeśli uaktualnienie się powiedzie, urządzenie uruchomi się ponownie, a użytkownik będzie musiał ponownie przejść przez Asystenta ustawień. Następne żądanie MachineInfo POST
z urządzenia do usługi zarządzania urządzeniami pokaże uaktualnioną wersję systemu operacyjnego, a usługa będzie mogła kontynuować rejestrację urządzenia. Jeśli uaktualnienie się nie powiedzie, użytkownikowi zostanie wyświetlony błąd, a w Asystencie ustawień pojawi się ponownie panel Zarządzanie zdalne.
Schemat odpowiedzi
został przedstawiony w tabeli znajdującej się poniżej.
Klucz | Typ | Wymagane | Opis | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Ciąg znaków | Tak | Wymagana wartość to | ||||||||
| Ciąg znaków | Nie | Opis błędu. Służy tylko do celów rejestrowania. | ||||||||
| Ciąg znaków | Nie | Opis błędu odpowiedni do wyświetlenia użytkownikowi. | ||||||||
| Słownik | Tak | Dodatkowe dane określające uaktualnienie oprogramowania. |
Schemat słownika details
został przedstawiony poniżej.
Klucz | Typ | Wymagane | Opis | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Ciąg znaków | Tak | Wersja systemu operacyjnego, do której urządzenie ma zostać uaktualnione. | ||||||||
| Ciąg znaków | Nie | Wersja kompilacji, do której urządzenie ma zostać uaktualnione. | ||||||||
| Słownik | Nie | Urządzenie rejestruje się w programie beta, umożliwiając wymuszone uaktualnienia oprogramowania do wersji systemu operacyjnego programu beta. Urządzenie pozostaje w programie beta po zakończeniu wymuszonego uaktualnienia oprogramowania. |
Jeśli określono tylko klucz OSVersion
, urządzenie automatycznie pobiera i instaluje wszystkie pilne uaktualnienia zabezpieczeń dostępne dla tej wersji. W przypadku, gdy wymagana jest konkretna kompilacja lub dodatkowa wersja, usługa zarządzania urządzeniami może także opcjonalnie określić klucz BuildVersion
. Na przykład, aby wymagać od urządzenia użycia systemu iOS 16.5.1(a) przed zarejestrowaniem, nawet jeśli jest już dostępna wersja iOS 16.5.1(c), usługa zarządzania urządzeniami musi ustawić klucz OSVersion
na wartość iOS 16.5.1
, a klucz BuildVersion
na wartość 20F770750b
.
Ważne: Przed systemem macOS 15 można było określić tylko wydania z list PublicAssetSets
i PublicRapidSecurityResponses
. W systemie macOS 15 można również używać zasobów z listy AssetSets
.
Ustawienia zarządzania urządzeniami dotyczące uaktualnień oprogramowania
Deklaracja com.apple.configuration.softwareupdate.settings
(dostępna w systemach iOS 18, iPadOS 18, macOS 15 oraz tvOS 18.4 i nowszych) składa się ze słowników, których można używać do konfigurowania różnych aspektów zachowania uaktualnień oprogramowania.
Gdy usługa zarządzania urządzeniami rozdziela różne klucze na wiele deklaracji, urządzenie łączy ustawienia ze wszystkich aktywnych deklaracji ustawień uaktualnień oprogramowania. Jeśli ten sam klucz jest skonfigurowany przez wiele deklaracji, zachowanie łączenia zależy od indywidualnego klucza i jest przedstawione w poniższych tabelach.
Konfigurowanie automatycznych uaktualnień oprogramowania za pomocą usługi zarządzania urządzeniami
Deklaracja com.apple.configuration.softwareupdate.settings
zawiera słownik umożliwiający zdefiniowanie zachowania automatycznego uaktualniania oprogramowania na nadzorowanych urządzeniach iPhone, iPad, Apple TV i Mac. Aby uzyskać więcej informacji, zobacz: Klucze słownika AutomaticActions.
Sposób obsługi pilnych uaktualnień zabezpieczeń przez usługę zarządzania urządzeniami
Pilne uaktualnienia zabezpieczeń zawsze odnoszą się do najnowszego uaktualnienia systemu operacyjnego, która staje się bazową wersją pilnego uaktualnienia zabezpieczeń. Na przykład, jeśli iPhone ma zainstalowany system operacyjny w wersji iOS 17.2, to zostanie zastosowane uaktualnienie uzupełniające 17.2 (a), jeśli jest dostępne. W systemach iOS 18, iPadOS 18 i macOS 15 udostępniono połączone uaktualnienia, dzięki czemu uaktualnienie oprogramowania może zawierać dowolne dostępne pilne uaktualnienia zabezpieczeń.
W przypadku systemów wcześniejszych niż iOS 18, iPadOS 18 i macOS 15, usługa zarządzania urządzeniami może wymagać uruchomienia dwóch uaktualnień oprogramowania, aby zapewnić obecność określonej wersji uzupełniającej. Najpierw musi uaktualnić urządzenie do bazowej wersji uaktualnienia uzupełniającego, jeśli urządzenie nie korzysta jeszcze z tej bazowej wersji (na przykład z wersji iOS 17.1 do wersji iOS 17.2). Następnie musi uaktualnić bazową wersję do wersji uzupełniającej — na przykład z wersji iOS 17.2 do wersji iOS 17.2 (a).
W przypadku systemów iOS 18, iPadOS 18 i macOS 15 usługa zarządzania urządzeniami może określić:
wersję systemu operacyjnego (która automatycznie instaluje dostępne pilne uaktualnienia zabezpieczeń);
uzupełniającą wersję kompilacji (która powoduje, że urządzenie automatycznie przeprowadza niezbędne uaktualnienie do bazowej wersji w ramach procesu).
Te dwa podejścia mają zastosowanie do konfiguracji wymuszania uaktualnień oprogramowania oraz do wymuszanej minimalnej wersji podczas automatycznej rejestracji urządzeń.
Deklaracja com.apple.configuration.softwareupdate.settings
może być również używana do konfigurowania zachowania pilnego uaktualnienia zabezpieczeń na nadzorowanych urządzeniach iPhone, iPad i Mac. Aby uzyskać więcej informacji, zobacz: Klucze słownika RapidSecurityResponse dla systemów iOS, iPadOS i macOS.
Odraczanie uaktualnienia oprogramowania za pomocą usługi zarządzania urządzeniami
Odroczenie uaktualnienia lub uaktualnienia głównego oprogramowania w zakresie od 1 do 90 dni odbywa się za pomocą deklaracji com.apple.configuration.softwareupdate.settings
na nadzorowanych urządzeniach iPhone, iPad i Mac.
Skonfigurowane odroczenie określa liczbę dni od publicznej premiery wydania, po których organizacja udostępnia je użytkownikom. Niezależnie od skonfigurowanego odroczenia, usługa zarządzania urządzeniami może nadal wymusić określone uaktualnienie, uaktualnienie główne oprogramowania lub pilne uaktualnienie zabezpieczeń na urządzeniach zarządzanych. Aby uzyskać więcej informacji, zobacz: Klucze słownika Deferrals dla systemów iOS, iPadOS i tvOS oraz Klucze słownika Deferrals dla systemu macOS.
Uwaga: Odroczenie uaktualnienia oprogramowania powoduje również odroczenie wszelkich pilnych uaktualnień zabezpieczeń, które są zależne od tej wersji.
Wymuszanie uaktualnień oprogramowania za pomocą usługi zarządzania urządzeniami
Aby wymusić uaktualnienie oprogramowania do określonego czasu na urządzeniach zarejestrowanych przy użyciu rejestracji urządzenia lub automatycznej rejestracji urządzenia, usługi zarządzania urządzeniami mogą zastosować deklarację com.apple.configuration.softwareupdate.enforcement.specific
.
Jeśli na urządzeniu zastosowana zostanie konfiguracja określająca wersję systemu operacyjnego lub kompilacji, która jest taka sama lub starsza niż bieżąca wersja na urządzeniu, wówczas urządzenie zwróci błąd w raporcie statusu.
Jeśli istnieje wiele konfiguracji z nowszym systemem operacyjnym lub wersją kompilacji niż bieżąca wersja urządzenia, konfiguracja z najwcześniejszą docelową datą i godziną jest przetwarzana jako pierwsza, a pozostałe pozostają w kolejce. Gdy urządzenie zostaje uaktualnione do nowej wersji, zestaw konfiguracji jest ponownie przetwarzany w celu określenia, która z nich będzie przetwarzana jako następna. Podczas tego procesu urządzenie ignoruje wszelkie istniejące konfiguracje podające wersję taką samą lub starszą niż bieżąca.
Jeśli usługa zarządzania urządzeniami definiuje tylko klucz TargetOSVersion
, system operacyjny automatycznie instaluje wszystkie dostępne pilne uaktualnienia zabezpieczeń. Aby określić konkretną wersję lub pilne uaktualnienie zabezpieczeń, usługa zarządzania urządzeniami może użyć klucza TargetBuildVersion
oprócz określenia kompilacji, w tym dodatkowego identyfikatora wersji.
Aby dowiedzieć się więcej, zobacz: Klucze słownika wymuszania instalowania uaktualnień oprogramowania.
Powiadomienia
Klucz Notifications (Powiadomienia) zmienia domyślne zachowanie powiadomień, aby wyświetlać tylko powiadomienie na 1 godzinę przed czasem wymuszenia i odliczaniem do ponownego uruchomienia. Aby uzyskać więcej informacji, zobacz: Klucz Notifications (Powiadomienia).
Używanie tokenu inicjującego na komputerach Mac z układem scalonym Apple
Aby autoryzować wymuszone uaktualnienie oprogramowania na nadzorowanym komputerze Mac z układem scalonym Apple, usługa zarządzania urządzeniami może zażądać tokenu inicjującego i go zdeponować. Zapewnia to całkowicie bezproblemowe uaktualnienia oprogramowania i pozwala uniknąć konieczności interakcji użytkownika w ramach tego procesu. W razie potrzeby urządzenie używa polecenia GetBootstrapTokenRequest
w celu pobrania tokenu inicjującego z usługi zarządzania urządzeniami.
W pierwszym kroku usługa zarządzania urządzeniami określa, czy urządzenie obsługuje token inicjujący, używając do tego celu polecenia SecurityInfo
. Jeśli odpowiedź zawiera klucz BootstrapTokenRequiredForSoftwareUpdate
ustawiony na wartość true
, urządzenie może użyć tokenu inicjującego do autoryzacji uaktualnienia oprogramowania.
Aby utworzyć token inicjujący, usługa zarządzania urządzeniami musi dodać klucz com.apple.mdm.bootstraptoken
do tablicy ServerCapabilities
w profilu zarządzania urządzeniami. Aby uzyskać więcej informacji, zobacz: Device Management Profile (Profil zarządzania urządzeniami) w witrynie Apple dla deweloperów.
Po otrzymaniu tokenu inicjującego urządzenie tworzy token inicjujący przy następnym logowaniu użytkownika z obsługą tokenu bezpieczeństwa. Następnie kontaktuje się z punktem końcowym zameldowania usługi zarządzania urządzeniami i deponuje token przy użyciu polecenia SetBootstrapTokenRequest
. Aby uzyskać więcej informacji, zobacz: Set Bootstrap Token (Ustawianie tokenu inicjującego) w witrynie Apple dla deweloperów.
Aby uzyskać najnowszą specyfikację schematu, sprawdź repozytorium GitHub zarządzania urządzeniami Apple.