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:

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

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

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

{
}

Uppdatera distribution

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

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

Property 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 och om installationen av gästoperativsystemet behöver den för slutförande. 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:t 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 tillgängliga KB:erna i kategorin. "kbNumbersToInclude" är ett alternativ för att ange en lista över specifika KB-ID:n utöver som du vill installera. Till exempel: 1234
windowsParameters - kbNumbersToExclude Lista över Windows Update KB-ID:er som är tillgängliga för datorn och som inte ska installeras. Om du har inkluderat några "classificationsToInclude" installeras de tillgängliga KB:erna i kategorin. "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" installeras de paket som är tillgängliga i kategorin. "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" installeras de paket som är tillgängliga i kategorin. "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 följande Azure REST API-anrop med giltiga parametrar och värden.

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

{
        "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 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 tidszonen som tillhandahålls till sommartid enligt den tidszonen. Du måste ange förfallodatumet till ett framtida datum. Om det inte anges anges det 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. Du kan formatera dagliga scheman som recurEvery: [Frequency as integer]['Day(s)']. Om ingen frekvens anges är standardfrekvensen 1. Exempel på dagligt schema är recurEvery: Day, recurEvery: 3Days. Veckoschemat 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. 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 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. 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

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/0f55bb56-6089-4c7e-9306-41fb78fc5844/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/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourceGroups/atscalepatching/providers/Microsoft.Compute/virtualMachines/win-atscalepatching-1/providers/Microsoft.Maintenance/configurationAssignments/TestAzureInGuestAdv?api-version=2021-09-01-preview

{
  "properties": {
    "maintenanceConfigurationId": "/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/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 du har skapat 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.