Gestion de la maintenance planifiée à l’aide de PowerShell
S’applique aux : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles ✔️ Groupes identiques uniformes
Vous pouvez utiliser Azure PowerShell pour savoir quand la maintenance des machines virtuelles a été planifiée. Les informations de maintenance planifiée sont disponibles à partir de la cmdlet Get-AzVM lorsque vous utilisez le paramètre -status
.
Les informations de maintenance sont retournées uniquement en cas de maintenance planifiée. Si aucune maintenance planifiée n’impacte la machine virtuelle, l’applet de commande ne retourne pas d’informations de maintenance.
Get-AzVM -ResourceGroupName myResourceGroup -Name myVM -Status
Sortie
MaintenanceRedeployStatus :
IsCustomerInitiatedMaintenanceAllowed : True
PreMaintenanceWindowStartTime : 5/14/2018 12:30:00 PM
PreMaintenanceWindowEndTime : 5/19/2018 12:30:00 PM
MaintenanceWindowStartTime : 5/21/2018 4:30:00 PM
MaintenanceWindowEndTime : 6/4/2018 4:30
LastOperationResultCode : None
Les propriétés suivantes sont retournées sous MaintenanceRedeployStatus :
Valeur | Description |
---|---|
IsCustomerInitiatedMaintenanceAllowed | Indique si vous pouvez démarrer la maintenance sur la machine virtuelle maintenant |
PreMaintenanceWindowStartTime | Début de la fenêtre de maintenance en libre-service lorsque vous pouvez lancer la maintenance sur votre machine virtuelle |
PreMaintenanceWindowEndTime | Fin de la fenêtre de maintenance en libre-service lorsque vous pouvez lancer la maintenance sur votre machine virtuelle |
MaintenanceWindowStartTime | Début de la maintenance planifiée pendant laquelle Azure lance la maintenance sur votre machine virtuelle |
MaintenanceWindowEndTime | Fin de la fenêtre de maintenance planifiée pendant laquelle Azure lance la maintenance sur votre machine virtuelle |
LastOperationResultCode | Résultat de la dernière tentative de lancement de la maintenance sur la machine virtuelle |
Vous pouvez également obtenir l'état de maintenance de toutes les machines virtuelles d'un groupe de ressources à l'aide de Get-AzVM sans spécifier de machine virtuelle.
Get-AzVM -ResourceGroupName myResourceGroup -Status
L’exemple PowerShell suivant prend votre ID d’abonnement et retourne une liste de machines virtuelles indiquant si elles sont planifiées en maintenance.
function MaintenanceIterator {
param (
$SubscriptionId
)
Select-AzSubscription -SubscriptionId $SubscriptionId | Out-Null
$rgList = Get-AzResourceGroup
foreach ($rg in $rgList) {
$vmList = Get-AzVM -ResourceGroupName $rg.ResourceGroupName
foreach ($vm in $vmList) {
$vmDetails = Get-AzVM -ResourceGroupName $rg.ResourceGroupName -Name $vm.Name -Status
[pscustomobject]@{
Name = $vmDetails.Name
ResourceGroupName = $rg.ResourceGroupName
IsCustomerInitiatedMaintenanceAllowed = [bool]$vmDetails.MaintenanceRedeployStatus.IsCustomerInitiatedMaintenanceAllowed
LastOperationMessage = $vmDetails.MaintenanceRedeployStatus.LastOperationMessage
}
}
}
}
À l’aide des informations de la fonction de la section précédente, la commande suivante démarre la maintenance sur une machine virtuelle si IsCustomerInitiatedMaintenanceAllowed est défini sur true.
MaintenanceIterator -SubscriptionId <Subscription ID> |
Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
Restart-AzVM -PerformMaintenance
Important
Les machines virtuelles créées avec le modèle de déploiement classique vont être supprimées le 1er septembre 2023.
Si vous utilisez des ressources IaaS provenant d’Azure Service Management, effectuez la migration avant le 1er septembre 2023. Nous vous encourageons à effectuer le basculement plus tôt plus pour tirer parti des nombreuses fonctionnalités améliorées d’Azure Resource Manager.
Pour plus d’informations, consultez Migrez vos ressources IaaS vers Azure Resource Manager avant le 1er septembre 2023.
Si vous avez encore des machines virtuelles qui ont été déployées à l’aide du modèle de déploiement Classic, vous pouvez utiliser PowerShell pour interroger ces machines virtuelles et démarrer la maintenance.
Pour obtenir l’état de la maintenance d’une machine virtuelle, tapez :
Get-AzureVM -ServiceName <Service name> -Name <VM name>
Pour démarrer la maintenance sur votre machine virtuelle classique, tapez :
Restart-AzureVM -InitiateMaintenance -ServiceName <service name> -Name <VM name>
Vous pouvez également gérer la maintenance planifiée à l’aide d’Azure CLI ou du portail.