سؤال

لا بد لي من بدء برنامج سطر الأوامر مع system.diagnostics.process.start () وتشغيله كمسؤول.

سيتم أيضًا تشغيل هذا الإجراء من خلال مهمة مجدولة كل يوم.

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

المحلول 5

لقد وجدت ذلك ، أحتاج إلى تعيين المهمة المجدولة لتشغيل التطبيق بأعلى امتيازات في الإعدادات العامة.

نصائح أخرى

أنا فقط أحاول استخدام:

Process p = new Process();
p.StartInfo.Verb = "runas";

يعمل هذا بشكل جيد إذا كنت أقوم بتشغيل برنامجي كمسؤول ، ولكن عندما تديره المهمة المجدولة ، فإنها لا تأخذ "Runas" في الاعتبار.

هناك خيار آمن أفضل لتشغيل عملية مع تسجيل الدخول وكلمة المرور هو استخدام فئة Securestring لتشفير كلمة المرور. هنا عينة من الكود:

string pass = "yourpass";
string name ="login";
SecureString str;
ProcessStartInfo startInfo = new ProcessStartInfo();
char[] chArray = pass.ToCharArray();
fixed (char* chRef = chArray)
{
    str = new SecureString(chRef, chArray.Length);
}
startInfo.Password = str;
startInfo.UserName = name;
Process.Start(startInfo);

يجب أن تسمح لعملية رمز غير آمنة في خصائص مشروعك.

نأمل أن تكون هذه المساعدة.

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

استخدم بيانات اعتماد المسؤول في المهمة وستكون بخير.

مع Process.Start, ، تحتاج إلى توفير UserName و Password ل ProcessStartInfo:

Process p = new Process("pathto.exe");
p.StartInfo.UserName = "Administrator";
p.StartInfo.Password = "password";
p.Start();

كن على دراية بأن تخزين كلمة مرور في نص واضح في البرنامج لا يكون آمنًا أبدًا طالما أن شخصًا ما يمكنه الاطلاع على التطبيق ومعرفة ما هو فيه. إن استخدام Securestring لتحويل كلمة مرور مخزنة إلى كلمة مرور Securestring لا يجعلها أكثر أمانًا ، لأن كلمة المرور النصية الواضحة ستظل موجودة.

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

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

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