إجراء الصيانة المخطط لها باستخدام PowerShell
ينطبق على: ✔️ أجهزة ظاهرية بنظام التشغيل Linux ✔️ أجهزة ظاهرية بنظام التشغيل Windows ✔️ مجموعات التوسعة المرنة ✔️ مجموعات التوسعة الموحدة
يمكنك استخدام Azure PowerShell لمعرفة متى تتم جدولة الأجهزة الظاهرية للصيانة. تتوفر معلومات الصيانة المخططة من Get-AzVM cmdlet عند استخدام المعلمة -status
.
يتم إرجاع معلومات الصيانة فقط إذا كانت هناك صيانة مخطط لها. إذا لم تتم جدولة أي صيانة تؤثر على الجهاز الظاهري، فلن يقوم الأمر cmdlet بإرجاع أية معلومات صيانة.
Get-AzVM -ResourceGroupName myResourceGroup -Name myVM -Status
المخرجات
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
يتم إرجاع الخصائص التالية ضمن MaintenanceRedeployStatus:
قيمة | الوصف |
---|---|
IsCustomerInitiatedMaintenanceAllowed | يشير إلى ما إذا كان يمكنك بدء الصيانة على الجهاز الظاهري في هذا الوقت |
PreMaintenanceWindowStartTime | بداية نافذة الخدمة الذاتية للصيانة عندما يمكنك بدء الصيانة على جهازك الظاهري |
PreMaintenanceWindowEndTime | نهاية نافذة الخدمة الذاتية للصيانة عندما يمكنك بدء الصيانة على جهازك الظاهري |
MaintenanceWindowStartTime | بداية الصيانة المجدولة حيث يبدأ Azure الصيانة على الجهاز الظاهري |
MaintenanceWindowEndTime | نهاية نافذة الصيانة المجدولة التي يبدأ فيها Azure الصيانة على الجهاز الظاهري |
LastOperationResultCode | نتيجة المحاولة الأخيرة لبدء الصيانة على الجهاز الظاهري |
يمكنك أيضاً الحصول على حالة الصيانة لجميع الأجهزة الظاهرية في مجموعة موارد باستخدام Get-AzVM وعدم تحديد أي جهاز ظاهري.
Get-AzVM -ResourceGroupName myResourceGroup -Status
يأخذ مثال PowerShell التالي معرف الاشتراك الخاص بك ويرجع قائمة بالأجهزة الظاهرية التي تشير إلى ما إذا كانت مجدولة للصيانة.
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
}
}
}
}
بدء الصيانة على الجهاز الظاهري باستخدام PowerShell
باستخدام المعلومات الواردة من الدالة في القسم السابق، يبدأ ما يلي الصيانة على جهاز ظاهري إذا تم تعيين IsCustomerInitiatedMaintenanceAllowed على true.
MaintenanceIterator -SubscriptionId <Subscription ID> |
Where-Object -FilterScript {$_.IsCustomerMaintenanceAllowed} |
Restart-AzVM -PerformMaintenance
التوزيع الكلاسيكي
هام
سيتم إيقاف الأجهزة الظاهرية التي تم إنشاؤها من خلال نموذج التوزيع الكلاسيكي في 1 سبتمبر 2023.
إذا كنت تستخدم موارد IaaS من Azure Service Management، فيرجى إكمال الترحيل بحلول 1 سبتمبر 2023. ونشجعك على إجراء التبديل في وقت أقرب للاستفادة من العديد من تحسينات الميزات في Azure Resource Manager.
لمزيد من المعلومات، راجع ترحيل موارد IaaS إلى Azure Resource Manager بحلول 1 سبتمبر 2023.
إذا كان لا يزال لديك أجهزة ظاهرية قديمة تم نشرها باستخدام نموذج النشر الكلاسيكي، فيمكنك استخدام PowerShell للاستعلام عن أجهزة ظاهرية وبدء الصيانة.
للحصول على حالة صيانة جهاز ظاهري، اكتب:
Get-AzureVM -ServiceName <Service name> -Name <VM name>
لبدء الصيانة على الجهاز الظاهري الكلاسيكي، اكتب:
Restart-AzureVM -InitiateMaintenance -ServiceName <service name> -Name <VM name>
الخطوات التالية
يمكنك أيضاً التعامل مع الصيانة المخطط لها باستخدام Azure CLI أو المدخل.