Créer des planifications de mise à jour
Vous pouvez gérer les planifications de mise à jour à l’aide du portail Azure ou des nouveaux modules d’applet de commande PowerShell.
Pour créer une planification de mise à jour par le biais du portail Azure, consultez Planifier un déploiement de mises à jour.
Le module Az.Automation
prend désormais en charge la configuration d’Update Management à l’aide d’Azure PowerShell. L’applet de commande New-AzAutomationUpdateManagementAzureQuery
vous permet d’utiliser des étiquettes, un emplacement et des recherches enregistrées afin de configurer des planifications de mise à jour pour un groupe flexible de machines.
Exemple de script
L’exemple de script de cette section illustre l’utilisation de l’étiquetage et de l’interrogation pour créer des groupes dynamiques d’ordinateurs auxquels vous pouvez appliquer des planifications de mise à jour. Il effectue les actions suivantes. Vous pouvez vous référer aux implémentations des actions spécifiques quand vous créez vos propres scripts.
- Crée une planification de mise à jour Azure Automation qui s’exécute tous les samedis à 8 heures.
- Crée une requête pour les machines qui satisfont à ces critères :
- Déployée dans l’emplacement Azure
westus
,eastus
oueastus2
. - Possède une étiquette
Owner
appliquée avec pour valeurJaneSmith
. - Possède une étiquette
Production
appliquée avec pour valeurtrue
.
- Déployée dans l’emplacement Azure
- Applique la planification de mise à jour aux ordinateurs interrogés et définit une fenêtre de mise à jour de deux heures.
Avant d’exécuter l’exemple de script, vous devez vous connecter à l’aide de l’applet de commande Connect-AzAccount
. Lorsque vous démarrez le script, entrez les informations suivantes :
- L’ID d’abonnement cible
- Le groupe de ressources cible
- Le nom de votre espace de travail Log Analytics
- Le nom de votre compte 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
Étapes suivantes
Consultez des exemples d’implémentation de stratégies courantes dans Azure qui peuvent vous aider à gérer vos serveurs.