Obsługa planowanej konserwacji przy użyciu programu PowerShell
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny ✔️ wirtualne z systemem Windows ✔️ — elastyczne zestawy ✔️ skalowania
Możesz użyć programu Azure PowerShell, aby sprawdzić, kiedy maszyny wirtualne są zaplanowane do konserwacji. Informacje o planowanej konserwacji są dostępne w poleceniu cmdlet Get-AzVM podczas korzystania z parametru -status
.
Informacje o konserwacji są zwracane tylko wtedy, gdy planowana jest konserwacja. Jeśli nie zaplanowano konserwacji, która ma wpływ na maszynę wirtualną, polecenie cmdlet nie zwraca żadnych informacji o konserwacji.
Get-AzVM -ResourceGroupName myResourceGroup -Name myVM -Status
Wyjście
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
Następujące właściwości są zwracane w obszarze MaintenanceRedeployStatus:
Wartość | Opis |
---|---|
IsCustomerInitiatedMaintenanceAllowed | Wskazuje, czy w tej chwili można rozpocząć konserwację maszyny wirtualnej |
PreMaintenanceWindowStartTime | Początek okna samoobsługi konserwacji, kiedy można zainicjować konserwację maszyny wirtualnej |
PreMaintenanceWindowEndTime | Koniec okna samoobsługi konserwacji, gdy można zainicjować konserwację maszyny wirtualnej |
KonserwacjaWindowStartTime | Początek konserwacji zaplanowanej na platformie Azure inicjuje konserwację maszyny wirtualnej |
KonserwacjaWindowEndTime | Koniec zaplanowanego okna konserwacji, w którym platforma Azure inicjuje konserwację maszyny wirtualnej |
LastOperationResultCode | Wynik ostatniej próby zainicjowania konserwacji na maszynie wirtualnej |
Możesz również uzyskać stan konserwacji dla wszystkich maszyn wirtualnych w grupie zasobów przy użyciu polecenia Get-AzVM , a nie określania maszyny wirtualnej.
Get-AzVM -ResourceGroupName myResourceGroup -Status
Poniższy przykład programu PowerShell przyjmuje identyfikator subskrypcji i zwraca listę maszyn wirtualnych wskazujących, czy są zaplanowane do konserwacji.
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
}
}
}
}
Uruchamianie konserwacji maszyny wirtualnej przy użyciu programu PowerShell
Korzystając z informacji z funkcji w poprzedniej sekcji, następujące rozpoczyna konserwację na maszynie wirtualnej, jeśli właściwość IsCustomerInitiatedMaintenanceAllowed jest ustawiona na wartość true.
MaintenanceIterator -SubscriptionId <Subscription ID> |
Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
Restart-AzVM -PerformMaintenance
Klasyczne wdrożenia
Ważne
Maszyny wirtualne utworzone za pomocą klasycznego modelu wdrażania zostaną wycofane 1 września 2023 r.
Jeśli używasz zasobów IaaS z usługi Azure Service Management, wykonaj migrację do 1 września 2023 r. Zachęcamy do przejścia wcześniej, aby skorzystać z wielu ulepszeń funkcji w usłudze Azure Resource Manager.
Aby uzyskać więcej informacji, zobacz Migrowanie zasobów IaaS do usługi Azure Resource Manager do 1 września 2023 r.
Jeśli nadal masz starsze maszyny wirtualne, które zostały wdrożone przy użyciu klasycznego modelu wdrażania, możesz użyć programu PowerShell do wykonywania zapytań o maszyny wirtualne i inicjowania konserwacji.
Aby uzyskać stan konserwacji maszyny wirtualnej, wpisz:
Get-AzureVM -ServiceName <Service name> -Name <VM name>
Aby rozpocząć konserwację klasycznej maszyny wirtualnej, wpisz:
Restart-AzureVM -InitiateMaintenance -ServiceName <service name> -Name <VM name>
Następne kroki
Planowaną konserwację można również obsłużyć przy użyciu interfejsu wiersza polecenia platformy Azure lub portalu.