更新スケジュールの作成Create update schedules

Azure portal または新しい PowerShell コマンドレット モジュールを使用して、更新スケジュールを管理できます。You can manage update schedules by using the Azure portal or the new PowerShell cmdlet modules.

Azure portal を使用して更新スケジュールを作成するには、「更新プログラムのデプロイをスケジュールする」をご覧ください。To create an update schedule via the Azure portal, see Schedule an update deployment.

Azure PowerShell を使用した更新管理の構成が Az.Automation モジュールで新たにサポートされました。The Az.Automation module now supports configuring update management by using Azure PowerShell. モジュールのバージョン 1.7.0 では、New-AzAutomationUpdateManagementAzureQuery コマンドレットのサポートが追加されました。Version 1.7.0 of the module adds support for the New-AzAutomationUpdateManagementAzureQuery cmdlet. このコマンドレットを実行すると、タグ、場所、保存された検索を使用して、柔軟なグループのマシンの更新スケジュールを構成できます。This cmdlet lets you use tags, location, and saved searches to configure update schedules for a flexible group of machines.

サンプル スクリプトExample script

このセクションのサンプル スクリプトは、更新スケジュールを適用できるマシンの動的グループを作成するためのタグ付けとクエリの使用方法を示しています。The example script in this section illustrates the use of tagging and querying to create dynamic groups of machines that you can apply update schedules to. 実行されるアクションは次のとおりです。It performs the following actions. その具体的なアクションの実装を、独自のスクリプトを作成する際の参考としてください。You can refer to the implementations of the specific actions when you create your own scripts.

  • 毎週土曜日の午前 8:00 に実行する Azure Automation 更新スケジュールを作成します。Creates an Azure Automation update schedule that runs every Saturday at 8:00 AM.
  • 次の条件に一致するマシンのクエリを作成します。Creates a query for any machines that match these criteria:
    • westuseastuseastus2 のいずれかの Azure の場所にデプロイされている。Deployed in the westus, eastus, or eastus2 Azure location.
    • Owner タグが適用され、値が JaneSmith に設定されている。Has an Owner tag applied with a value set to JaneSmith.
    • Production タグが適用され、値が true に設定されている。Has a Production tag applied with a value set to true.
  • クエリ対象のマシンに更新スケジュールを適用し、2 時間の更新ウィンドウを設定します。Applies the update schedule to the queried machines and sets a two-hour update window.

サンプル スクリプトを実行する前に、Connect-AzAccount コマンドレットを使用してサインインする必要があります。Before you run the example script, you'll need to sign in by using the Connect-AzAccount cmdlet. スクリプトを開始するときに、次の情報を指定します。When you start the script, provide the following information:

  • ターゲット サブスクリプション IDThe target subscription ID
  • ターゲット リソース グループThe target resource group
  • Log Analytics ワークスペース名Your Log Analytics workspace name
  • Azure Automation アカウント名Your Azure Automation account name

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

次のステップNext steps

サーバーの管理に役立つ Azure の共通ポリシーを実装する方法の例をご覧ください。See examples of how to implement common policies in Azure that can help manage your servers.