Creare pianificazioni degli aggiornamenti

È possibile gestire le pianificazioni degli aggiornamenti usando il portale di Azure o i nuovi moduli cmdlet di PowerShell.

Per creare una pianificazione degli aggiornamenti tramite il portale di Azure, vedere Pianificare una distribuzione di aggiornamenti.

Il modulo Az.Automation supporta ora la configurazione Gestione aggiornamenti usando Azure PowerShell. Il cmdlet New-AzAutomationUpdateManagementAzureQuery consente di usare tag, posizione e ricerche salvate per configurare le pianificazioni degli aggiornamenti per un gruppo flessibile di computer.

Script di esempio

Lo script di esempio in questa sezione illustra l'uso di tag ed esecuzione di query per creare gruppi dinamici di computer a cui è possibile applicare le pianificazioni degli aggiornamenti. Esegue le azioni seguenti. È possibile fare riferimento alle implementazioni delle azioni specifiche quando si creano script personalizzati.

  • Crea una pianificazione degli aggiornamenti dell’Automazione di Azure che viene eseguita ogni sabato alle 8:00.
  • Crea una query per tutti i computer che soddisfano questi criteri:
    • Distribuito nel percorso westus, eastus o eastus2 di Azure.
    • Ha un tag Owner applicato con un valore impostato su JaneSmith.
    • Ha un tag Production applicato con un valore impostato su true.
  • Applica la pianificazione degli aggiornamenti ai computer sottoposti a query e imposta una finestra di aggiornamento di due ore.

Prima di eseguire lo script di esempio è necessario accedere usando il cmdlet Connect-AzAccount. Quando si avvia lo script, specificare le informazioni seguenti:

  • ID sottoscrizione di destinazione
  • Gruppo di risorse di destinazione
  • Nome dell'area di lavoro Log Analytics
  • Nome dell'account di Automazione di Azure

    <#
        .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

Passaggi successivi

Vedere esempi di come implementare i criteri comuni in Azure che consentono di gestire i server.