Gepland onderhoud afhandelen met Behulp van PowerShell
Van toepassing op: ✔️ Virtuele Linux-machines voor Windows-VM's ✔️ ✔️ Flexibele schaalsets Uniform-schaalsets ✔️
U kunt Azure PowerShell gebruiken om te zien wanneer VM's zijn gepland voor onderhoud. Informatie over gepland onderhoud is beschikbaar via de Get-AzVM-cmdlet wanneer u de -status
parameter gebruikt.
Onderhoudsinformatie wordt alleen geretourneerd als er onderhoud gepland is. Als er geen onderhoud is gepland dat van invloed is op de VM, retourneert de cmdlet geen onderhoudsinformatie.
Get-AzVM -ResourceGroupName myResourceGroup -Name myVM -Status
Uitvoer
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
De volgende eigenschappen worden geretourneerd onder MaintenanceRedeployStatus:
Weergegeven als | Beschrijving |
---|---|
IsCustomerInitiatedMaintenanceAllowed | Geeft aan of u op dit moment onderhoud op de VM kunt starten |
PreMaintenanceWindowStartTime | Het begin van het selfservicevenster voor onderhoud wanneer u onderhoud op uw VIRTUELE machine kunt initiëren |
PreMaintenanceWindowEndTime | Het einde van het selfservicevenster voor onderhoud wanneer u onderhoud op uw VIRTUELE machine kunt initiëren |
MaintenanceWindowStartTime | Het begin van het geplande onderhoud waarin Azure onderhoud start op uw VM |
MaintenanceWindowEndTime | Het einde van het geplande onderhoudsvenster waarin Azure onderhoud op uw VM start |
LastOperationResultCode | Het resultaat van de laatste poging om onderhoud op de VM te starten |
U kunt ook de onderhoudsstatus voor alle VM's in een resourcegroep ophalen met behulp van Get-AzVM en geen VM opgeven.
Get-AzVM -ResourceGroupName myResourceGroup -Status
In het volgende PowerShell-voorbeeld wordt uw abonnements-id gebruikt en wordt een lijst met VM's geretourneerd die aangeven of ze zijn gepland voor onderhoud.
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
}
}
}
}
Onderhoud starten op uw VM met behulp van PowerShell
Met behulp van informatie uit de functie in de vorige sectie wordt onderhoud gestart op een VIRTUELE machine als IsCustomerInitiatedMaintenanceAllowed is ingesteld op true.
MaintenanceIterator -SubscriptionId <Subscription ID> |
Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
Restart-AzVM -PerformMaintenance
Klassieke implementaties
Belangrijk
Virtuele machines die zijn gemaakt via het klassieke implementatiemodel, worden op 1 september 2023 buiten gebruik gesteld.
Als u IaaS-resources van Azure Service Management gebruikt, voltooit u uw migratie op 1 september 2023. U wordt aangeraden al eerder over te schakelen om te kunnen profiteren van de vele functieverbeteringen in Azure Resource Manager.
Zie Uw IaaS-resources migreren naar Azure Resource Manager op 1 september 2023 voor meer informatie.
Als u nog steeds verouderde VM's hebt die zijn geïmplementeerd met het klassieke implementatiemodel, kunt u PowerShell gebruiken om query's uit te voeren op VM's en onderhoud te starten.
Als u de onderhoudsstatus van een VIRTUELE machine wilt ophalen, typt u:
Get-AzureVM -ServiceName <Service name> -Name <VM name>
Als u onderhoud wilt starten op uw klassieke VM, typt u:
Restart-AzureVM -InitiateMaintenance -ServiceName <service name> -Name <VM name>
Volgende stappen
U kunt ook gepland onderhoud afhandelen met behulp van de Azure CLI of portal.