Delen via


Updates voor servers met Azure Arc programmatisch beheren

In dit artikel wordt u begeleid bij het proces voor het gebruik van de Azure REST API voor het activeren van een evaluatie en een update-implementatie op uw servers met Azure Arc met Azure Update Manager in Azure. Als u niet eerder met Azure Update Manager werkt en u meer wilt weten, raadpleegt u het overzicht van Update Manager. Als u de Azure REST API wilt gebruiken om virtuele Azure-machines te beheren, raadpleegt u Programmatisch werken met virtuele Azure-machines.

Met Update Manager in Azure kunt u de Azure REST API programmatisch gebruiken voor toegang. Daarnaast kunt u de juiste REST-opdrachten van Azure PowerShell en Azure CLI gebruiken.

Ondersteuning voor Azure REST API voor het beheren van servers met Azure Arc is beschikbaar via de extensie voor virtuele machines van Update Manager.

Update-evaluatie

Als u een update-evaluatie wilt activeren op uw Server met Azure Arc, geeft u de volgende POST-aanvraag op:

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

Als u de POST-aanvraag wilt opgeven, kunt u de Azure CLI az rest-opdracht gebruiken.

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

De indeling van de aanvraagbody voor versie 2020-08-15 is als volgt:

{
}

Update-implementatie

Als u een update-implementatie wilt activeren voor uw Server met Azure Arc, geeft u de volgende POST-aanvraag op:

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

Aanvraagtekst

In de volgende tabel worden de elementen van de aanvraagbody beschreven:

Eigenschappen Beschrijving
maximumDuration De maximale tijdsduur in minuten die de updatebewerking van het besturingssysteem kan duren. Het moet een iso 8601-compatibele duurtekenreeks zijn, zoals PT100M.
rebootSetting Vlag aan status als u de computer opnieuw moet opstarten en als de installatie van de gastbesturingssystemen-update deze nodig heeft voor voltooiing. Acceptabele waarden zijn: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters Parameteropties voor update van gastbesturingssysteem op computer waarop een ondersteund Microsoft Windows Server-besturingssysteem wordt uitgevoerd.
windowsParameters - classificationsToInclude Lijst met categorieën of classificaties van besturingssysteemupdates die moeten worden toegepast, zoals ondersteund en geleverd door het Windows Server-besturingssysteem. Acceptabele waarden zijn: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Update
windowsParameters - kbNumbersToInclude Lijst met WINDOWS Update KB-id's die beschikbaar zijn voor de computer en die u nodig hebt om te installeren. Als u 'classificationsToInclude' hebt opgenomen, worden de BESCHIKBARE KB's in de categorie geïnstalleerd. KbNumbersToInclude is een optie om een lijst met specifieke KB-id's op te geven die u wilt installeren. Bijvoorbeeld: 1234
windowsParameters - kbNumbersToExclude Lijst met WINDOWS Update KB-id's die beschikbaar zijn voor de computer en die niet mogen worden geïnstalleerd. Als u 'classificationsToInclude' hebt opgenomen, worden de beschikbare KB's in de categorie geïnstalleerd. KbNumbersToExclude is een optie voor het opgeven van een lijst met specifieke KB-id's die u wilt controleren of deze niet worden geïnstalleerd. Bijvoorbeeld: 5678
maxPatchPublishDate Dit wordt gebruikt om patches te installeren die zijn gepubliceerd op of vóór deze maximale gepubliceerde datum.
linuxParameters Parameteropties voor update van gastbesturingssystemen wanneer op de computer ondersteunde Linux-distributie wordt uitgevoerd
linuxParameters - classificationsToInclude Lijst met categorieën of classificaties van besturingssysteemupdates die moeten worden toegepast, zoals ondersteund en geleverd door pakketbeheer van het Linux-besturingssysteem. Acceptabele waarden zijn: Critical, Security, Others. Zie Linux-pakketbeheer en ondersteuning voor besturingssystemen voor meer informatie.
linuxParameters - packageNameMasksToInclude Lijst met Linux-pakketten die beschikbaar zijn voor de computer en moet worden geïnstalleerd. Als u 'classificationsToInclude' hebt opgenomen, worden de pakketten die beschikbaar zijn in de categorie geïnstalleerd. 'packageNameMasksToInclude' is een optie voor het opgeven van een lijst met pakketten die u wilt installeren. Bijvoorbeeld: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude Lijst met Linux-pakketten die beschikbaar zijn voor de computer en die niet mogen worden geïnstalleerd. Als u 'classificationsToInclude' hebt opgenomen, worden de pakketten die beschikbaar zijn in de categorie geïnstalleerd. 'packageNameMasksToExclude' is een optie voor het opgeven van een lijst met specifieke pakketten die u wilt controleren of niet wordt geïnstalleerd. Bijvoorbeeld: mysql, libc=1.0.1.1, kernel*

Als u de POST-aanvraag wilt opgeven, kunt u de volgende Azure REST API-aanroep gebruiken met geldige parameters en waarden.

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

Een onderhoudsconfiguratieschema maken

Als u een onderhoudsconfiguratieschema wilt maken, geeft u de volgende PUT-aanvraag op:

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

Aanvraagtekst

In de volgende tabel worden de elementen van de aanvraagbody beschreven:

Eigenschappen Beschrijving
id Volledig gekwalificeerde id van de resource
location Hiermee haalt u de locatie van de resource op of stelt u deze in
name Naam van de resource
properties.extensionProperties Hiermee haalt u extensionProperties van de maintenanceConfiguration op of stelt u deze in
properties.maintenanceScope Hiermee haalt u maintenanceScope van de configuratie op of stelt u deze in
properties.maintenanceWindow.duration Duur van het onderhoudsvenster in HH:mm-formaat. Indien niet opgegeven, wordt de standaardwaarde gebruikt op basis van het opgegeven onderhoudsbereik. Voorbeeld: 05:00.
properties.maintenanceWindow.expirationDateTime Effectieve vervaldatum van het onderhoudsvenster in de notatie JJJJ-MM-DD uu:MM. Het venster wordt gemaakt in de tijdzone die wordt geleverd aan zomertijd op basis van die tijdzone. U moet de vervaldatum instellen op een toekomstige datum. Indien niet opgegeven, wordt deze ingesteld op de maximale datum/tijd 9999-12-31 23:59:59.
properties.maintenanceWindow.recurEvery Snelheid waarmee een onderhoudsvenster naar verwachting opnieuw zal optreden. Het tarief kan worden uitgedrukt als dagelijkse, wekelijkse of maandelijkse schema's. U kunt dagelijkse planningen opmaken als recurEvery: [Frequentie als geheel getal][Dag(en)]. Als er geen frequentie wordt opgegeven, is de standaardfrequentie 1. Voorbeelden van dagelijkse planningen zijn recurEvery: Day, recurEvery: 3Days. Wekelijkse planning wordt opgemaakt als recurEvery: [Frequentie als geheel getal][Week(en)] [Optionele door komma's gescheiden lijst met weekdagen maandag-zondag]. Wekelijkse planningsvoorbeelden zijn recurEvery: 3Weeks, recurEvery: Week zaterdag, zondag. U kunt maandelijkse planningen opmaken als [Frequentie als geheel getal][Maand(en)] [Door komma's gescheiden lijst met maanddagen] of [Frequentie als geheel getal][Maand(en)] [Week van maand (eerste, tweede, derde, vierde, laatste)] [weekdag maandag-zondag]. Maandelijkse schemavoorbeelden zijn recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.
properties.maintenanceWindow.startDateTime Effectieve begindatum van het onderhoudsvenster in de notatie JJJJ-MM-DD uu:mm. U kunt de begindatum instellen op de huidige of toekomstige datum. Het venster wordt gemaakt in de opgegeven tijdzone en aangepast aan zomertijd op basis van die tijdzone.
properties.maintenanceWindow.timeZone Naam van de tijdzone. U kunt de lijst met tijdzones verkrijgen door [System.TimeZoneInfo]:GetSystemTimeZones() uit te voeren in PowerShell. Voorbeeld: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australië Standaardtijd.
properties.namespace Hiermee haalt u de naamruimte van de resource op of stelt u deze in
properties.visibility Hiermee haalt u de zichtbaarheid van de configuratie op of stelt u deze in. De standaardwaarde is 'Aangepast'
systemData Azure Resource Manager-metagegevens met createdBy- en modifiedBy-gegevens.
tags Hiermee haalt u tags van de resource op of stelt u deze in
type Type resource

Als u de POST-aanvraag wilt opgeven, kunt u de volgende Azure REST API-aanroep gebruiken met geldige parameters en waarden.

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

Een VIRTUELE machine koppelen aan een planning

Als u een VIRTUELE machine wilt koppelen aan een onderhoudsconfiguratieschema, geeft u de volgende PUT-aanvraag op:

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

Als u de PUT-aanvraag wilt opgeven, kunt u de volgende Azure REST API-aanroep gebruiken met geldige parameters en waarden.

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

Machine uit de planning verwijderen

Als u een machine uit de planning wilt verwijderen, haalt u alle configuratietoewijzingsnamen op voor de computer die u hebt gemaakt om de machine te koppelen aan de huidige planning uit Azure Resource Graph, zoals vermeld:

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

Nadat u de bovenstaande naam hebt verkregen, verwijdert u de configuratietoewijzing door de DELETE-aanvraag te volgen -

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

Volgende stappen