Gepland onderhoud afhandelen met behulp van PowerShell
Van toepassing op: ✔️ Linux-VM's ✔️ Windows-VM's ✔️ Flexibele schaalsets ✔️ Uniforme schaalsets
U kunt Azure PowerShell gebruiken om te zien wanneer VM's zijn gepland voor onderhoud. Informatie over gepland onderhoud is beschikbaar via de cmdlet Get-AzVM 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:
Waarde | 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 VM kunt initiëren |
PreMaintenanceWindowEndTime | Het einde van het selfservicevenster voor onderhoud wanneer u onderhoud op uw VM kunt initiëren |
MaintenanceWindowStartTime | Het begin van het geplande onderhoud waarin Azure onderhoud op uw VM initieert |
MaintenanceWindowEndTime | Het einde van het geplande onderhoudsvenster waarin Azure onderhoud op uw VM initieert |
LastOperationResultCode | Het resultaat van de laatste poging om onderhoud op de VM te initiëren |
U kunt ook de onderhoudsstatus voor alle VM's in een resourcegroep ophalen door Get-AzVM te gebruiken en geen VM op te geven.
Get-AzVM -ResourceGroupName myResourceGroup -Status
In het volgende PowerShell-voorbeeld wordt uw abonnements-id gebruikt en wordt een lijst met VM's geretourneerd die aangeeft of ze gepland zijn 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 op uw VM starten met behulp van PowerShell
Met behulp van de informatie van de functie in de vorige sectie start het volgende onderhoud op een VM als IsCustomerInitiatedMaintenanceAllowed is ingesteld op true.
MaintenanceIterator -SubscriptionId <Subscription ID> |
Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
Restart-AzVM -PerformMaintenance
Klassieke implementaties
Belangrijk
VM's die zijn gemaakt via het klassieke implementatiemodel, worden op 1 september 2023 buiten gebruik gesteld.
Als u IaaS-resources van Azure Service Management gebruikt, moet u de migratie voor 1 september 2023 voltooien. 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 uiterlijk 1 september 2023 voor meer informatie.
Als u nog steeds verouderde VM's hebt die zijn geïmplementeerd met behulp van het klassieke implementatiemodel, kunt u PowerShell gebruiken om vm's op te vragen en onderhoud te initiëren.
Als u de onderhoudsstatus van een VM 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.