Tervezett karbantartás kezelése a PowerShell használatával

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális ✔️ gépek Windows rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai Egységes méretezési csoportok ✔️

A Azure PowerShell segítségével megtekintheti, hogy a virtuális gépek mikor vannak ütemezve karbantartásra. A tervezett karbantartási információk a Get-AzVM parancsmagból érhetők el a -status paraméter használatakor.

A karbantartási információk csak akkor lesznek visszaadva, ha karbantartás van tervezve. Ha nincs olyan karbantartás ütemezve, amely hatással lenne a virtuális gépre, a parancsmag nem ad vissza karbantartási információkat.

Get-AzVM -ResourceGroupName myResourceGroup -Name myVM -Status

Kimenet

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 

A rendszer a következő tulajdonságokat adja vissza a MaintenanceRedeployStatus területen:

Érték Leírás
IsCustomerInitiatedMaintenanceAllowed Azt jelzi, hogy megkezdheti-e a karbantartást a virtuális gépen.
PreMaintenanceWindowStartTime A karbantartási önkiszolgáló időszak kezdete, amikor megkezdheti a karbantartást a virtuális gépen
PreMaintenanceWindowEndTime A karbantartási önkiszolgáló időszak vége, amikor karbantartást kezdeményezhet a virtuális gépen
KarbantartásWindowStartTime Annak az ütemezett karbantartásnak a kezdete, amelyben az Azure karbantartást kezdeményez a virtuális gépen
KarbantartásWindowEndTime Annak az ütemezett karbantartási időszaknak a vége, amelyben az Azure karbantartást kezdeményez a virtuális gépen
LastOperationResultCode A virtuális gépen történő karbantartást kezdeményező utolsó kísérlet eredménye

Az erőforráscsoport összes virtuális gépének karbantartási állapotát is lekérheti a Get-AzVM használatával, és nem adhat meg virtuális gépet.

Get-AzVM -ResourceGroupName myResourceGroup -Status

Az alábbi PowerShell-példa az előfizetés azonosítóját veszi fel, és visszaadja a virtuális gépek listáját, amely jelzi, hogy karbantartásra vannak-e ütemezve.


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

Karbantartás indítása a virtuális gépen a PowerShell használatával

Az előző szakaszban szereplő függvény információinak felhasználásával a következő elindítja a karbantartást egy virtuális gépen, ha az IsCustomerInitiatedMaintenanceAllowed értéke igaz.


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

Klasszikus üzembe helyezések

Fontos

A klasszikus üzemi modellel létrehozott virtuális gépeket 2023. szeptember 1-jén vonjuk ki.

Ha az Azure Service Management IaaS-erőforrásait használja, 2023. szeptember 1-ig végezze el a migrálást. Javasoljuk, hogy előbb végezze el a váltást, hogy kihasználhassa az Azure Resource Manager számos funkciófejlesztését.

További információ: IaaS-erőforrások migrálása az Azure Resource Manager 2023. szeptember 1-ig.

Ha továbbra is rendelkezik a klasszikus üzemi modellel üzembe helyezett régi virtuális gépekkel, a PowerShell használatával lekérdezheti a virtuális gépeket, és karbantartást kezdeményezhet.

Egy virtuális gép karbantartási állapotának lekéréséhez írja be a következőt:

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

A klasszikus virtuális gépen történő karbantartás megkezdéséhez írja be a következőt:

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

Következő lépések

A tervezett karbantartást az Azure CLI-vel vagy a portállal is kezelheti.