Menangani pemeliharaan terencana menggunakan PowerShell
Berlaku untuk: ✔️ Mesin virtual Linux ✔️ Mesin virtual Windows ✔️ Set skala fleksibel ✔️ Set skala seragam
Anda dapat menggunakan Azure PowerShell untuk melihat kapan VM dijadwalkan untuk pemeliharaan. Informasi pemeliharaan terencana tersedia dari cmdlet Get-AzVM saat Anda menggunakan parameter -status
.
Informasi pemeliharaan dikembalikan hanya jika ada pemeliharaan yang dipaketkan. Jika tidak ada pemeliharaan terjadwal yang berdampak pada VM, cmdlet tidak mengembalikan informasi pemeliharaan apa pun.
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
Properti berikut dikembalikan di bawah MaintenanceRedeployStatus:
Nilai | Deskripsi |
---|---|
IsCustomerInitiatedMaintenanceAllowed | Menunjukkan apakah Anda dapat memulai pemeliharaan pada VM saat ini |
PreMaintenanceWindowStartTime | Awal jendela layanan mandiri pemeliharaan saat Anda dapat memulai pemeliharaan di VM |
PreMaintenanceWindowEndTime | Akhir dari jendela layanan mandiri pemeliharaan saat Anda dapat memulai pemeliharaan pada VM Anda |
MaintenanceWindowStartTime | Awal pemeliharaan terjadwal saat Azure memulai pemeliharaan pada VM Anda |
MaintenanceWindowEndTime | Akhir dari jendela terjadwal pemeliharaan tempat Azure memulai pemeliharaan pada VM Anda |
LastOperationResultCode | Hasil dari upaya terakhir untuk memulai pemeliharaan pada VM |
Anda juga bisa mendapatkan status pemeliharaan untuk semua VM dalam grup sumber daya dengan menggunakan Get-AzVM dan tidak menentukan VM.
Get-AzVM -ResourceGroupName myResourceGroup -Status
Contoh PowerShell berikut mengambil ID langganan Anda dan mengembalikan daftar VM yang menunjukkan apakah mereka dijadwalkan untuk pemeliharaan.
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
}
}
}
}
Mulai pemeliharaan pada VM Anda menggunakan PowerShell
Dengan menggunakan informasi dari fungsi di bagian sebelumnya, fitur berikut ini akan memulai pemeliharaan pada VM jika IsCustomerInitiatedMaintenanceAllowed diatur ke true.
MaintenanceIterator -SubscriptionId <Subscription ID> |
Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
Restart-AzVM -PerformMaintenance
Penyebaran klasik
Penting
VM yang dibuat melalui model penyebaran klasik akan dihentikan pada 1 September 2023.
Jika Anda menggunakan sumber daya IaaS dari Azure Service Management, silakan selesaikan migrasi Anda pada 1 September 2023. Kami mendorong Anda untuk beralih lebih cepat untuk memanfaatkan banyak peningkatan fitur di Azure Resource Manager.
Untuk informasi selengkapnya, lihat Memigrasikan sumber daya IaaS Anda ke Azure Resource Manager pada 1 September 2023.
Jika Anda masih memiliki VM lama yang disebarkan menggunakan model penyebaran klasik, Anda dapat menggunakan PowerShell untuk membuat kueri VM dan memulai pemeliharaan.
Untuk mendapatkan status pemeliharaan VM, ketik:
Get-AzureVM -ServiceName <Service name> -Name <VM name>
Untuk memulai pemeliharaan pada VM klasik Anda, ketik:
Restart-AzureVM -InitiateMaintenance -ServiceName <service name> -Name <VM name>
Langkah berikutnya
Anda juga dapat menangani pemeliharaan terencana menggunakan Azure CLI atau portal.