Updateschema's maken

U kunt updateschema's beheren met behulp van de Azure Portal of de nieuwe PowerShell-cmdletmodules.

Zie Een update-implementatie plannen om een updateplanning te maken via de Azure Portal.

De Az.Automation module ondersteunt nu het configureren van Updatebeheer met behulp van Azure PowerShell. Met de New-AzAutomationUpdateManagementAzureQuery cmdlet kunt u tags, locatie en opgeslagen zoekopdrachten gebruiken om updateschema's voor een flexibele groep computers te configureren.

Voorbeeldscript

Het voorbeeldscript in deze sectie illustreert het gebruik van taggen en query's om dynamische groepen computers te maken waarop u updateschema's kunt toepassen. De volgende acties worden uitgevoerd. U kunt verwijzen naar de implementaties van de specifieke acties wanneer u uw eigen scripts maakt.

  • Hiermee maakt u een Azure Automation updateschema dat elke zaterdag om 8:00 uur wordt uitgevoerd.
  • Hiermee maakt u een query voor alle computers die voldoen aan deze criteria:
    • Geïmplementeerd op de westus, eastusof eastus2 Azure-locatie.
    • Heeft een Owner tag toegepast met een waarde die is ingesteld op JaneSmith.
    • Heeft een Production tag toegepast met een waarde die is ingesteld op true.
  • Past het updateschema toe op de opgevraagde computers en stelt een updatevenster van twee uur in.

Voordat u het voorbeeldscript uitvoert, moet u zich aanmelden met behulp van de Connect-AzAccount cmdlet. Wanneer u het script start, geeft u de volgende informatie op:

  • De doelabonnements-id
  • De doelresourcegroep
  • Naam van uw Log Analytics-werkruimte
  • De naam van uw Azure Automation-account

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

Volgende stappen

Bekijk voorbeelden van het implementeren van algemeen beleid in Azure waarmee u uw servers kunt beheren.