Sdílet prostřednictvím


Jak programově spravovat aktualizace pro virtuální počítače Azure

Tento článek vás provede procesem použití rozhraní Azure REST API k aktivaci posouzení a nasazení aktualizací na virtuálním počítači Azure pomocí Azure Update Manageru v Azure. Pokud s Update Managerem začínáte a chcete se dozvědět víc, podívejte se na přehled Azure Update Manageru. Pokud chcete ke správě serverů s podporou Arc použít rozhraní Azure REST API, přečtěte si, jak programově pracovat se servery s podporou Arc.

Azure Update Manager v Azure umožňuje programově používat rozhraní Azure REST API pro přístup. Kromě toho můžete použít příslušné příkazy REST z Azure PowerShellu a Azure CLI.

Podpora rozhraní Azure REST API pro správu virtuálních počítačů Azure je dostupná prostřednictvím rozšíření update manageru pro virtuální počítače.

Posouzení aktualizací

Pokud chcete na virtuálním počítači Azure aktivovat posouzení aktualizací, zadejte následující požadavek POST:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/assessPatches?api-version=2020-12-01`

K zadání požadavku POST můžete použít příkaz Azure CLI az vm assess-patch .

az vm assess-patches -g MyResourceGroup -n MyVm

Nasazení aktualizací

Pokud chcete aktivovat nasazení aktualizace na virtuální počítač Azure, zadejte následující požadavek POST:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/installPatches?api-version=2020-12-01`

Text požadavku

Následující tabulka popisuje prvky textu požadavku:

Vlastnost Popis
maximumDuration Maximální doba, po kterou operace běží. Musí se jednat o řetězec doby trvání vyhovující standardu ISO 8601, například PT4H (4 hodiny).
rebootSetting Příznak určující, zda se má počítač restartovat a zda instalace aktualizace hostovaného operačního systému vyžaduje restart pro dokončení. Přijatelné hodnoty jsou: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters Možnosti parametrů pro aktualizaci hostovaného operačního systému na virtuálních počítačích Azure s podporovaným operačním systémem Microsoft Windows Server
windowsParameters - classificationsToInclude Seznam kategorií/klasifikací, které se mají použít k výběru aktualizací, které se mají nainstalovat na počítač. Přijatelné hodnoty jsou: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Updates
windowsParameters - kbNumbersToInclude Seznam ID aktualizací znalostní báze Windows Update, které by měly být nainstalovány. Nainstalují se všechny aktualizace, které patří do klasifikací uvedených v classificationsToInclude seznamu. kbNumbersToInclude je volitelný seznam konkrétních databází, které se mají nainstalovat kromě klasifikací. Příklad: 1234
windowsParameters - kbNumbersToExclude Seznam KB ID služby Windows Update, která by neměla být nainstalována. Tento parametr přepíše windowsParameters - classificationsToInclude, což znamená, že zde zadané ID znalostní báze služba Windows Update nebude nainstalováno, ani když patří do klasifikace zadané v parametru classificationsToInclude.
maxPatchPublishDate Používá se k instalaci oprav, které byly publikovány v den maximálního publikování nebo dříve.
linuxParameters Možnosti parametrů pro aktualizaci hostovaného operačního systému na virtuálních počítačích Azure s podporovaným operačním systémem Linux
linuxParameters - classificationsToInclude Seznam kategorií/klasifikací, které se mají použít k výběru aktualizací, které se mají nainstalovat na počítač. Přijatelné hodnoty jsou: Critical, Security, Other
linuxParameters - packageNameMasksToInclude Seznam linuxových balíčků, které by se měly nainstalovat. Nainstalují se všechny aktualizace, které patří do klasifikací uvedených v classificationsToInclude seznamu. packageNameMasksToInclude je volitelný seznam názvů balíčků, které se mají nainstalovat kromě klasifikací. Příklad: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude Seznam aktualizací, které by se neměly instalovat Tento parametr přepíše linuxParameters - packageNameMasksToExclude, což znamená, že zde zadaný balíček nebude nainstalován, i když patří do klasifikace poskytnuté v parametru classificationsToInclude .

K zadání požadavku POST můžete použít následující volání rozhraní Azure REST API s platnými parametry a hodnotami.

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"
      ]
    }
  }'

Vytvoření plánu konfigurace údržby

Pokud chcete vytvořit plán konfigurace údržby, zadejte následující požadavek PUT:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`

Text požadavku

Následující tabulka popisuje prvky textu požadavku:

Vlastnost Popis
id Plně kvalifikovaný identifikátor prostředku
location Určuje nebo nastaví umístění prostředku.
name Název prostředku
properties.extensionProperties Získá nebo nastaví vlastnosti rozšíření konfigurace údržby
properties.maintenanceScope Získá nebo nastaví oblast údržby konfigurace.
properties.maintenanceWindow.duration Doba trvání časového období údržby ve formátu HH:MM. Pokud není zadaný, použije se výchozí hodnota na základě zadaného rozsahu údržby. Příklad: 05:00.
properties.maintenanceWindow.expirationDateTime Platné datum vypršení platnosti časového období údržby ve formátu RRRR-MM-DD hh:mm. Okno se vytvoří v časovém pásmu poskytnutém letnímu času podle daného časového pásma. Datum vypršení platnosti musí být nastavené na budoucí datum. Pokud není zadaný, nastaví se na maximální datum a čas 9999-12-31 23:59:59.
properties.maintenanceWindow.recurEvery Frekvence, s jakou se očekává opakování údržbového okna. Sazba se dá vyjádřit jako denní, týdenní nebo měsíční rozvrhy. Denní plány jsou formátované jako recurEvery: [Frekvence jako celé číslo]['Den(ní)']. Pokud není zadána žádná frekvence, výchozí frekvence je 1. Příklady denního plánu jsou recurEvery: Day, recurEvery: 3Days. Týdenní plány jsou formátované jako recurEvery: [Frekvence jako celé číslo]['Týden/nů'] [Volitelný seznam dnů týdne oddělených čárkami pondělí-neděle]. Příklady týdenního plánu jsou recurEvery: 3Weeks, recurEvery: Week Saturday, Sunday. Měsíční plány jsou formátované jako [frekvence jako celé číslo]['měsíc(e)'] [seznam dnů v měsíci oddělených čárkami] nebo [frekvence jako celé číslo]['měsíc(e)'] [týden v měsíci (první, druhý, třetí, čtvrtý, poslední)] [pondělí až neděle]. Příklady měsíčního plánu jsou: opakovat každý měsíc, opakovat každý 2 měsíce, opakovat každý měsíc na den 23, den 24, opakovat každý měsíc na poslední neděli, opakovat každý měsíc na čtvrtý pondělí.
properties.maintenanceWindow.startDateTime Platné datum zahájení časového období údržby ve formátu RRRR-MM-DD hh:mm. Počáteční datum můžete nastavit na aktuální datum nebo budoucí datum. Okno se vytvoří v poskytnutém časovém pásmu a upraví se na letní čas podle daného časového pásma.
properties.maintenanceWindow.timeZone Název časového pásma. Seznam časových pásem lze získat spuštěním příkazu [System.TimeZoneInfo]:GetSystemTimeZones() v PowerShellu. Příklad: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Austrálie – standardní čas.
properties.namespace Získá nebo nastaví obor názvů prostředku.
properties.visibility Získá nebo nastaví viditelnost konfigurace. Výchozí hodnota je Custom.
systemData Metadata Azure Resource Manageru, která obsahuje informace o vytvoření a úpravách.
tags Získá nebo nastaví značky prostředku.
type Typ prostředku

K zadání požadavku POST můžete použít následující volání rozhraní Azure REST API s platnými parametry a hodnotami.

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"
        ]
      }
    }
  }
}'

Přidružení virtuálního počítače k plánu

Pokud chcete virtuální počítač přidružit k plánu konfigurace údržby, zadejte následující požadavek PUT:

PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`

K zadání požadavku PUT můžete použít následující volání rozhraní Azure REST API s platnými parametry a hodnotami.

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"
}'

Odebrání počítače z plánu

Pokud chcete odebrat počítač z plánu, získejte všechny názvy konfigurací spojených s počítačem, které byly vytvořeny pro připojení počítače k aktuálnímu plánu, z Azure Resource Graphu, jak je uvedeno:

maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| where properties.maintenanceConfigurationId =~ "<maintenance configuration Resource ID>"
| where properties.resourceId =~ "<Machine Resource Id>"
| project name, id

Po získání výše uvedeného názvu odstraňte přiřazení konfigurace podle požadavku DELETE –

DELETE on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`

Další kroky

  • Pokud chcete zobrazit protokoly posouzení aktualizací a nasazení vygenerované nástrojem Update Manager, podívejte se na protokoly dotazů.
  • Informace o řešení potíží najdete v tématu Řešení potíží s nástrojem Update Manager.