Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule przedstawiono proces korzystania z interfejsu API REST platformy Azure w celu wyzwolenia oceny i wdrożenia aktualizacji na maszynie wirtualnej platformy Azure za pomocą usługi Azure Update Manager na platformie Azure. Jeśli dopiero zaczynasz korzystać z rozwiązania Update Manager i chcesz dowiedzieć się więcej, zobacz omówienie usługi Azure Update Manager. Aby zarządzać serwerami z obsługą usługi Arc przy użyciu interfejsu API REST platformy Azure, zobacz Jak programowo pracować z serwerami z obsługą usługi Arc.
Usługa Azure Update Manager na platformie Azure umożliwia programowe korzystanie z interfejsu API REST platformy Azure . Ponadto możesz użyć odpowiednich poleceń REST z poziomu programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure.
Obsługa interfejsu API REST platformy Azure do zarządzania maszynami wirtualnymi platformy Azure jest dostępna za pośrednictwem rozszerzenia maszyny wirtualnej programu Update Manager.
Ocena aktualizacji
Aby wyzwolić ocenę aktualizacji na maszynie wirtualnej platformy Azure, wykonaj następujące żądanie POST:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/assessPatches?api-version=2020-12-01`
Aby określić żądanie POST, możesz użyć polecenia az vm assess-patches w Azure CLI.
az vm assess-patches -g MyResourceGroup -n MyVm
Wdrażanie aktualizacji
Aby wyzwolić wdrożenie aktualizacji na maszynie wirtualnej platformy Azure, określ następujące żądanie POST:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/installPatches?api-version=2020-12-01`
Ciało żądania
W poniższej tabeli opisano elementy treści żądania:
| Property | Description |
|---|---|
maximumDuration |
Maksymalny czas wykonywania operacji. Musi to być ciąg czasu trwania zgodny ze standardem ISO 8601, taki jak PT4H (4 godziny). |
rebootSetting |
Flaga wskazująca, czy maszyna powinna zostać ponownie uruchomiona i czy instalacja aktualizacji systemu operacyjnego gościa wymaga go do ukończenia. Dopuszczalne wartości to: IfRequired, NeverReboot, AlwaysReboot. |
windowsParameters |
Opcje parametrów aktualizacji systemu operacyjnego gościa na maszynach wirtualnych platformy Azure z obsługiwanym systemem operacyjnym Microsoft Windows Server. |
windowsParameters - classificationsToInclude |
Lista kategorii/klasyfikacji, które mają być używane do wybierania aktualizacji do zainstalowania na maszynie. Dopuszczalne wartości to: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Updates |
windowsParameters - kbNumbersToInclude |
Lista identyfikatorów KB usługi Windows Update, które powinny być zainstalowane. Zostaną zainstalowane wszystkie aktualizacje należące do klasyfikacji podanych na classificationsToInclude liście.
kbNumbersToInclude jest opcjonalną listą określonych baz danych do zainstalowania oprócz klasyfikacji. Przykład: 1234 |
windowsParameters - kbNumbersToExclude |
Lista identyfikatorów bazy wiedzy usługi Windows Update, których nie należy instalować. Ten parametr zastępuje windowsParameters - classificationsToInclude, co oznacza, że ID aktualizacji Windows Update (KB) określony tutaj nie zostanie zainstalowany, nawet jeśli należy do klasyfikacji podanej w parametrze classificationsToInclude. |
maxPatchPublishDate |
Służy do instalowania poprawek opublikowanych w dniu lub przed tą maksymalną datą publikacji. |
linuxParameters |
Opcje parametrów aktualizacji systemu operacyjnego gościa na maszynach wirtualnych platformy Azure z obsługiwanym systemem operacyjnym Linux. |
linuxParameters - classificationsToInclude |
Lista kategorii/klasyfikacji, które mają być używane do wybierania aktualizacji do zainstalowania na maszynie. Dopuszczalne wartości to: Critical, Security, Other |
linuxParameters - packageNameMasksToInclude |
Lista pakietów systemu Linux, które powinny być zainstalowane. Zostaną zainstalowane wszystkie aktualizacje należące do klasyfikacji podanych na classificationsToInclude liście.
packageNameMasksToInclude to opcjonalna lista nazw pakietów, które mają być zainstalowane oprócz klasyfikacji. Przykład: mysql, libc=1.0.1.1, kernel* |
linuxParameters - packageNameMasksToExclude |
Lista aktualizacji, których nie należy instalować. Ten parametr zastępuje linuxParameters - packageNameMasksToExclude, co oznacza, że pakiet określony tutaj nie zostanie zainstalowany, nawet jeśli należy do klasyfikacji podanej w parametrze classificationsToInclude. |
Aby określić żądanie POST, możesz użyć następującego wywołania interfejsu API REST platformy Azure z prawidłowymi parametrami i wartościami.
POST on 'subscriptions/{subscriptionId}/resourceGroups/acmedemo/providers/Microsoft.Compute/virtualMachines/ameacr/installPatches?api-version=2020-12-01
{
"maximumDuration": "PT120M",
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"UpdateRollup",
"FeaturePack",
"ServicePack"
],
"kbNumbersToInclude": [
"11111111111",
"22222222222222"
],
"kbNumbersToExclude": [
"333333333333",
"55555555555"
]
}
}'
Tworzenie harmonogramu konserwacji
Aby utworzyć harmonogram konfiguracji konserwacji, określ następujące żądanie PUT:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`
Ciało żądania
W poniższej tabeli opisano elementy treści żądania:
| Property | Description |
|---|---|
id |
W pełni kwalifikowany identyfikator zasobu |
location |
Pobiera lub ustawia lokalizację zasobu |
name |
Nazwa zasobu |
properties.extensionProperties |
Pobiera lub ustawia właściwości rozszerzenia konfiguracji konserwacji |
properties.maintenanceScope |
Pobiera lub ustawia zakres konserwacji konfiguracji |
properties.maintenanceWindow.duration |
Czas trwania okna konserwacji w formacie HH:MM. Jeśli nie zostanie podana, wartość domyślna jest używana na podstawie podanego zakresu konserwacji. Przykład: 05:00. |
properties.maintenanceWindow.expirationDateTime |
Skuteczna data wygaśnięcia okna konserwacji w formacie RRRR-MM-DD hh:mm. Okno jest tworzone w podanej strefie czasowej z uwzględnieniem oszczędności światła dziennego zgodnie z tą strefą czasową. Data wygaśnięcia musi być ustawiona na przyszłą datę. Jeśli nie zostanie podana, zostanie ustawiona maksymalna data/godzina 9999-12-31 23:59:59. |
properties.maintenanceWindow.recurEvery |
Częstotliwość, z jaką okno konserwacji ma się powtarzać. Stawka może być przedstawiona w harmonogramach dziennych, tygodniowych lub miesięcznych. Dzienne harmonogramy są formatowane jako recurEvery: [Częstotliwość jako liczba całkowita]['Dzień/Dni']. Jeśli nie podano żadnej częstotliwości, domyślna częstotliwość to 1. Przykłady harmonogramu codziennego są recurEvery: Day, recurEvery: 3Days. Harmonogramy tygodniowe są formatowane jako recurEvery: [Częstotliwość jako liczba całkowita]['Tydzień(tygodnie)'] [Opcjonalna lista dni tygodnia rozdzielana przecinkami od poniedziałku do niedzieli]. Przykłady harmonogramu tygodniowego to recurEvery: 3Weeks, recurEvery: Week Saturday, Sunday. Harmonogramy miesięczne są formatowane jako [Częstotliwość jako liczba całkowita]['Miesiąc(e)'] [Lista dni miesiąca rozdzielona przecinkami] lub [Częstotliwość jako liczba całkowita]['Miesiąc(e)'] [Tydzień miesiąca (Pierwszy, Drugi, Trzeci, Czwarty, Ostatni)] [Dzień tygodnia od poniedziałku do niedzieli]. Przykłady harmonogramu miesięcznego to powtarzalność: miesiąc, powtarzalność: co 2 miesiące, powtarzalność: każdego miesiąca 23 dnia, 24 dnia, powtarzalność: ostatnią niedzielę miesiąca, powtarzalność: czwarty poniedziałek miesiąca. |
properties.maintenanceWindow.startDateTime |
Data rozpoczęcia okna konserwacji w formacie RRRR-MM-DD hh:mm. Możesz ustawić datę rozpoczęcia na bieżącą datę lub datę przyszłą. Okno zostanie utworzone w podanej strefie czasowej i dostosowane do zmiany czasu letniego zgodnie z tą strefą czasową. |
properties.maintenanceWindow.timeZone |
Nazwa strefy czasowej. Listę stref czasowych można uzyskać, wykonując polecenie [System.TimeZoneInfo]:GetSystemTimeZones() w programie PowerShell. Przykład: Czas Pacyficzny, UTC, Czas Środkowoeuropejski, Czas Koreański, Czas Centralny. Australia (czas standardowy). |
properties.namespace |
Pobiera lub ustawia przestrzeń nazwową zasobu |
properties.visibility |
Pobiera lub ustawia widoczność konfiguracji. Wartość domyślna to 'Niestandardowy' |
systemData |
Metadane usługi Azure Resource Manager zawierające informacje „createdBy” i „modifiedBy”. |
tags |
Pobiera lub ustawia tagi zasobu |
type |
Typ zasobu |
Aby określić żądanie POST, możesz użyć następującego wywołania interfejsu API REST platformy Azure z prawidłowymi parametrami i wartościami.
PUT on '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestAdv2?api-version=2021-09-01-preview
{
"location": "eastus2euap",
"properties": {
"namespace": null,
"extensionProperties": {
"InGuestPatchMode" : "User"
},
"maintenanceScope": "InGuestPatch",
"maintenanceWindow": {
"startDateTime": "2021-08-21 01:18",
"expirationDateTime": "2221-05-19 03:30",
"duration": "01:30",
"timeZone": "India Standard Time",
"recurEvery": "Day"
},
"visibility": "Custom",
"installPatches": {
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"Critical",
"UpdateRollup"
]
},
"linuxParameters": {
"classificationsToInclude": [
"Other"
]
}
}
}
}'
Kojarzenie maszyny wirtualnej z harmonogramem
Aby skojarzyć maszynę wirtualną z harmonogramem konfiguracji konserwacji, określ następujące żądanie PUT:
PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
Aby określić żądanie PUT, możesz użyć następującego wywołania interfejsu API REST platformy Azure z prawidłowymi parametrami i wartościami.
PUT on '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/atscalepatching/providers/Microsoft.Compute/virtualMachines/win-atscalepatching-1/providers/Microsoft.Maintenance/configurationAssignments/TestAzureInGuestAdv?api-version=2021-09-01-preview
{
"properties": {
"maintenanceConfigurationId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestIntermediate2"
},
"location": "eastus2euap"
}'
Usuwanie maszyny z harmonogramu
Aby usunąć maszynę z harmonogramu, pobierz wszystkie nazwy przypisań konfiguracji dla maszyny, która została utworzona w celu skojarzenia maszyny z bieżącym harmonogramem z usługi Azure Resource Graph, jak pokazano na liście:
maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| where properties.maintenanceConfigurationId =~ "<maintenance configuration Resource ID>"
| where properties.resourceId =~ "<Machine Resource Id>"
| project name, id
Po uzyskaniu powyższej nazwy, w celu usunięcia przypisania konfiguracji, postępuj zgodnie z żądaniem DELETE.
DELETE on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
Dalsze kroki
- Aby wyświetlić dzienniki oceny aktualizacji i wdrażania wygenerowane przez menedżera aktualizacji, zobacz dzienniki zapytań.
- Aby rozwiązać problemy, zobacz Rozwiązywanie problemów z programem Update Manager.