Dela via


Så här hanterar du programmatiskt uppdateringar för Azure Arc-aktiverade servrar

Den här artikeln beskriver hur du använder Azure REST API för att utlösa en utvärdering och en uppdateringsdistribution på dina Azure Arc-aktiverade servrar med Azure Update Manager i Azure. Om du inte har använt Azure Update Manager tidigare och vill veta mer kan du läsa översikten över Update Manager. Information om hur du använder Azure REST API för att hantera virtuella Azure-datorer finns i Så här fungerar du programmatiskt med virtuella Azure-datorer.

Med Update Manager i Azure kan du använda Azure REST API för åtkomst programmatiskt. Dessutom kan du använda lämpliga REST-kommandon från Azure PowerShell och Azure CLI.

Stöd för Azure REST API för att hantera Azure Arc-aktiverade servrar är tillgängligt via tillägget för den virtuella datorn Update Manager.

Kontroll av uppdateringar

Om du vill utlösa en uppdateringsutvärdering på din Azure Arc-aktiverade server anger du följande POST-begäran:

Om du vill ange POST-begäran kan du använda kommandot Azure CLI az rest .

az rest --method post --url https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview --body @body.json

Uppdatera driftsättning

Om du vill utlösa en uppdateringsdistribution till din Azure Arc-aktiverade server anger du följande POST-begäran:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview`

Begärandeinnehåll

I följande tabell beskrivs elementen i begärandetexten:

Egendom beskrivning
maximumDuration Maximal tid i minuter som os-uppdateringsåtgärden kan ta. Det måste vara en ISO 8601-kompatibel varaktighetssträng, till exempel PT100M.
rebootSetting Flagga för att ange om du ska starta om datorn, anger om Azure Update Manager (AUM) ska starta om datorn som en del av uppdateringsjobbet. Godtagbara värden är: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters Parameteralternativ för uppdatering av gästoperativsystem på en dator som kör ett Microsoft Windows Server-operativsystem som stöds.
windowsParameters - classificationsToInclude Lista över kategorier eller klassificeringar av os-uppdateringar som ska tillämpas, som stöds och tillhandahålls av Windows Server OS. Godtagbara värden är: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Update
windowsParameters - kbNumbersToInclude Lista över KB-ID:n för Windows Update som är tillgängliga för datorn och som du behöver installera. Om du har inkluderat några "classificationsToInclude" installeras de KB:er som är tillgängliga i kategorin. "kbNumbersToInclude" är ett alternativ för att tillhandahålla en lista över specifika KB-ID:n förutom dem som du vill installera. Till exempel: 1234
windowsParameters - kbNumbersToExclude Lista över ID:t för Windows Update KB som är tillgängliga för datorn och som inte ska installeras. Om du har inkluderat några 'classificationsToInclude' kommer de KB:er som är tillgängliga i kategorin att installeras. "kbNumbersToExclude" är ett alternativ för att ange en lista över specifika KB-ID:n som du vill se till att inte installeras. Till exempel: 5678
maxPatchPublishDate Detta används för att installera korrigeringar som publicerades på eller före det angivna maxpubliceringsdatumet.
linuxParameters Parameteralternativ för uppdatering av gästoperativsystem när datorn kör Linux-distribution som stöds
linuxParameters - classificationsToInclude Lista över kategorier eller klassificeringar av os-uppdateringar som ska tillämpas, som stöds och tillhandahålls av Linux OS-pakethanteraren som används. Godtagbara värden är: Critical, Security, Others. Mer information finns i Stöd för Linux-pakethanterare och operativsystem.
linuxParameters - packageNameMasksToInclude Lista över Linux-paket som är tillgängliga för datorn och som måste installeras. Om du har inkluderat några 'classificationsToInclude' kommer de paket som är tillgängliga i kategorin att installeras. "packageNameMasksToInclude" är ett alternativ för att ange en lista över paket utöver som du vill installera. Till exempel: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude Lista över Linux-paket som är tillgängliga för datorn och som inte ska installeras. Om du har inkluderat några 'classificationsToInclude' kommer de paket som är tillgängliga i kategorin att installeras. "packageNameMasksToExclude" är ett alternativ för att ange en lista över specifika paket som du vill se till att inte installeras. Till exempel: mysql, libc=1.0.1.1, kernel*

Om du vill ange POST-begäran kan du använda kommandot Azure CLI az rest .

az rest --method post --url https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/Test/providers/Microsoft.HybridCompute/machines/WIN-8/installPatches?api-version=2020-08-15-preview @body.json

Formatet för begärandetexten för version 2020-08-15 är följande:

{
        "maximumDuration": "PT120M",
        "rebootSetting": "IfRequired",
        "windowsParameters": {
          "classificationsToInclude": [
            "Security",
            "UpdateRollup",
            "FeaturePack",
            "ServicePack"
          ],
          "kbNumbersToInclude": [
            "11111111111",
            "22222222222222"
          ],
          "kbNumbersToExclude": [
            "333333333333",
            "55555555555"
          ]
        }
  }

Skapa ett underhållskonfigurationsschema

Om du vill skapa ett underhållskonfigurationsschema anger du följande PUT-begäran:

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

Begärandeinnehåll

I följande tabell beskrivs elementen i begärandetexten:

Egendom beskrivning
id Fullständigt kvalificerad identifierare för resursen
location Hämtar eller anger resursens plats
name Namn på resursen
properties.extensionProperties Hämtar eller anger tilläggsegenskaper för underhållskonfigurationen
properties.maintenanceScope Hämtar eller ställer in underhållsomfattning för konfigurationen
properties.maintenanceWindow.duration Varaktighet för underhållsperioden i HH:mm-format. Om det inte anges används standardvärdet baserat på det underhållsomfång som tillhandahålls. Exempel: 05:00.
properties.maintenanceWindow.expirationDateTime Gällande förfallodatum för underhållsperioden i YYYY-MM-DD hh:MM-format. Fönstret skapas i den angivna tidszonen och justeras för sommartid enligt den tidszonens regler. Du måste ange förfallodatumet till ett framtida datum. Om det inte anges, sätts det till högsta datum och tid 9999-12-31 23:59:59.
properties.maintenanceWindow.recurEvery Frekvensen med vilken ett underhållsfönster förväntas återkomma. Priset kan uttryckas som dagliga, veckovisa eller månatliga scheman. Du kan formatera dagliga scheman med recurEvery: [Frekvens som heltal]['Dag(ar)']. Om ingen frekvens anges är standardfrekvensen 1. Exempel på dagligt schema är recurEvery: Day, recurEvery: 3Days. Veckoscheman formateras som recurEvery: [Frequency as integer]['Week(s)'] [Valfri kommaavgränsad lista över vardagar måndag-söndag]. Exempel på veckoscheman är återkommande: var 3:e vecka, återkommande: varje vecka på lördag, söndag. Du kan formatera månatliga scheman som [Frekvens som heltal]['Month(s)'] [Kommaavgränsad lista över månadsdagar] eller [Frekvens som heltal]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Månatliga schemaexempel är återkommerVarje: månad, återkommerVarje: 2Månader, återkommerVarje: månad dag23, dag24, återkommerVarje: månad sista söndag, återkommerVarje: månad fjärde måndag.
properties.maintenanceWindow.startDateTime Gällande startdatum för underhållsperioden i YYYY-MM-DD hh:mm-format. Du kan ange startdatumet till antingen aktuellt datum eller framtida datum. Fönstret skapas i den angivna tidszonen och justeras till sommartid enligt den tidszonen.
properties.maintenanceWindow.timeZone Namnet på tidszonen. Du kan hämta listan över tidszoner genom att köra [System.TimeZoneInfo]:GetSystemTimeZones() i PowerShell. Exempel: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australien, standardtid.
properties.namespace Hämtar eller anger resursens namnområde
properties.visibility Hämtar eller anger synligheten för konfigurationen. Standardvärdet är "Anpassad"
systemData Azure Resource Manager-metadata som innehåller createdBy och modifiedBy information.
tags Hämtar eller anger taggar för resursen
type Typ av resurs
az maintenance configuration create \
   --resource-group myMaintenanceRG \
   --resource-name myConfig \
   --maintenance-scope InGuestPatch \
   --location eastus \
   --maintenance-window-duration "02:00" \
   --maintenance-window-recur-every "20days" \
   --maintenance-window-start-date-time "2022-12-30 07:00" \
   --maintenance-window-time-zone "Pacific Standard Time" \
   --install-patches-linux-parameters package-name-masks-to-exclude="ppt" package-name-masks-to-include="apt" classifications-to-include="Other" \
   --install-patches-windows-parameters kb-numbers-to-exclude="KB123456" kb-numbers-to-include="KB123456" classifications-to-include="FeaturePack" \
   --reboot-setting "IfRequired" \
   --extension-properties InGuestPatchMode="User"

Associera en virtuell dator med ett schema

Om du vill associera en virtuell dator med ett underhållskonfigurationsschema anger du följande PUT-begäran:

PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
az maintenance assignment create \
   --resource-group myMaintenanceRG \
   --location eastus \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"

Ta bort datorn från schemat

Om du vill ta bort en dator från schemat hämtar du alla namn på konfigurationstilldelningen för den dator som du har skapat för att associera datorn med det aktuella schemat från Azure Resource Graph enligt listan:

az maintenance configuration delete \
   --resource-group myMaintenanceRG \
   --location eastus \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"

Nästa steg

  • Information om hur du visar uppdateringsutvärderings- och distributionsloggar som genererats av Update Manager finns i frågeloggar
  • Information om hur du felsöker problem finns i Felsöka Uppdateringshanteraren
  • PowerShell-referens för Az.Maintenance Module