سؤال

تعطل تطبيق C# الخاص بي في بعض الحالات عند تشغيله باستخدام مستخدم غير إدارة.

أواجه مشكلة في Windows Server 2003 وأحاول العثور على مزيد من المعلومات حول هذا الموضوع. قد تكون مشكلة في نظام التشغيل Windows الآخر.

يبدو أنه إذا قمت بإنشاء مستخدم غير مدين ، ثم قم بتشغيل طلبي تحت هذا المستخدم باستخدام الأمر "Run as ..." ، فإن بيئة المستخدمين لا يتم إعدادها بشكل صحيح ، ونقاط متغير بيئة Temp في C : Windows Temp بدلاً من أن يكون لدى المستخدمين مجلد Temp الخاص بهم في ملف تعريف المستندات والإعدادات. لا يحتوي المستخدم على أذونات لهذا المجلد ، وبالتالي فإن التطبيق يتعطل مع برنامج التحويل البرمجي .NET JIT يحاول الكتابة/القراءة إلى هذا المجلد.

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

إذا قمت بإنشاء مستخدم غير إدارة ، وقمت بتسجيل الدخول إليه قبل القيام بـ "تشغيل AS .." ، فسيتم إعداد البيئة بشكل جيد ، ويعمل طلبي.

لا يمكنني العثور على أي معلومات حول هذه المشكلة أو ملاحظات حول ما إذا كانت Microsoft تعترف بذلك. هل واجهت هذا ، أو هل تعرف أين يمكنني أن أتطلع إلى العثور على المزيد عنها؟

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

المحلول

فكر في استخدام Runas مع ملف تعريف للمستخدم إذا لم تكن كذلك.

C:\temp>runas RUNAS USAGE:

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
        /user: program

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
        /smartcard [/user:] program

/يحدد Noprofile أنه لا ينبغي تحميل ملف تعريف المستخدم. يؤدي هذا إلى تحميل التطبيق بسرعة أكبر ، ولكن يمكن أن يتسبب في حدوث خلل في بعض التطبيقات.
/يحدد الملف الشخصي أنه يجب تحميل ملف تعريف المستخدم. هذا هو الافتراضي. /ENV لاستخدام البيئة الحالية بدلاً من المستخدم. /استخدام Netonly إذا كانت بيانات الاعتماد المحددة للوصول عن بُعد فقط. /SaveCred لاستخدام بيانات الاعتماد التي تم حفظها مسبقًا من قبل المستخدم. هذا الخيار غير متوفر في إصدار Windows XP Home وسيتم تجاهله. /استخدام بطاقة Smartcard إذا تم توفير بيانات الاعتماد من بطاقة Smartcard. /يجب أن يكون المستخدم في نموذج@domain أو domain user
سطر أوامر البرنامج لـ EXE. انظر أدناه للحصول على أمثلة

أمثلة:

runas /noprofile /user:mymachine\administrator cmd runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc" runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

ملاحظة: أدخل كلمة مرور المستخدم فقط عند المطالبة. ملاحظة: مستخدم@المجال غير متوافق مع /netonly. ملاحظة: /الملف الشخصي غير متوافق مع /netonly.

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