استكشاف الأخطاء وإصلاحها لمشكلات تكوين حالة Azure Automation

إشعار

سيتم إيقاف Azure Automation State Configuration في 30 سبتمبر 2027، يرجى الانتقال إلى Azure Machine Configuration بحلول ذلك التاريخ. لمزيد من المعلومات، راجع إعلان نشر المدونة. تجمع خدمة Azure Machine Configuration بين ميزات ملحق DSC، وتكوين حالة أتمتة Azure، والميزات الأكثر شيوعا المطلوبة من ملاحظات العملاء. يتضمن تكوين جهاز Azure أيضا دعم الجهاز المختلط من خلال الخوادم الممكنة بواسطة Arc.

توفر هذه المقالة معلومات حول استكشاف الأخطاء وإصلاحها وحل المشكلات التي تحدث أثناء التحويل البرمجي للتكوينات أو نشرها في Azure Automation State Configuration. للحصول على معلومات عامة حول ميزة تكوين الحالة، راجع نظرة عامة حول تكوين حالة Azure Automation .

تشخيص مشكلة

عندما تظهر أمامك رسالة خطأ في التحويل البرمجي أو نشر التكوين، إليك بعض الخطوات لمساعدتك في تشخيص المشكلة.

1. تأكد من أن التكوين الخاص بك يتم تحويله برمجيًا بنجاح على الجهاز المحلي

تم إنشاء تكوين حالة Azure Automation على تكوين الحالة المطلوب PowerShell (DSC). يمكنك العثور على الوثائق الخاصة بلغة DSC وبناء الجملة في مستندات PowerShell DSC.

عن طريق التحويل البرمجي لتكوين DSC على الجهاز المحلي الخاص بك، يمكنك اكتشاف وحل الأخطاء الشائعة، مثل:

  • وحدات نمطية مفقودة.
  • أخطاء بناء الجملة.
  • أخطاء منطقية.

2. عرض سجلات DSC على العقدة الخاصة بك

إذا تم التحويل البرمجي للتكوين الخاص بك بنجاح، ولكن فشل عند تطبيقه على عقدة، يمكنك العثور على معلومات مفصلة في سجلات DSC. للحصول على معلومات حول مكان هذه السجلات، راجع أين سجلات الأحداث DSC.

قد تساعدك الوحدة النمطية xDscDiagnostics في تحليل معلومات مفصلة من سجلات DSC. إذا اتصلت بالدعم، فإنهم سيطلبون هذه السجلات لتشخيص المشكلة.

يمكنك تثبيت الوحدة النمطية xDscDiagnostics على الجهاز المحلي باتباع الإرشادات الموجودة في تثبيت الوحدة النمطية للإصدار المستقر.

لتثبيت xDscDiagnostics الوحدة النمطية على الجهاز Azure، استخدم Invoke-AzVMRunCommand. يمكنك أيضًا استخدام الخيار نافذة التشغيل Run في مدخل Azure باتباع الخطوات في تشغيل البرامج النصية PowerShell في جهاز Windows الظاهري مع نافذة التشغيل Run.

للحصول على معلومات حول استخدام xDscDiagnostics، طالعاستخدام xDscDiagnostics لتحليل سجلات DSC. طالع أيضًا xDscDiagnostics Cmdlets.

3. تأكد من أن العقد ومساحة عمل التنفيذ التلقائي لديها وحدات نمطية مطلوبة

يعتمد DSC على الوحدات النمطية المثبتة على العقدة. عند استخدام تكوين حالة Azure Automation قم باستيراد أي وحدات نمطية مطلوبة إلى حساب التنفيذ التلقائي باتباع الخطوات في استيراد الوحدات النمطية. يمكن أن تكون للتكوينات علاقة تبعية على إصدارات معينة من الوحدات النمطية. لمزيد من المعلومات، راجع استكشاف أخطاء إجراءات البرنامج النصي وإصلاحها.

السيناريو: لا يمكن حذف تكوين ذي الأحرف الخاصة من المدخل

المشكلة

عند محاولة حذف تكوين DSC من المدخل، ستظهر رسالة الخطأ التالية:

An error occurred while deleting the DSC configuration '<name>'. Error-details: The argument
configurationName with the value <name> is not valid. Valid configuration names can contain only
letters, numbers, and underscores. The name must start with a letter. The length of the name must be
between 1 and 64 characters.

السبب

هذا الخطأ مشكلة مؤقتة. حاول مرة أخرى في وقت لاحق.

نوع الحل

استخدم cmdlet إزالة AzAutomationDscConfiguration لحذف التكوين.

السيناريو: فشل في تسجيل عامل DSC

المشكلة

تتلقى خطأ عند استخدام Set-DscLocalConfigurationManager أو cmdlet DSC آخر.

Registration of the Dsc Agent with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000
failed. The underlying error is: Failed to register Dsc Agent with AgentId
00000000-0000-0000-0000-000000000000 with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000/Nodes(AgentId='00000000-0000-0000-0000-000000000000').
    + CategoryInfo          : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : RegisterDscAgentCommandFailed,Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand
    + PSComputerName        : <computerName>

السبب

قد تتسبب مشكلة في الشبكة في حدوث هذا الخطأ. تحقق من إعدادات جدار الحماية أو إذا كان الجهاز خلف خادم وكيل.

نوع الحل

تحقق من أن الجهاز لديه صلاحية الوصول إلى نقاط النهاية المناسبة لـ DSC وحاول مرة أخرى. للحصول على قائمة بالعناوين والمنافذ لفتحها، انظرتخطيط الشبكة.

السيناريو: تقارير الحالة بإرجاع رمز الاستجابة غير مصرح به

المشكلة

عند تسجيل عقدة مع تكوين حالة Azure Automation تظهر إحدى رسائل الخطأ التالية:

The attempt to send status report to the server https://{your Automation account
URL}/accounts/xxxxxxxxxxxxxxxxxxxxxx/Nodes(AgentId='xxxxxxxxxxxxxxxxxxxxxxxxx')/SendReport returned
unexpected response code Unauthorized.
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC / Registration of the
Dsc Agent with the server failed.

السبب

فيما يلي الأسباب المحتملة:

  • شهادة غير صحيحة أو منتهية الصلاحية. طالعإعادة تسجيل عقدة.

  • تكوين وكيل لا يسمح بالوصول إلى *.azure-automation.net. لمزيد من المعلومات، انظرتكوين الشبكات الخاصة.

  • عند تعطيل المصادقة المحلية في Azure Automation. راجع تعطيل المصادقة المحلية. لإصلاح ذلك، راجع إعادة تمكين المصادقة المحلية.

  • وقت الكمبيوتر العميل هو عدة دقائق غير دقيقة من الوقت الفعلي. استخدم الأمر التالي للتحقق من الوقت: w32tm /stripchart /computer:time.windows.com /samples:6.

نوع الحل

استخدم الخطوات التالية لإعادة تسجيل العقدة DSC الفاشلة.

الخطوة 1: إلغاء تسجيل العقدة

  1. في مدخل Microsoft Azure، انتقل إلى >Home Automation Accounts> (your Automation account) >State configuration (DSC).
  2. حدد العقد، وحدد العقدة ذات المشكلة.
  3. حدد إلغاء التسجيل لإلغاء تسجيل عقدة.

الخطوة 2: إلغاء تثبيت ملحق DSC من العقدة

  1. في مدخل Microsoft Azure، انتقل إلى Home>Virtual Machine> (العقدة الفاشلة) >Extensions.
  2. اخترMicrosoft.Powershell.DSC، ملحق PowerShell DSC.
  3. حدد إلغاء التثبيت لإلغاء تثبيت الملحق.

الخطوة 3: إزالة كافة الشهادات غير صالحة أو منتهية الصلاحية من العقدة

تشغيل هذه الأوامر على العقدة المعطوبة من مطالبة PowerShell مرتفعة:

$certs = @()
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC"}
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC-OaaS Client Authentication"}
$certs += dir cert:\localmachine\CA | ?{$_.subject -like "CN=AzureDSCExtension*"}
"";"== DSC Certificates found: " + $certs.Count
$certs | FL ThumbPrint,FriendlyName,Subject
If (($certs.Count) -gt 0)
{
    ForEach ($Cert in $certs)
    {
        RD -LiteralPath ($Cert.Pspath)
    }
}

الخطوة 4: إعادة تسجيل العقدة الفاشلة

  1. في مدخل Microsoft Azure، انتقل إلى >Home Automation Accounts> (your Automation account) >State configuration (DSC).
  2. حدد العقد.
  3. حدد إضافة.
  4. اختر العقدة الفاشلة.
  5. حدد الاتصال، واختر الخيارات المطلوبة.

السيناريو: العقدة في حالة فشل مع خطأ "Not found" (غير موجود).

المشكلة

يوجد تقرير للعقدة بحالة فشل وتحتوي على الخطأ:

The attempt to get the action from server
https://<url>//accounts/<account-id>/Nodes(AgentId=<agent-id>)/GetDscAction failed because a valid
configuration <guid> cannot be found.

السبب

يحدث هذا الخطأ عادة عند تعيين العقدة إلى اسم تكوين، على سبيل المثال، ABC، بدلاً من اسم تكوين عقدة (ملف MOF)، على سبيل المثال، ABC.WebServer.

نوع الحل

  • تأكد من تعيين العقدة باسم تكوين العقدة وليس اسم التكوين.
  • يمكنك تعيين تكوين عقدة إلى عقدة عن طريق استخدام مدخل Azure أو مع cmdlet PowerShell.
    • في مدخل Microsoft Azure، انتقل إلى >Home Automation Accounts> (your Automation account) >State configuration (DSC). ثم حدد عقدة وحدد تعيين تكوين العقدة.
    • استخدام cmdlet مجموعة-AzAutomationDscNode.

السيناريو: لم يتم إنتاج تكوينات عقدة (ملفات MOF) عند التحويل البرمجي لتكوين

المشكلة

وظيفة التحويل البرمجي DSC الخاصة بك مع الخطأ:

Compilation completed successfully, but no node configuration **.mof** files were generated.

السبب

عندما يتم تقييم التعبير الذي يتبع Node الكلمة الأساسية في تكوين DSC إلى $null، لا يتم إنتاج تكوينات عقدة.

نوع الحل

استخدم أحد الحلول التالية لإصلاح هذه المشكلة:

  • تأكد من أن التعبير الموجود بجوار Node الكلمة الأساسية في تعريف التكوين لا يقيم إلى Null.
  • إذا كنت تقوم بتمرير ConfigurationData عند التحويل البرمجي لتكوين تأكد من تمرير القيم التي يتوقعها التكوين من بيانات التكوين.

السيناريو: تقرير عقدة DSC يصبح عالقًا في حالة قيد التقدم

المشكلة

مخرجات عامل DSC:

No instance found with given property values

السبب

يمكن أن تحدث هذه المشكلة إذا كانت Windows Management Instrumentation (WMI) تالفة على العقدة.

نوع الحل

اتبع الإرشادات الموجودة في DSC المشكلات والقيود المعروفة.

السيناريو: غير قادر على استخدام بيانات اعتماد في تكوين DSC

المشكلة

وظيفة التحويل البرمجي DSC الخاصة بك مع الخطأ:

System.InvalidOperationException error processing property 'Credential' of type <some resource
name>: Converting and storing an encrypted password as plaintext is allowed only if
PSDscAllowPlainTextPassword is set to true.

السبب

يمكن أن تحدث هذه المشكلة عند استخدام بيانات اعتماد في تكوين ولكن لم توفر مناسبة ConfigurationData لتعيينها PSDscAllowPlainTextPassword إلى true لكل تكوين عقدة.

نوع الحل

تأكد من تمرير الإعداد الصحيح ConfigurationDataPSDscAllowPlainTextPassword إلى true لكل تكوين عقدة. راجع التحويل البرمجي لتكوينات DSC في تكوين حالة Azure Automation.

السيناريو: رسالة خطأ "فشل معالجة ملحق" عند تمكين جهاز من ملحق DSC

المشكلة

عند تمكين جهاز باستخدام ملحق DSC يحدث الفشل الذي يتضمن الخطأ:

VM has reported a failure when processing extension 'Microsoft.Powershell.DSC'. Error message: \"DSC
COnfiguration 'RegistrationMetaConfigV2' completed with error(s). Following are the first few:
Registration of the Dsc Agent with the server <url> failed. The underlying error is: The attempt to
register Dsc Agent with Agent Id <ID> with the server <url> return unexpected response code
BadRequest. .\".

السبب

يحدث هذا الخطأ عادة عند تعيين العقدة اسم تكوين عقدة غير موجود في الخدمة.

نوع الحل

تأكد من أن اسم العقدة الذي يتطابق تماما مع الاسم في الخدمة، أو لا يتضمن اسم تكوين العقدة. وهذا يمكن العقدة ولكن لا يعين تكوين عقدة.

السيناريو: "حدث خطأ واحد أو أكثر" عند تسجيل عقدة باستخدام PowerShell

المشكلة

عند تسجيل عقدة باستخدام تسجيل-AzAutomationDSCNode أو تسجيل AzureRMAutomationDSCNode، تظهر رسالة الخطأ التالية:

One or more errors occurred.

السبب

يحدث هذا الخطأ عند محاولة تسجيل عقدة في اشتراك مختلف عن تلك المستخدمة من قبل حساب التنفيذ التلقائي.

نوع الحل

تعامل مع عقدة الاشتراك المشترك كعقدة معرفة لمجموعة منفصلة أو محلية. تسجيل العقدة باستخدام أحد هذه الخيارات لتمكين الأجهزة:

السيناريو: رسالة الخطأ "Provisioning has failed" (فشل التزويد)

المشكلة

عند تسجيل عقدة، ستظهر رسالة الخطأ:

Provisioning has failed

السبب

تظهر هذه الرسالة عندما يكون هناك مشكلة في الاتصال بين العقدة وAzure.

نوع الحل

تحديد ما إذا كانت العقدة الخاصة بك في شبكة خاصة ظاهرية (VPN) أو لديها مشاكل أخرى تتصل بـ Azure. طالع استكشاف مشكلات ميزة التوزيع وإصلاحها.

السيناريو: فشل مع خطأ عام عند تطبيق تكوين في Linux

المشكلة

عند تطبيق تكوين في Linux، يحدث فشل برسالة الخطأ:

This event indicates that failure happens when LCM is processing the configuration. ErrorId is 1.
ErrorDetail is The SendConfigurationApply function did not succeed.. ResourceId is [resource]name
and SourceInfo is ::nnn::n::resource. ErrorMessage is A general error occurred, not covered by a
more specific error code..

السبب

إذا تم تعيين موقع /tmp إلى noexec، يفشل الإصدار الحالي من DSC في تطبيق التكوينات.

نوع الحل

إزالة noexec الخيار من موقع /tmp.

السيناريو: يمكن أن تؤدي أسماء تكوين العقدة المتداخلة إلى إصدار غير صالح

المشكلة

عند استخدام برنامج نصي لتكوين واحد لإنشاء تكوينات عقدة متعددة وتكون بعض أسماء تكوين العقدة مجموعات فرعية من أسماء أخرى، يمكن خدمة التحويل البرمجي أن تنتهي بتعيين التكوين الخطأ. تحدث هذه المشكلة فقط عند استخدام برنامج نصي واحد لإنشاء تكوينات مع بيانات التكوين لكل عقدة، وفقط عند حدوث تراكب الاسم في بداية السلسلة. مثال على ذلك هو برنامج نصي تكوين واحد يستخدم لإنشاء تكوينات استنادًا إلى بيانات العقدة التي تم تمريرها كجداول تجزئة باستخدام cmdlets، وتتضمن بيانات العقدة خوادم باسم server و1server.

السبب

هذه مشكلة معروفة في خدمة التحويل البرمجي.

نوع الحل

الحل الأفضل هو التحويل البرمجي محليًا أو في مسار تدفق CI/CD وتحميل ملفات MOF تكوين العقدة مباشرة إلى الخدمة. إذا كان التحويل البرمجي في الخدمة مطلوبًا، فإن الحل البديل التالي الأفضل هو تقسيم مهام التحويل البرمجي بحيث لا يحدث تداخل في الأسماء.

السيناريو: خطأ مهلة البوابة على تحميل تكوين DSC

المشكلة

ستصلك رسالة خطأGatewayTimeout عند تحميل تكوين DSC.

السبب

تكوينات DSC التي يستغرق تحويلها البرمجي وقتًا طويلاً قد تسبب هذا الخطأ.

نوع الحل

يمكنك إجراء تكوينات DSC تحليل أسرع بالإدراج الصريح ModuleName لمعلمة لأي مكالمات استيراد DSCResource.

السيناريو: خطأ أثناء إلحاق جهاز

المشكلة

تتلقى خطأ agent has a problem عند إلحاق جهاز.

السبب

هذه مشكلة معروفة. لا يمكنك تعيين نفس التكوين مرة أخرى حيث تظل العقدة في حالة معلقة.

نوع الحل

للتغلب على المشكلة، قم بتطبيق تكوين اختبار مختلف وحاول التكوين الأصلي مرة أخرى.

الخطوات التالية

إذا لم تشاهد مشكلتك هنا أو تعذر عليك حل مشكلتك، فجرب إحدى قنوات الدعم التالية:

  • احصل على إجابات من الخبراء في Azure من خلال منتديات Azure.
  • تواصل مع @AzureSupport، حساب Microsoft Azure الرسمي لتحسين التجربة الخاصة بالعملاء. تقوم خدمة Azure Support بربط مجتمع Azure بالإجابات والدعم والخبراء.
  • احفظ ملفًا يتضمن حادث دعم Azure. انتقل إلى «موقع دعم Azure»، وحدد «Get Support».