تخطي إلى المحتوى الرئيسي
الدعم
تسجيل الدخول باستخدام حساب Microsoft
تسجيل الدخول أو إنشاء حساب.
مرحباً،
تحديد استخدام حساب مختلف!
لديك حسابات متعددة
اختر الحساب الذي تريد تسجيل الدخول باستخدامه.

العَرَض

لا يتم تشغيل البرنامج النصي الذي يمكن تنفيذه بنجاح في الوضع الذي تمت حضوره بنجاح في الوضع غير المراقب.

عادة ما يفشل مع رسالة مثل: "حدثت مشكلة أثناء تشغيل الإجراء "انقر". تعذر النقر فوق الارتباط على صفحة الويب."

السبب

تحدث حالات الفشل النموذجية في عمليات التشغيل غير المراقبة بسبب أحد الإجراءات التالية:

  • لم يتم اختبار البرنامج النصي في الوضع الذي تمت ملاحظته قبل التبديل إلى غير مراقب

  • تكوين مختلف تستخدمه جلسة العمل غير المراقبة

    • حساب Windows مختلف يستخدمه التشغيل غير المراقب عن الحساب المستخدم لإنشاء التدفق

    • دقة الشاشة (راجع كيفية تغيير دقة الشاشة)

    • تكوين المستعرض

      • المستخدم

      • مانع النافذة المنبثقة

      • الملحقات (مفقودة/ غير نشطة)

  • لا يتم تحميل الشاشات بالكامل (التأخيرات المفقودة)

  • مطالبة UAC تمنع أتمتة واجهة المستخدم عند بدء الجلسة

حل

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

إذا كان لديك بالفعل لقطات شاشة في التدفق الخاص بك وفشلت في التنفيذ، فقد يكون لديك مربع حوار التحكم في حساب المستخدم (UAC) يمنع تنفيذ التدفق الخاص بك. يرجى تسجيل الدخول إلى الجهاز الذي يقوم بإعادة إنتاج المشكلة مع الحساب الذي تستخدمه لتنفيذ التدفق ومعرفة ما إذا كان لديك مربع حوار حظر. إذا قمت بذلك، فقم بتغيير روتين بدء التشغيل لمنع حدوث ذلك.

إضافة لقطات شاشة لاستكشاف الأخطاء وإصلاحها

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

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

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

1- ابحث عن إجراء "اتخاذ لقطة شاشة"

اتخاذ إجراء لقطة شاشة

 2- سحب وإفلات إجراء "التقاط لقطة شاشة" إلى جانب البرنامج النصي

سحب وإفلات إجراء اتخاذ لقطة شاشة

3- تحرير الإجراء واستخدام "ملف" بدلا من الحافظة و"قبل" في موقع اسم الملف املأ خصائص إجراء اتخاذ لقطة شاشة

4- ثم انسخ/الصق، وغير اسم ملف لقطة الشاشة مع بعد فيه تكرار وتعبئة خصائص إجراء اتخاذ لقطة شاشة

5- إحاطة الخطوة الفاشلة بالقطات الشاشة

إحاطة الخطوات الفاشلة بقطات الشاشة

6- تغيير سلوك onError للخطوة الفاشلة

6a- تحرير الخطوة والنقر فوق "onError" في الأسفل

تغيير سلوك الخطأ

6b- تعيين تشغيل التدفق إلى "متابعة تشغيل التدفق" و"الانتقال إلى الإجراء التالي"

متابعة تشغيل التدفق والانتقال إلى الإجراء التالي

7- حفظ وتشغيل محليا لاختبار إنتاج لقطات الشاشة وإعادة تشغيل تشغيل غير مراقب.

8- تحقق من ملفات لقطة الشاشة غير المراقبة

التحقق من دقة الشاشة واختلافات المقياس

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

  • انسخ/الصق القصاصة البرمجية أدناه في مصمم PAD: سيؤدي ذلك إلى إنشاء الخطوات اللازمة لالتقاط إعدادات الدقة وإخراجها في ملف طابع زمني.

DateTime.GetCurrentDateTime.Local DateTimeFormat: DateTime.DateTimeFormat.DateAndTime CurrentDateTime=> CurrentDateTime
Text.ConvertDateTimeToText.FromCustomDateTime DateTime: CurrentDateTime CustomFormat: $'''yyyy_MM_dd_hh_mm_ss''' Result=> FormattedDateTime
Workstation.GetScreenResolution MonitorNumber: 1 MonitorWidth=> MonitorWidth MonitorHeight=> MonitorHeight MonitorBitCount=> MonitorBitCount MonitorFrequency=> MonitorFrequency
@@copilotGeneratedAction: 'False'
Scripting.RunPowershellScript.RunPowershellScript Script: $'''Add-Type @\'
using System; 
using System.Runtime.InteropServices;
using System.Drawing;
public class DPI {  
  [DllImport(\"gdi32.dll\")]
  static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
  public enum DeviceCap {
  VERTRES = 10,
  DESKTOPVERTRES = 117
  }
  public static float scaling() {
  Graphics g = Graphics.FromHwnd(IntPtr.Zero);
  IntPtr desktop = g.GetHdc();
  int LogicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES);
  int PhysicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES);
  return (float)PhysicalScreenHeight / (float)LogicalScreenHeight;
  }
}
\'@ -ReferencedAssemblies \'System.Drawing.dll\' -ErrorAction Stop
Return [DPI]::scaling() * 100''' ScriptOutput=> MonitorScaleOutput
File.WriteText File: $'''c:\\test\\resolution_%FormattedDateTime%.txt''' TextToWrite: $'''height: %MonitorHeight% width: %MonitorWidth% frequency: %MonitorFrequency% bitCount: %MonitorBitCount% scale: %MonitorScaleOutput%''' AppendNewLine: True IfFileExists: File.IfFileExists.Overwrite Encoding: File.FileEncoding.Unicode
  • راجع مسار ملف الإخراج من الإجراء الأخير، وتحقق من نجاح التنفيذ المحلي وحفظه.

  • قم بتشغيل البرنامج النصي في كل من الوضعين الحضور وغير المراقب، ثم تحقق مما إذا كان إخراج الدقة والمقياس له نفس القيم في كلا الوضعين.

ملاحظة

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

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

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

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

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

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×