تحديد المشكلات وتشخيصها في 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.