Partilhar via


Criar agendas de atualização

Pode gerir agendas de atualização com o portal do Azure ou os novos módulos de cmdlets do PowerShell.

Para criar uma agenda de atualização através do portal do Azure, consulte Agendar uma implementação de atualização.

O Az.Automation módulo suporta agora a configuração da Gestão de Atualizações com Azure PowerShell. O New-AzAutomationUpdateManagementAzureQuery cmdlet permite-lhe utilizar etiquetas, localização e pesquisas guardadas para configurar agendas de atualização para um grupo flexível de máquinas.

Script de exemplo

O script de exemplo nesta secção ilustra a utilização de etiquetas e consultas para criar grupos dinâmicos de computadores aos quais pode aplicar agendas de atualização. Executa as seguintes ações. Pode consultar as implementações das ações específicas quando cria os seus próprios scripts.

  • Cria uma Automatização do Azure agenda de atualização que é executada todos os sábados às 8:00.
  • Cria uma consulta para qualquer máquina que corresponda a estes critérios:
    • Implementado na localização do , eastusou eastus2 do westusAzure.
    • Tem uma Owner etiqueta aplicada com um valor definido como JaneSmith.
    • Tem uma Production etiqueta aplicada com um valor definido como true.
  • Aplica a agenda de atualização às máquinas consultadas e define uma janela de atualização de duas horas.

Antes de executar o script de exemplo, terá de iniciar sessão com o Connect-AzAccount cmdlet. Quando iniciar o script, forneça as seguintes informações:

  • O ID da subscrição de destino
  • O grupo de recursos de destino
  • O nome da área de trabalho do Log Analytics
  • O nome da sua conta Automatização do 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

Passos seguintes

Veja exemplos de como implementar políticas comuns no Azure que podem ajudar a gerir os seus servidores.