Udostępnij za pośrednictwem


Tworzenie harmonogramów aktualizacji

Harmonogramy aktualizacji można zarządzać przy użyciu witryny Azure Portal lub nowych modułów poleceń cmdlet programu PowerShell.

Aby utworzyć harmonogram aktualizacji za pośrednictwem witryny Azure Portal, zobacz Planowanie cyklicznych aktualizacji na jednej maszynie wirtualnej.

Moduł Az.Automation obsługuje teraz konfigurowanie rozwiązania Update Management przy użyciu programu Azure PowerShell. Polecenie cmdlet New-AzAutomationUpdateManagementAzureQuery umożliwia używanie tagów, lokalizacji i zapisanych wyszukiwań w celu skonfigurowania harmonogramów aktualizacji dla elastycznej grupy maszyn.

Przykładowy skrypt

Przykładowy skrypt w tej sekcji ilustruje użycie tagowania i wykonywania zapytań w celu tworzenia dynamicznych grup maszyn, do których można zastosować harmonogramy aktualizacji. Wykonuje następujące akcje. Podczas tworzenia własnych skryptów można odwoływać się do implementacji określonych akcji.

  • Tworzy harmonogram aktualizacji usługi Azure Automation uruchamiany co sobotę o godzinie 8:00.
  • Tworzy zapytanie dla wszystkich maszyn, które spełniają następujące kryteria:
    • Wdrożono w lokalizacji platformy Azure westus, eastuslub eastus2.
    • Ma tag Owner zastosowany z wartością ustawioną na JaneSmith.
    • Zastosowano tag Production z wartością ustawioną na true.
  • Stosuje harmonogram aktualizacji do zapytanych maszyn i ustawia dwugodzinne okno aktualizacji.

Przed uruchomieniem przykładowego skryptu należy zalogować się przy użyciu polecenia cmdlet Connect-AzAccount. Po uruchomieniu skryptu podaj następujące informacje:

  • Identyfikator subskrypcji docelowej
  • Docelowa grupa zasobów
  • Nazwa obszaru roboczego usługi Log Analytics
  • Nazwa konta usługi 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

Następne kroki

Zobacz przykłady implementowania typowych zasad w usłudze Azure, które mogą pomóc w zarządzaniu serwerami.

typowe zasady w usłudze Azure