Criar agendamentos de atualização
É possível gerenciar agendamentos de atualização com o portal do Azure ou os novos módulos de cmdlet do PowerShell.
Para criar um agendamento de atualização no portal do Azure, veja Agendar uma implantação de atualização.
O módulo Az.Automation
agora dá suporte à configuração do gerenciamento de atualizações no Azure PowerShell. O cmdlet New-AzAutomationUpdateManagementAzureQuery
permite usar marcas, localização e pesquisas salvas a fim de configurar agendamentos de atualização para um grupo flexível de máquinas.
Script de exemplo
O script de exemplo nesta seção ilustra o uso de marcações e consultas para criar grupos dinâmicos de computadores aos que seja possível aplicar agendamentos de atualização. Ele executa as ações a seguir. É possível consultar as implementações das ações específicas ao criar seus próprios scripts.
- Cria um agendamento de atualização da Automação do Azure que é executado todos os sábados às 8h.
- Cria uma consulta para todos os computadores que corresponderem a estes critérios:
- Implantado no local
westus
,eastus
oueastus2
do Azure. - Tem uma marca
Owner
aplicada com um valor definido comoJaneSmith
. - Tem uma marca
Production
aplicada com um valor definido comotrue
.
- Implantado no local
- Aplica o agendamento de atualização aos computadores consultados e define uma janela de atualização de duas horas.
Antes de executar o script de exemplo, faça logon usando o cmdlet Connect-AzAccount
. Ao iniciar o script, forneça as seguintes informações:
- A ID de assinatura de destino
- O grupo de recursos de destino
- O nome do workspace do Log Analytics
- O nome da conta de Automaçã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
Próximas etapas
Confira exemplos de como implementar políticas comuns no Azure que podem ajudar a gerenciar seus servidores.