Dela via


Så här hanterar du programmatiskt uppdateringar för virtuella Azure-datorer

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

Med Azure 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 virtuella Azure-datorer ä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å den virtuella Azure-datorn anger du följande POST-begäran:

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

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

az vm assess-patches -g MyResourceGroup -n MyVm

Uppdatera distribution

Om du vill utlösa en uppdateringsdistribution till den virtuella Azure-datorn anger du följande POST-begäran:

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

Begärandetext

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

Property beskrivning
maximumDuration Maximal tid som åtgärden körs. Det måste vara en ISO 8601-kompatibel varaktighetssträng, till exempel PT4H (4 timmar).
rebootSetting Flagga för att ange om datorn ska startas om och om installationen av gästoperativsystemet kräver att den är klar. Godtagbara värden är: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters Parameteralternativ för uppdatering av gästoperativsystem på virtuella Azure-datorer som kör ett Microsoft Windows Server-operativsystem som stöds.
windowsParameters - classificationsToInclude Lista över kategorier/klassificeringar som ska användas för att välja de uppdateringar som ska installeras på datorn. Godtagbara värden är: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Updates
windowsParameters - kbNumbersToInclude Lista över WINDOWS Update KB-ID:t som ska installeras. Alla uppdateringar som hör till de klassificeringar som anges i classificationsToInclude listan installeras. kbNumbersToInclude är en valfri lista över specifika KB:er som ska installeras utöver klassificeringarna. Till exempel: 1234
windowsParameters - kbNumbersToExclude Lista över Windows Update KB-ID:er som inte ska installeras. Den här parametern åsidosätter windowsParameters - classificationsToInclude, vilket innebär att ett Kb-ID för Windows Update som anges här inte installeras även om det tillhör den klassificering som anges under classificationsToInclude parametern.
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 på virtuella Azure-datorer som kör ett Linux-serveroperativsystem som stöds.
linuxParameters - classificationsToInclude Lista över kategorier/klassificeringar som ska användas för att välja de uppdateringar som ska installeras på datorn. Godtagbara värden är: Critical, Security, Other
linuxParameters - packageNameMasksToInclude Lista över Linux-paket som ska installeras. Alla uppdateringar som hör till de klassificeringar som anges i classificationsToInclude listan installeras. packageNameMasksToInclude är en valfri lista över paketnamn som ska installeras utöver klassificeringarna. Till exempel: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude Lista över uppdateringar som inte ska installeras. Den här parametern åsidosätter linuxParameters - packageNameMasksToExclude, vilket innebär att ett paket som anges här inte installeras även om det tillhör den klassificering som anges under classificationsToInclude parametern.

Om du vill ange POST-begäran kan du använda följande Azure REST API-anrop med giltiga parametrar och värden.

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

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ärandetext

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

Property 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äggEgenskaper för underhållKonfiguration
properties.maintenanceScope Hämtar eller ställer in underhållScope 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 tillhandahållna underhållsomfånget. 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 tidszonen som tillhandahålls till sommartid enligt den tidszonen. Förfallodatum måste anges till ett framtida datum. Om den inte anges anges den till den maximala datetime 9999-12-31 23:59:59.
properties.maintenanceWindow.recurEvery Hastighet med vilken ett underhållsperiod förväntas återkomma. Priset kan uttryckas som dagliga, veckovisa eller månatliga scheman. Dagliga scheman formateras som recurEvery: [Frequency as integer]['Day(s)']. 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 recurEvery: 3Weeks, recurEvery: Week Saturday, Sunday. Månadsscheman formateras 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 recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.
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. En lista över tidszoner kan hämtas 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

Om du vill ange POST-begäran kan du använda följande Azure REST API-anrop med giltiga parametrar och värden.

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

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`

Om du vill ange PUT-begäran kan du använda följande Azure REST API-anrop med giltiga parametrar och värden.

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

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 skapades för att associera datorn med det aktuella schemat från Azure Resource Graph enligt listan:

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

När du har hämtat namnet ovan tar du bort konfigurationstilldelningen genom att följa DELETE-begäran -

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

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.