Share via


Programmgesteuerte Verwaltung von Updates für Azure Arc-fähige Server

Dieser Artikel führt Sie durch den Prozess der Verwendung der Azure REST-API zum Auslösen einer Bewertung und einer Updatebereitstellung auf Ihren Azure Arc-fähigen Servern mit Azure Update Manager in Azure. Wenn Sie mit Azure Update Manager noch nicht fertig sind und mehr erfahren möchten, finden Sie eine Übersicht über den Update-Manager. Informationen zur Verwendung der Azure REST-API zum Verwalten virtueller Azure-Computer finden Sie im Artikel zur programmgesteuerten Arbeit mit virtuellen Azure-Computern.

Der Update-Manager in Azure ermöglicht ihnen die verwendung der Azure REST-API für den programmgesteuerten Zugriff. Darüber hinaus können Sie die entsprechenden REST-Befehle aus Azure PowerShell und Azure CLI verwenden.

Die Unterstützung für die Azure REST-API zum Verwalten von Azure Arc-fähigen Servern ist über die Erweiterung des virtuellen Update-Managers verfügbar.

Updatebewertung

Um eine Updatebewertung für Azure Arc-fähige Server auszulösen, geben Sie die folgende POST-Anforderung an:

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

Um die POST-Anforderung anzugeben, können Sie den Azure CLI az rest-Befehl verwenden.

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

Das Format des Anforderungstexts für Version 2020-08-15 lautet:

{
}

Updatebereitstellung

Um eine Updatebereitstellung für Azure Arc-fähige Server auszulösen, geben Sie die folgende POST-Anforderung an:

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

Anforderungstext

In der folgenden Tabelle werden die Elemente des Anforderungstexts beschrieben:

Eigenschaft Beschreibung
maximumDuration Die maximal mögliche Dauer in Minuten des Betriebssystemupdatevorgangs. Es muss eine ISO 8601-kompatible Zeichenfolge für die Dauer sein, z. B. PT100M.
rebootSetting Flag to state if you should reboot the machine and if the Guest OS update installation needs it for completion. Folgende Werte sind zulässig: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters Parameteroptionen für das Gastbetriebssystemupdate auf Computern, auf denen ein unterstütztes Microsoft Windows Server-Betriebssystem ausgeführt wird.
windowsParameters - classificationsToInclude Liste der Kategorien oder Klassifizierungen von Betriebssystemupdates, die installiert werden sollen sowie vom Windows Server-Betriebssystem unterstützt und bereitgestellt werden. Folgende Werte sind zulässig: Critical, Security, UpdateRollUp, FeaturePack, ServicePack, Definition, Tools, Update
windowsParameters - kbNumbersToInclude Liste der Windows Update-KB-IDs, die für den Computer verfügbar sind und die Sie installieren müssen. Wenn Sie "classificationsToInclude" hinzugefügt haben, werden die in der Kategorie verfügbaren KBs installiert. Die Option „kbNumbersToInclude“ stellt eine Liste bestimmter KB-IDs von Updates bereit, die darüber hinaus installiert werden sollen. Beispiel: 1234
windowsParameters - kbNumbersToExclude Liste der Windows Update-KB-IDs, die für den Computer verfügbar sind und die nicht installiert werden sollten. Wenn Sie "classificationsToInclude" hinzugefügt haben, werden die in der Kategorie verfügbaren KBs installiert. Die Option „kbNumbersToExclude“ stellt eine Liste bestimmter KB-IDs von Updates bereit, die keinesfalls installiert werden sollen. Beispiel: 5678
linuxParameters Parameteroptionen für Gastbetriebssystemupdates, wenn auf dem Computer eine unterstützten Linux-Distribution ausgeführt wird
linuxParameters - classificationsToInclude Liste der Kategorien oder Klassifizierungen von Betriebssystemupdates, die angewendet werden sollen, wie unterstützt und von linux OS-Paket-Manager verwendet. Folgende Werte sind zulässig: Critical, Security, Others. Weitere Informationen finden Sie im Artikel zu Linux-Paket-Manager und Betriebssystemunterstützung.
linuxParameters - packageNameMasksToInclude Liste der Linux-Pakete, die auf dem Computer verfügbar sind und installiert werden müssen. Wenn Sie "classificationsToInclude" hinzugefügt haben, werden die in der Kategorie verfügbaren Pakete installiert. Die Option „packageNameMasksToInclude“ stellt eine Liste bestimmter Pakete bereit, die darüber hinaus installiert werden sollen. Beispiel: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude Liste der Linux-Pakete, die auf dem Computer verfügbar sind und nicht installiert werden sollen. Wenn Sie "classificationsToInclude" hinzugefügt haben, werden die in der Kategorie verfügbaren Pakete installiert. Die Option „packageNameMasksToExclude“ stellt eine Liste bestimmter Pakete bereit, die keinesfalls installiert werden sollen. Beispiel: mysql, libc=1.0.1.1, kernel*

Um die POST-Anforderung anzugeben, können Sie den folgenden Azure REST-API-Aufruf mit gültigen Parametern und Werten verwenden.

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

Erstellen eines Wartungskonfigurationszeitplans

Um einen Wartungskonfigurationsplan zu erstellen, geben Sie die folgende PUT-Anforderung an:

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

Anforderungstext

In der folgenden Tabelle werden die Elemente des Anforderungstexts beschrieben:

Eigenschaft Beschreibung
id Vollqualifizierter Bezeichner der Ressource
location Speicherort der Ressource abrufen oder festlegen
name Name der Ressource
properties.extensionProperties „extensionProperties“ von „maintenanceConfiguration“ abrufen oder festlegen
properties.maintenanceScope „maintenanceScope“ der Konfiguration abrufen oder festlegen
properties.maintenanceWindow.duration Dauer des Wartungsfensters im hh:mm-Format. Wenn nicht angegeben, wird der Standardwert basierend auf dem bereitgestellten Wartungsbereich verwendet. z. B. 05:00.
properties.maintenanceWindow.expirationDateTime Effektives Ablaufdatum des Wartungsfensters im JJJJ-MM-TT hh:mm-Format. Das Fenster wird in der Zeitzone erstellt, die für Sommereinsparungen gemäß dieser Zeitzone bereitgestellt wird. Sie müssen das Ablaufdatum auf ein zukünftiges Datum festlegen. Ohne Angabe wird es auf den maximalen Zeitpunkt (9999-12-31 23:59:59) festgelegt.
properties.maintenanceWindow.recurEvery Rate, mit der ein Wartungsfenster wiederholt werden soll. Die Rate kann als täglicher, wöchentlicher oder monatlicher Zeitplan ausgedrückt werden. Sie können tägliche Zeitpläne als "recurEvery" formatieren: [Häufigkeit als ganze Zahl]['Tag(n)']. Wird keine Rate angegeben, wird die Standardrate 1 verwendet. Beispiele für tägliche Zeitpläne sind recurEvery: Day, recurEvery: 3Days. Ein wöchentlicher Zeitplan wird als „recurEvery: [Rate als Ganzzahl]['Week(s)'] [Optionale kommagetrennte Liste der Wochentage Monday-Sunday]“ formatiert. Wöchentliche Zeitplanbeispiele sind recurEvery: 3Weeks, recurEvery: Woche Samstag, Sonntag. Sie können monatliche Zeitpläne als [Häufigkeit als ganze Zahl]['Monat(n)] [Durch Trennzeichen getrennte Liste der Monatstage] oder [Häufigkeit als ganze Zahl][Monat(n)] [Woche des Monats (Erste, Zweite, Dritte, Vierte, Letzte)] [Wochentag Montag-Sonntag] formatieren. Beispiele für einen monatlichen Zeitplan sind recurEvery: Monat, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Montag.
properties.maintenanceWindow.startDateTime Effektives Startdatum des Wartungsfensters im JJJJ-MM-TT hh:mm-Format. Sie können das Startdatum entweder auf das aktuelle Datum oder das zukünftige Datum festlegen. Das Fenster wird in der angegebenen Zeitzone erstellt und an die entsprechende Sommerzeit dieser Zeitzone angepasst.
properties.maintenanceWindow.timeZone Name der Zeitzone. Sie können die Liste der Zeitzonen abrufen, indem Sie [System.TimeZoneInfo]:GetSystemTimeZones() in PowerShell ausführen. Beispiel: Pacific Normalzeit, UTC, Mitteleuropäische Zeit, Koreanische Normalzeit, Zentralaustralische Normalzeit.
properties.namespace Namespace der Ressource abrufen oder festlegen
properties.visibility Sichtbarkeit der Konfiguration abrufen oder festlegen. Der Standardwert lautet „Custom“.
systemData Azure Resource Manager-Metadaten mit createdBy- und modifiedBy-Informationen.
tags Tags der Ressource abrufen oder festlegen
type Typ der Ressource

Um die POST-Anforderung anzugeben, können Sie den folgenden Azure REST-API-Aufruf mit gültigen Parametern und Werten verwenden.

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

Verknüpfen einer VM mit einem Zeitplan

Um eine VM mit einem Wartungskonfigurationsplan zu verknüpfen, geben Sie die folgende PUT-Anforderung an:

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

Um die PUT-Anforderung anzugeben, können Sie den folgenden Azure REST-API-Aufruf mit gültigen Parametern und Werten verwenden.

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

Computer aus dem Zeitplan entfernen

Um einen Computer aus dem Zeitplan zu entfernen, rufen Sie alle Konfigurationszuweisungsnamen für den Computer ab, den Sie erstellt haben, um den Computer dem aktuellen Zeitplan aus azure Resource Graph zuzuordnen, wie aufgeführt:

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

Nachdem Sie den Namen von oben abgerufen haben, löschen Sie die Konfigurationszuweisung, indem Sie der DELETE-Anforderung folgen -

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

Nächste Schritte

  • Informationen zum Anzeigen von Updatebewertungs- und Bereitstellungsprotokollen, die von Update Manager generiert werden, finden Sie unter Abfrageprotokolle.
  • Informationen zur Problembehandlung finden Sie im Update-Manager.