Partager via


Créer des planifications de mise à jour

Vous pouvez gérer les planifications de mise à jour à l’aide du portail Azure ou des nouveaux modules d’applet de commande PowerShell.

Pour créer une planification de mise à jour par le biais du portail Azure, consultez Planifier un déploiement de mises à jour.

Le module Az.Automation prend désormais en charge la configuration d’Update Management à l’aide d’Azure PowerShell. L’applet de commande New-AzAutomationUpdateManagementAzureQuery vous permet d’utiliser des étiquettes, un emplacement et des recherches enregistrées afin de configurer des planifications de mise à jour pour un groupe flexible de machines.

Exemple de script

L’exemple de script de cette section illustre l’utilisation de l’étiquetage et de l’interrogation pour créer des groupes dynamiques d’ordinateurs auxquels vous pouvez appliquer des planifications de mise à jour. Il effectue les actions suivantes. Vous pouvez vous référer aux implémentations des actions spécifiques quand vous créez vos propres scripts.

  • Crée une planification de mise à jour Azure Automation qui s’exécute tous les samedis à 8 heures.
  • Crée une requête pour les machines qui satisfont à ces critères :
    • Déployée dans l’emplacement Azure westus, eastus ou eastus2.
    • Possède une étiquette Owner appliquée avec pour valeur JaneSmith.
    • Possède une étiquette Production appliquée avec pour valeur true.
  • Applique la planification de mise à jour aux ordinateurs interrogés et définit une fenêtre de mise à jour de deux heures.

Avant d’exécuter l’exemple de script, vous devez vous connecter à l’aide de l’applet de commande Connect-AzAccount. Lorsque vous démarrez le script, entrez les informations suivantes :

  • L’ID d’abonnement cible
  • Le groupe de ressources cible
  • Le nom de votre espace de travail Log Analytics
  • Le nom de votre compte Azure Automation

    <#
        .SYNOPSIS
            This script orchestrates the deployment of the solutions and the agents.
        .Parameter SubscriptionName
        .Parameter WorkspaceName
        .Parameter AutomationAccountName
        .Parameter ResourceGroupName

    #>

    param (
        [Parameter(Mandatory=$true)]
        [string] $SubscriptionId,

        [Parameter(Mandatory=$true)]
        [string] $ResourceGroupName,

        [Parameter(Mandatory=$true)]
        [string] $WorkspaceName,

        [Parameter(Mandatory=$true)]
        [string] $AutomationAccountName,

        [Parameter(Mandatory=$false)]
        [string] $scheduleName = "SaturdayCriticalSecurity"
    )

    Import-Module Az.Automation

    $startTime = ([DateTime]::Now).AddMinutes(10)
    $schedule = New-AzAutomationSchedule -ResourceGroupName $ResourceGroupName `
        -AutomationAccountName $AutomationAccountName `
        -StartTime $startTime `
        -Name $scheduleName `
        -Description "Saturday patches" `
        -DaysOfWeek Saturday `
        -WeekInterval 1 `
        -ForUpdateConfiguration

    # Using AzAutomationUpdateManagementAzureQuery to create dynamic groups.

    $queryScope = @("/subscriptions/$SubscriptionID/resourceGroups/")

    $query1Location =@("westus", "eastus", "eastus2")
    $query1FilterOperator = "Any"
    $ownerTag = @{ "Owner"= @("JaneSmith") }
    $ownerTag.Add("Production", "true")

    $DGQuery = New-AzAutomationUpdateManagementAzureQuery -ResourceGroupName $ResourceGroupName `
        -AutomationAccountName $AutomationAccountName `
        -Scope $queryScope `
        -Tag $ownerTag

    $AzureQueries = @($DGQuery)

    $UpdateConfig = New-AzAutomationSoftwareUpdateConfiguration -ResourceGroupName $ResourceGroupName `
        -AutomationAccountName $AutomationAccountName `
        -Schedule $schedule `
        -Windows `
        -Duration (New-TimeSpan -Hours 2) `
        -AzureQuery $AzureQueries `
        -IncludedUpdateClassification Security,Critical

Étapes suivantes

Consultez des exemples d’implémentation de stratégies courantes dans Azure qui peuvent vous aider à gérer vos serveurs.