سؤال

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

ويبدو أن المستودع على ما يرام، ونحن لا يمكن تحديد موقع أي قضايا حجم ملف السجل.

ومعلومات عن - ران WMIDiag بعد الحصول على خطأ وجدت -

25607 13:55:38 (1) !! ذكرت أخطاء WMI عملية التعداد: ERROR! ERROR 2 (S)

25608 13:55:38 (0) ** - ROOT / CIMV2، SubClassesOf، '*، 0x80041006 - (WBEM_E_OUT_OF_MEMORY) لا توجد ذاكرة كافية لتشغيل

25609 13:55:38 (0) ** التسجيل وزارة المالية: "C: \ WINNT \ SYSTEM32 \ WBEM \ SNMPREG.MOF ' 25610 13:55:38 (0) ** - الجذر / CIMV2، InstancesOf، 'Win32_PerfFormattedData_PerfProc_Thread "، 0x8007000E - عدم تخزين غير كافية لإكمال هذه العملية ..

25611 13:55:38 (0) ** التسجيل وزارة المالية: "C: \ WINDOWS \ SYSTEM32 \ WBEM \ WMI.MOF '

وأي شخص يرى هذا من أي وقت مضى؟ أفكار؟

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

المحلول 2

وأعتقد أننا وجدنا هذه المسألة. لتبسيط بعض الاستفسارات لدينا كنا مضيفا شيء من هذا القبيل 1 = 1 في حيث شرط للتخفيف من بناء الاستعلام. إزالة ثابت = ثابت والاستعلام واحد كنت في اختبار مع ذهب من 40 ثانية إلى 0.4 ثانية، وتدير أكثر من 10،000 مرات دون توليد فشل عام (WBEM_E_OUT_OF_MEMORY).

نصائح أخرى

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

وإدارة Windows عن بعد (WinRM و) قد التغلب على كل هذه المشاكل. WinRM هو تطبيق مايكروسوفت WS-إدارة البروتوكول، معيار بسيط بروتوكول الوصول إلي كائن (SOAP) ومقرها.

وكان لي مشكلة مشابهة لهذه عند محاولة إلغاء تثبيت / تثبيت برنامج على الأجهزة البعيدة عبر WMI.

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

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

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

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

والآن أنا ضمان قبل أن محاولة إلغاء تثبيت / تثبيت مكونات البرنامج remotley، أن ملفي الشخصي تتم إزالة شكل الجهاز المستهدف. لقد كان لدي أي مشاكل منذ ذلك الحين.

ويساعد هذا الأمل أي شخص.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top