PowerShell kullanarak planlı bakımı işleme
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri
VM'lerin bakım için zamanlandığı zamanları görmek için Azure PowerShell'i kullanabilirsiniz. Planlı bakım bilgileri, parametresini kullandığınızda Get-AzVM cmdlet'inden -status
kullanılabilir.
Bakım bilgileri yalnızca planlı bakım varsa döndürülür. VM'yi etkileyen bir bakım zamanlanmazsa, cmdlet herhangi bir bakım bilgisi döndürmez.
Get-AzVM -ResourceGroupName myResourceGroup -Name myVM -Status
Çıktı
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
MaintenanceRedeployStatus altında aşağıdaki özellikler döndürülür:
Value | Açıklama |
---|---|
IsCustomerInitiatedMaintenanceAllowed | Şu anda VM'de bakım başlatıp başlatamayacağınızı gösterir |
PreMaintenanceWindowStartTime | VM'nizde bakım başlatabileceğiniz bakım self servis penceresinin başlangıcı |
PreMaintenanceWindowEndTime | VM'nizde bakım başlatabileceğiniz bakım self servis penceresinin sonu |
MaintenanceWindowStartTime | Azure'ın VM'nizde bakım başlattığı zamanlanan bakımın başlangıcı |
MaintenanceWindowEndTime | Azure'ın VM'nizde bakım başlattığı bakım zamanlanmış penceresinin sonu |
LastOperationResultCode | VM'de bakımı başlatmaya yönelik son denemenin sonucu |
Ayrıca Get-AzVM kullanarak ve VM belirtmeyerek bir kaynak grubundaki tüm VM'ler için bakım durumunu alabilirsiniz.
Get-AzVM -ResourceGroupName myResourceGroup -Status
Aşağıdaki PowerShell örneği abonelik kimliğinizi alır ve bakım için zamanlanıp zamanlanmadıklarını belirten bir VM listesi döndürür.
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
}
}
}
}
PowerShell kullanarak VM'nizde bakım başlatma
IsCustomerInitiatedMaintenanceAllowed değeri true olarak ayarlandıysa, önceki bölümdeki işlevden alınan bilgiler kullanılarak vm'de bakım başlatılır.
MaintenanceIterator -SubscriptionId <Subscription ID> |
Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
Restart-AzVM -PerformMaintenance
Klasik dağıtımlar
Önemli
Klasik dağıtım modeliyle oluşturulan VM'ler 1 Eylül 2023'te kullanımdan kaldırılacaktır.
Azure Hizmet Yönetimi'nden IaaS kaynaklarını kullanıyorsanız lütfen geçişinizi 1 Eylül 2023'e kadar tamamlayın. Azure Resource Manager'daki birçok özellik geliştirmesinin avantajlarından yararlanmak için anahtarı daha erken gerçekleştirmenizi öneririz.
Daha fazla bilgi için bkz . IaaS kaynaklarınızı 1 Eylül 2023'e kadar Azure Resource Manager'a geçirme.
Klasik dağıtım modeli kullanılarak dağıtılan eski VM'leriniz hala varsa, VM'leri sorgulamak ve bakımı başlatmak için PowerShell'i kullanabilirsiniz.
Vm'nin bakım durumunu almak için şunu yazın:
Get-AzureVM -ServiceName <Service name> -Name <VM name>
Klasik VM'nizde bakımı başlatmak için şunu yazın:
Restart-AzureVM -InitiateMaintenance -ServiceName <service name> -Name <VM name>
Sonraki adımlar
Planlı bakımı Azure CLI veya portal kullanarak da işleyebilirsiniz.