Behandeln von geplanten Wartungen mithilfe von PowerShell
Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs ✔️ Flexible Skalierungsgruppen ✔️ Einheitliche Skalierungsgruppen
Sie können mithilfe von Azure PowerShell ermitteln, wann die Wartung für VMs geplant ist. Informationen zur geplanten Wartung können mit dem Cmdlet Get-AzVM unter Verwendung des Parameters -status
ermittelt werden.
Wartungsinformationen werden nur zurückgegeben, wenn eine Wartung geplant ist. Ist keine Wartung für den virtuellen Computer geplant, gibt das Cmdlet keine Wartungsinformationen zurück.
Get-AzVM -ResourceGroupName myResourceGroup -Name myVM -Status
Output
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
Unter „MaintenanceRedeployStatus“ werden folgende Eigenschaften zurückgegeben:
Wert | BESCHREIBUNG |
---|---|
IsCustomerInitiatedMaintenanceAllowed | Gibt an, ob Sie zum aktuellen Zeitpunkt die Wartung für den virtuellen Computer starten können. |
PreMaintenanceWindowStartTime | Der Anfang des Self-Service-Wartungszeitfensters, in dem Sie die Wartung für Ihren virtuellen Computer initiieren können. |
PreMaintenanceWindowEndTime | Das Ende des Self-Service-Wartungszeitfensters, in dem Sie die Wartung für Ihren virtuellen Computer initiieren können. |
MaintenanceWindowStartTime | Der Anfang der geplanten Wartung, zu dem Azure die Wartung für Ihren virtuellen Computer initiiert |
MaintenanceWindowEndTime | Das Ende des geplanten Wartungszeitfensters, in dem Azure die Wartung für Ihren virtuellen Computer initiiert |
LastOperationResultCode | Das Ergebnis des letzten Wartungsinitiierungsversuchs für den virtuellen Computer. |
Sie können auch den Wartungsstatus für alle virtuellen Computer in einer Ressourcengruppe abrufen. Verwenden Sie hierzu Get-AzVM ohne Angabe eines virtuellen Computers.
Get-AzVM -ResourceGroupName myResourceGroup -Status
Das folgende PowerShell-Beispiel übernimmt Ihre Abonnement-ID und gibt eine Liste mit VMs zurück, die darauf hindeuten, dass sie für eine Wartung geplant sind.
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
}
}
}
}
Starten der Wartung für Ihren virtuellen Computer mithilfe von PowerShell
Der folgende Befehl enthält Informationen aus der Funktion des vorherigen Abschnitts und startet die Wartung für einen virtuellen Computer, sofern IsCustomerInitiatedMaintenanceAllowed auf „true“ festgelegt ist.
MaintenanceIterator -SubscriptionId <Subscription ID> |
Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
Restart-AzVM -PerformMaintenance
Klassische Bereitstellungen
Wichtig
VMs, die mit dem klassischen Bereitstellungsmodell erstellt wurden, laufen am 1. September 2023 aus.
Wenn Sie IaaS-Ressourcen von Azure Service Management verwenden, schließen Sie bitte Ihre Migration bis zum 1. September 2023 ab. Es wird empfohlen, den Wechsel früher vorzunehmen, um die vielen verbesserten Features in Azure Resource Manager zu nutzen.
Weitere Informationen finden Sie unter Migrieren Ihrer IaaS-Ressourcen zu Azure Ressource Manager bis zum 1. September 2023.
Wenn Sie ältere virtuelle Computer besitzen, die mit dem klassischen Bereitstellungsmodell bereitgestellt wurden, können Sie mit PowerShell virtuelle Computer abfragen und die Wartung initiieren.
Geben Sie zum Abrufen des Wartungsstatus eines virtuellen Computers Folgendes ein:
Get-AzureVM -ServiceName <Service name> -Name <VM name>
Geben Sie zum Starten der Wartung auf dem klassischen virtuellen Computer Folgendes ein:
Restart-AzureVM -InitiateMaintenance -ServiceName <service name> -Name <VM name>
Nächste Schritte
Sie können die geplante Wartung auch mithilfe der Azure CLI oder mit dem Portal vornehmen.