GetProcessesByName() والمهمة المجدولة لنظام التشغيل Windows Server 2003

StackOverflow https://stackoverflow.com/questions/152337

سؤال

هل يعرف أي شخص ما هي امتيازات المستخدم المطلوبة لكي يتم تنفيذ التعليمات البرمجية التالية بنجاح كمهمة مجدولة على نظام التشغيل Windows Server 2003:

System.Diagnostics.Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName)

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

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

الطريقة الوحيدة التي يمكنني من خلالها تشغيله هي تشغيله كعضو في مجموعة المسؤولين المحليين.

أيه أفكار؟

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

المحلول

اعتذاري المتواضع.المستخدم الذي كنت أستخدمه لم يكن عضوًا في مجموعة "مستخدمي مراقبة الأداء".

يعد هذا ضروريًا لتطبيق .NET Framework 1.1 لـ System.Diagnostics.

لقد أضفت المستخدم إلى هذه المجموعة، وكل شيء على ما يرام.

نصائح أخرى

ما هي تعيينات حقوق المستخدم التي قمت بمنحها للحساب الذي يعمل كمهمة مجدولة؟ستحتاج إلى إعطاء الحساب المعني "تسجيل الدخول كمهمة مجمعة" في إعدادات الأمان المحلية لديك.

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

لقد قمت للتو بإنشاء تطبيق اختبار يكتب أسماء العمليات من صفيف Process[] الذي تم إرجاعه بواسطة Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName) إلى ملف ويعمل بشكل جيد كمهمة مجدولة... حتى يعمل تحت هوية المستخدم الذي هو عضو فقط في مجموعة المستخدمين (وليس حتى عضوًا في "مستخدمي مراقبة الأداء".

يتم تعيين حقوق التعديل للمجلد الذي يكتب إليه إلى SYSTEM والمسؤولين ومستخدم المهمة المجدولة.

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

هتافات
كيف

إحدى المشكلات التي رأيتها أثناء قراءة اسم العملية هي إمكانية تعطيل الوصول إلى عدادات الأداء.

قم بفتح السجل الخاص بك ومعرفة ما إذا كان هذا المفتاح موجودًا:hkey_local_machine system currentControlset services perfproc performance] "تعطيل عدادات الأداء" = dword: 00000001

يمكنك إما ضبطه على الصفر أو حذفه.

مأخوذ من MSDN:

الأذونات LinkDemand - للحصول على الثقة الكاملة للمتصل المباشر.لا يمكن استخدام هذا العضو بواسطة رمز موثوق به جزئيًا.

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