تحديد المشكلات وتشخيصها في Azure Virtual Desktop (كلاسيكي)

هام

ينطبق هذا المحتوى على Azure Virtual Desktop (classic)، والذي لا يدعم كائنات Azure Resource Manager Azure Virtual Desktop. إذا كنت تحاول إدارة عناصرAzure Resource Manager وAzure Virtual Desktop، فراجع هذه المقالة.

يوفر Azure Virtual Desktop ميزة تشخيصية تسمح للمسؤول بتحديد المشكلات من خلال واجهة واحدة. تسجل أدوار Azure Virtual Desktop نشاطا تشخيصيا كلما تفاعل مستخدم مع النظام. يحتوي كل سجل على معلومات ذات صلة مثل أدوار Azure Virtual Desktop المضمنة في المعاملة ورسائل الخطأ ومعلومات المستأجر ومعلومات المستخدم. يتم إنشاء الأنشطة التشخيصية بواسطة كل من المستخدم النهائي والإجراءات الإدارية ، ويمكن تصنيفها إلى ثلاث مجموعات رئيسية:

  • أنشطة الاشتراك في الخلاصة: يقوم المستخدم النهائي بتشغيل هذه الأنشطة كلما حاول الاتصال بخلاصته من خلال تطبيقات سطح المكتب البعيد لـ Microsoft.
  • أنشطة الاتصال: يقوم المستخدم النهائي بتشغيل هذه الأنشطة كلما حاول الاتصال بسطح مكتب أو تطبيق RemoteApp من خلال تطبيقات سطح المكتب البعيد لـ Microsoft.
  • أنشطة الإدارة: يقوم المسؤول بتشغيل هذه الأنشطة كلما نفذ عمليات إدارة على النظام، مثل إنشاء تجمعات مضيفة وتعيين مستخدمين لمجموعات التطبيقات وإنشاء تعيينات أدوار.

لن تظهر الاتصالات التي لا تصل إلى سطح المكتب الظاهري Azure في نتائج التشخيص لأن خدمة دور التشخيصات نفسها جزء من سطح مكتب Azure الظاهري. يمكن أن تحدث مشكلات اتصال Azure Virtual Desktop عندما يواجه المستخدم النهائي مشكلات في الاتصال بالشبكة.

للبدء، قم بتنزيل وحدة PowerShell الافتراضية لسطح المكتب Azure واستيرادها لاستخدامها في جلسة عمل PowerShell إذا لم تكن قد قمت بذلك بالفعل. بعد ذلك، شغّل cmdlet التالية لتسجيل الدخول إلى حسابك:

Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"

تشخيص المشكلات المتعلقة ب PowerShell

يستخدم Azure Virtual Desktop Diagnostics cmdlet PowerShell واحدا فقط ولكنه يحتوي على العديد من المعلمات الاختيارية للمساعدة في تضييق نطاق المشكلات وعزلها. تسرد الأقسام التالية cmdlets التي يمكنك تشغيلها لتشخيص المشكلات. يمكن تطبيق معظم الفلاتر معا. يجب استبدال القيم المدرجة بين قوسين، مثل <tenantName>، بالقيم التي تنطبق على الموقف لديك.

هام

ميزة التشخيص مخصصة لاستكشاف أخطاء مستخدم واحد وإصلاحها. يجب أن تتضمن كافة الاستعلامات التي تستخدم PowerShell المعلمات - UserName أو -ActivityID . للحصول على إمكانات المراقبة، استخدم Log Analytics. راجع استخدام Log Analytics للحصول على ميزة التشخيص للحصول على مزيد من المعلومات حول كيفية إرسال بيانات التشخيص إلى مساحة العمل.

تصفية الأنشطة التشخيصية حسب المستخدم

ترجع المعلمة -UserName قائمة بالأنشطة التشخيصية التي بدأها المستخدم المحدد، كما هو موضح في المثال التالي cmdlet.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN>

يمكن أيضا دمج معلمة -UserName مع معلمات تصفية اختيارية أخرى.

تصفية الأنشطة التشخيصية حسب الوقت

يمكنك تصفية قائمة الأنشطة التشخيصية التي تم إرجاعها باستخدام المعلمتين -StartTimeو-EndTime . ستقوم المعلمة -StartTime بإرجاع قائمة أنشطة تشخيصية تبدأ من تاريخ محدد، كما هو موضح في المثال التالي.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018"

يمكن إضافة المعلمة - EndTime إلى cmdlet باستخدام المعلمة -StartTime لتحديد فترة زمنية محددة تريد تلقي نتائج لها. سيقوم المثال التالي cmdlet بإرجاع قائمة بالأنشطة التشخيصية من 1 أغسطس إلى 10 أغسطس.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018" -EndTime "08/10/2018"

يمكن أيضا دمج معلمات -StartTime و -EndTime مع معلمات تصفية اختيارية أخرى.

تصفية الأنشطة التشخيصية حسب نوع النشاط

يمكنك أيضا تصفية الأنشطة التشخيصية حسب نوع النشاط باستخدام المعلمة -ActivityType . سيقوم cmdlet التالي بإرجاع قائمة باتصالات المستخدم النهائي:

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -ActivityType Connection

سيقوم cmdlet التالي بإرجاع قائمة بمهام إدارة المسؤول:

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityType Management

لا يدعم cmdlet Get-RdsDiagnosticActivities حاليا تحديد الموجز ك ActivityType.

تصفية الأنشطة التشخيصية حسب النتيجة

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

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -Outcome Success

سيقوم المثال التالي cmdlet بإرجاع قائمة بالأنشطة التشخيصية الفاشلة.

Get-RdsDiagnosticActivities -TenantName <tenantName> -Outcome Failure

يمكن أيضا دمج معلمة -Result مع معلمات تصفية اختيارية أخرى.

استرداد نشاط تشخيصي معين حسب معرف النشاط

ترجع المعلمة -ActivityId نشاطا تشخيصيا معينا إن وجد، كما هو موضح في المثال التالي cmdlet.

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityIdGuid>

عرض رسائل الخطأ لنشاط فاشل حسب معرف النشاط

لعرض رسائل الخطأ لنشاط فاشل، يجب تشغيل cmdlet باستخدام المعلمة -Detail . يمكنك عرض قائمة الأخطاء عن طريق تشغيل cmdlet تحديد الكائن .

Get-RdsDiagnosticActivities -TenantName <tenantname> -ActivityId <ActivityGuid> -Detailed | Select-Object -ExpandProperty Errors

استرداد الأنشطة التشخيصية التفصيلية

توفر المعلمة -Detailed تفاصيل إضافية لكل نشاط تشخيصي يتم إرجاعه. يختلف تنسيق كل نشاط وفقا لنوع النشاط الخاص به. يمكن إضافة المعلمة -Detailed إلى أي استعلام Get-RdsDiagnosticActivities ، كما هو موضح في المثال التالي.

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityGuid> -Detailed

سيناريوهات الخطأ الشائعة

يتم تصنيف سيناريوهات الأخطاء في داخل الخدمة وخارجية إلى سطح مكتب Azure الظاهري.

  • المشكلة الداخلية: تحدد السيناريوهات التي لا يمكن تخفيفها بواسطة مسؤول المستأجر والتي تحتاج إلى حل كمشكلة دعم. عند تقديم ملاحظات من خلال مجتمع Azure Virtual Desktop Tech، قم بتضمين معرف النشاط والإطار الزمني التقريبي لوقت حدوث المشكلة.
  • المشكلة الخارجية: تتعلق بالسيناريوهات التي يمكن تخفيفها بواسطة مسؤول النظام. هذه هي خارج سطح المكتب الظاهري Azure.

يسرد الجدول التالي الأخطاء الشائعة التي قد يواجهها المسؤولون.

ملاحظة

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

رموز أخطاء الإدارة الخارجية

رمز رقمي التعليمة البرمجية للخطأ الحل المُقترح
1322 ConnectionFailedNoMappingOfSIDinAD المستخدم ليس عضوا في Azure Active Directory. اتبع الإرشادات الموجودة في "مركز إدارة Active Directory" لإضافتها.
3 الوصول غير المصرح به المستخدم الذي حاول تشغيل cmdlet PowerShell الإداري إما ليس لديه أذونات للقيام بذلك أو أخطأ في كتابة اسم المستخدم الخاص به.
1000 المستأجرNotFound لا يتطابق اسم المستأجر الذي أدخلته مع أي مستأجرين حاليين. راجع اسم المستأجر للأخطاء المطبعية وحاول مرة أخرى.
1006 المستأجرCannotBeMoveHasSessionHostPools لا يمكنك حذف مستأجر طالما أنه يحتوي على كائنات. احذف تجمعات مضيفي الجلسة أولا، ثم حاول مرة أخرى.
2000 HostPoolNotFound لا يتطابق اسم تجمع المضيف الذي أدخلته مع أي تجمعات مضيفة موجودة. راجع اسم تجمع المضيف للأخطاء المطبعية وحاول مرة أخرى.
2005 HostPoolCannotBeMoveHasApplicationGroups لا يمكنك حذف تجمع مضيف طالما أنه يحتوي على كائنات. قم بإزالة جميع مجموعات التطبيقات في التجمع المضيف أولا.
2004 HostPoolCannotBeMoveHasSessionHosts قم بإزالة جميع مضيفي الجلسات أولا قبل حذف تجمع مضيفي الجلسات.
5001 SessionHostNotFound قد يكون مضيف الجلسة الذي استفسرت عنه غير متصل بالإنترنت. تحقق من حالة تجمع المضيف.
5008 SessionHostUserSessionsExist يجب عليك تسجيل خروج جميع المستخدمين على مضيف الجلسة قبل تنفيذ نشاط الإدارة المقصود.
⁧⁩6000⁧⁩ AppGroupNotFound لا يتطابق اسم مجموعة التطبيقات التي أدخلتها مع أي مجموعات تطبيقات موجودة. راجع اسم مجموعة التطبيقات للأخطاء المطبعية وحاول مرة أخرى.
6022 RemoteAppNotFound لا يتطابق اسم RemoteApp الذي أدخلته مع أي RemoteApps. راجع اسم RemoteApp للأخطاء المطبعية وحاول مرة أخرى.
6010 المنشورةالعناصرموجودة اسم المورد الذي تحاول نشره هو نفسه المورد الموجود بالفعل. قم بتغيير اسم المورد وحاول مرة أخرى.
7002 NameNotValidWhiteSpace لا تستخدم المسافة البيضاء في الاسم.
8000 غير صالحالتفويضدورسكوب لا يتطابق اسم الدور الذي أدخلته مع أي أسماء أدوار موجودة. راجع اسم الدور للأخطاء المطبعية وحاول مرة أخرى.
8001 UserNotFound لا يتطابق اسم المستخدم الذي أدخلته مع أي أسماء مستخدمين حالية. راجع اسم الأخطاء المطبعية وحاول مرة أخرى.
8005 UserNotFoundInAAD لا يتطابق اسم المستخدم الذي أدخلته مع أي أسماء مستخدمين حالية. راجع اسم الأخطاء المطبعية وحاول مرة أخرى.
8008 المستأجرموافقةمطلوب اتبع التعليمات هنا لتقديم الموافقة للمستأجر الخاص بك.

رموز خطأ الاتصال الخارجي

رمز رقمي التعليمة البرمجية للخطأ الحل المُقترح
-2147467259 ConnectionFailedAdErrorNoSuchMember المستخدم ليس عضوا في Active Directory. اتبع الإرشادات الموجودة في "مركز إدارة Active Directory" لإضافتها.
-2147467259 ConnectionFailedAdTrustedRelationshipFailure لم يتم ضم مضيف جلسة العمل بشكل صحيح إلى "الدليل النشط".
-2146233088 ConnectionFailedUserHasValidSessionButRdshIsUnhealthy فشلت الاتصالات لأن مضيف جلسة العمل غير متوفر. تحقق من صحة مضيف الجلسة.
-2146233088 ConnectionFailedClientDisconnect إذا رأيت هذا الخطأ بشكل متكرر، فتأكد من اتصال كمبيوتر المستخدم بالشبكة.
-2146233088 ConnectionFailedNoHealthyRdshavailable الجلسة التي حاول المستخدم المضيف الاتصال بها ليست صحية. تصحيح أخطاء الجهاز الظاهري.
-2146233088 ConnectionFailedUserNotAuthorized ليس لدى المستخدم إذن للوصول إلى التطبيق أو سطح المكتب المنشور. قد يظهر الخطأ بعد أن يزيل المسؤول الموارد المنشورة. اطلب من المستخدم تحديث موجز ويب في تطبيق "سطح المكتب البعيد".
2 FileNotFound التطبيق الذي حاول المستخدم الوصول إليه إما مثبت بشكل غير صحيح أو تم تعيينه إلى مسار غير صحيح.
3 غير صالحبيانات الاعتماد لا يتطابق اسم المستخدم أو كلمة المرور التي أدخلها المستخدم مع أي أسماء مستخدمين أو كلمات مرور موجودة. راجع بيانات اعتماد الأخطاء المطبعية وحاول مرة أخرى.
8 اتصالمكسور انقطع الاتصال بين العميل والبوابة أو الخادم. لا حاجة لاتخاذ أي إجراء ما لم يحدث بشكل غير متوقع.
14 غير متوقعةNetworkقطع الاتصال انقطع الاتصال بالشبكة. اطلب من المستخدم الاتصال مرة أخرى.
24 ReverseConnectFailed لا يحتوي الجهاز الظاهري المضيف على خط رؤية مباشر إلى RD Gateway. تأكد من إمكانية حل عنوان IP للبوابة.
1322 ConnectionFailedNoMappingOfSIDinAD المستخدم ليس عضوا في Active Directory. اتبع الإرشادات الموجودة في "مركز إدارة Active Directory" لإضافتها.

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

لمعرفة المزيد حول الأدوار داخل سطح مكتب Azure الظاهري، راجع بيئة سطح المكتب الظاهري ل Azure.

للاطلاع على قائمة بأوامر cmdlets المتوفرة ل PowerShell لسطح مكتب Azure الظاهري، راجع مرجع PowerShell.