Zpracování plánované údržby pomocí PowerShellu

Platí pro: ✔️ Virtuální počítače s Windows s Linuxem ✔️ ✔️ – Flexibilní škálovací sady Uniform Scale Sets ✔️

Pomocí Azure PowerShellu můžete zjistit, kdy jsou virtuální počítače naplánované na údržbu. Informace o plánované údržbě jsou k dispozici v rutině Get-AzVM při použití parametru -status .

Informace o údržbě se vrátí pouze v případě, že je naplánována údržba. Pokud není naplánovaná žádná údržba, která má vliv na virtuální počítač, rutina nevrací žádné informace o údržbě.

Get-AzVM -ResourceGroupName myResourceGroup -Name myVM -Status

Výstup

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 

V části MaintenanceRedeployStatus se vrátí následující vlastnosti:

Hodnota Popis
IsCustomerInitiatedMaintenanceAllowed Určuje, jestli můžete v tuto chvíli spustit údržbu na virtuálním počítači.
PreMaintenanceWindowStartTime Začátek samoobslužného časového období údržby, kdy můžete zahájit údržbu na virtuálním počítači
PreMaintenanceWindowEndTime Konec samoobslužného časového období údržby, kdy můžete zahájit údržbu na virtuálním počítači
MaintenanceWindowStartTime Začátek plánované údržby, ve které Azure zahájí údržbu na vašem virtuálním počítači
MaintenanceWindowEndTime Konec naplánovaného časového období údržby, ve kterém Azure zahájí údržbu na vašem virtuálním počítači
LastOperationResultCode Výsledek posledního pokusu o zahájení údržby na virtuálním počítači

Stav údržby pro všechny virtuální počítače ve skupině prostředků můžete získat také pomocí rutiny Get-AzVM a nezadáte virtuální počítač.

Get-AzVM -ResourceGroupName myResourceGroup -Status

Následující příklad PowerShellu vezme ID vašeho předplatného a vrátí seznam virtuálních počítačů označující, jestli jsou naplánované pro údržbu.


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
      }
    }
  }
}

Spuštění údržby na virtuálním počítači pomocí PowerShellu

Pokud je vlastnost IsCustomerInitiatedMaintenanceAllowed nastavená na hodnotu true, spustí se na virtuálním počítači následující informace z funkce v předchozí části.


MaintenanceIterator -SubscriptionId <Subscription ID> |
    Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
        Restart-AzVM -PerformMaintenance

Nasazení Classic

Důležité

Virtuální počítače vytvořené prostřednictvím modelu nasazení Classic budou vyřazeny 1. září 2023.

Pokud používáte prostředky IaaS ze služby Azure Service Management, dokončete migraci do 1. září 2023. Doporučujeme, abyste přechod provedli dříve, abyste využili výhod mnoha vylepšení funkcí v Azure Resource Manageru.

Další informace najdete v tématu Migrace prostředků IaaS do Azure Resource Manageru do 1. září 2023.

Pokud stále máte starší verze virtuálních počítačů nasazených pomocí modelu nasazení Classic, můžete k dotazování na virtuální počítače a zahájení údržby použít PowerShell.

Pokud chcete získat stav údržby virtuálního počítače, zadejte:

Get-AzureVM -ServiceName <Service name> -Name <VM name>

Pokud chcete spustit údržbu na klasickém virtuálním počítači, zadejte:

Restart-AzureVM -InitiateMaintenance -ServiceName <service name> -Name <VM name>

Další kroky

Plánovanou údržbu můžete také zpracovat pomocí Azure CLI nebo portálu.