Sdílet prostřednictvím


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

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

Pomocí Azure PowerShell můžete zjistit, kdy je naplánována údržba virtuálních počítačů. Informace o plánované údržbě jsou k dispozici v rutině Get-AzVM , když použijete -status parametr .

Informace o údržbě se vrátí jenom v případě, že je plánovaná údržba. Pokud není naplánovaná žádná údržba, která má vliv na virtuální počítač, rutina nevrátí žá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 zahájit údržbu virtuálního počítače.
PreMaintenanceWindowStartTime Začátek časového období samoobslužné údržby, kdy můžete zahájit údržbu virtuálního počítače
PreMaintenanceWindowEndTime Konec časového období samoobslužné údržby, kdy můžete zahájit údržbu virtuálního počítače
MaintenanceWindowStartTime Začátek plánované údržby, ve které Azure zahájí údržbu vašeho virtuálního počítače
MaintenanceWindowEndTime Konec časového období plánované údržby, ve kterém Azure zahájí údržbu virtuálního počítače
LastOperationResultCode Výsledek posledního pokusu o zahájení údržby virtuálního počítače

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 VAŠE ID předplatného a vrátí seznam virtuálních počítačů, které udávají, jestli jsou naplánované na ú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
      }
    }
  }
}

Zahájení údržby virtuálního počítače pomocí PowerShellu

Na základě informací z funkce v předchozí části spustí následující příkaz údržbu virtuálního počítače, pokud je vlastnost IsCustomerInitiatedMaintenanceAllowed nastavená na hodnotu true.


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

Nasazení Classic

Důležité

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

Pokud používáte prostředky IaaS ze správy služeb Azure, dokončete migraci do 1. září 2023. Doporučujeme, abyste přechod provedli dříve, abyste mohli využívat řadu vylepšení funkcí v Azure Resource Manager.

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

Pokud stále máte starší virtuální počítače nasazené pomocí modelu nasazení Classic, můžete pomocí PowerShellu zadat dotaz na virtuální počítače a zahájit údržbu.

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

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

Pokud chcete zahájit údržbu klasického virtuálního počítače, 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.