Manipular a manutenção planejada usando o PowerShell
Aplica-se a: ✔️ VMs do Linux ✔️ VMs do Windows ✔️ Conjuntos de dimensionamento flexíveis ✔️ Conjuntos de dimensionamento uniformes
Você pode usar o Azure PowerShell para ver quando as VMs serão agendadas para manutenção. As informações de manutenção planejadas estão disponíveis no cmdlet Get-AzVM quando você usa o parâmetro -status
.
As informações de manutenção só serão retornadas se houver manutenção planejada. Se não houver nenhuma manutenção agendada que afete a VM, o cmdlet não retornará nenhuma informação de manutenção.
Get-AzVM -ResourceGroupName myResourceGroup -Name myVM -Status
Saída
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
As propriedades a seguir são retornadas em MaintenanceRedeployStatus:
Valor | Descrição |
---|---|
IsCustomerInitiatedMaintenanceAllowed | Indica se você pode iniciar a manutenção na máquina virtual neste momento |
PreMaintenanceWindowStartTime | O início da janela de autoatendimento de manutenção quando você pode iniciar a manutenção na sua VM |
PreMaintenanceWindowEndTime | O fim da janela de autoatendimento de manutenção quando você pode iniciar manutenção na sua VM |
MaintenanceWindowStartTime | O início da manutenção agendada na qual o Azure inicia a manutenção na sua VM |
MaintenanceWindowEndTime | O término da janela de manutenção agendada na qual o Azure inicia a manutenção na sua VM |
LastOperationResultCode | O resultado da última tentativa de iniciar a manutenção na VM |
Você também pode obter o status de manutenção para todas as VMs em um grupo de recursos usando Get-AzVM, sem especificar a VM.
Get-AzVM -ResourceGroupName myResourceGroup -Status
O exemplo do PowerShell a seguir usa a ID da sua assinatura e retorna uma lista de VMs, indicando se estão agendadas para manutenção.
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
}
}
}
}
Iniciar manutenção na sua VM usando o PowerShell
Usando as informações da função na seção anterior, o seguinte iniciará a manutenção em uma VM se IsCustomerInitiatedMaintenanceAllowed for definido como true.
MaintenanceIterator -SubscriptionId <Subscription ID> |
Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
Restart-AzVM -PerformMaintenance
Implantações clássicas
Importante
As VMs criadas por meio do modelo de implantação clássico serão desativadas em 1º de setembro de 2023.
Se você usa recursos de IaaS do Gerenciamento de Serviços do Azure, conclua sua migração até 1º de setembro de 2023. Recomendamos que faça a migração o quanto antes para aproveitar as inúmeras melhorias feitas no Azure Resource Manager.
Para obter mais informações, confira Migrar seus recursos de IaaS para o Azure Resource Manager até 1º de setembro de 2023.
Caso você ainda tenha VMs herdadas que foram implantadas usando o modelo de implantação clássico, use o PowerShell para consultar VMs e iniciar a manutenção.
Para obter o status de manutenção de uma VM, digite:
Get-AzureVM -ServiceName <Service name> -Name <VM name>
Para iniciar a manutenção na VM clássica, digite:
Restart-AzureVM -InitiateMaintenance -ServiceName <service name> -Name <VM name>
Próximas etapas
Você também pode lidar com a manutenção planejada usando o portal ou a CLI do Azure.