2010-04-23 3 views
5

मैं इस कोडProcessStartInfo

ProcessStartInfo _startInfo = new ProcessStartInfo(commandName); 
_startInfo.UseShellExecute = false; 
_startInfo.UserName = @"NT AUTHORITY\SYSTEM"; 
_startInfo.CreateNoWindow = true; 
_startInfo.Arguments = argument; 
_startInfo.RedirectStandardOutput = true; 

using (Process _p = Process.Start(_startInfo)) { 
    _retVal = _p.StandardOutput.ReadToEnd(); 
    _p.WaitForExit(); 
} 

का उपयोग कर स्थानीय सिस्टम खाते के रूप में एक प्रक्रिया शुरू करने के कोशिश कर रहा हूँ लेकिन मैं हमेशा हो रही है वही त्रुटि संदेश कह रही है "लॉग ऑन विफलता का उपयोग कर स्थानीय सिस्टम के रूप में एक प्रक्रिया प्रारंभ करें पारण शब्द"। फ़ंक्शन को कॉल करने वाला उपयोगकर्ता स्थानीय व्यवस्थापक होता है और स्थानीय सिस्टम विशेषाधिकार के साथ प्रक्रिया शुरू करने में सक्षम होना चाहिए। मैंने अलग संयोजन की कोशिश की लेकिन कोई किस्मत नहीं।

मैं किसी भी मदद की सराहना करता हूं। धन्यवाद

उत्तर

3

दुर्भाग्यवश, मुझे नहीं लगता कि आप इसे इतना आसानी से कर सकते हैं।

अंतर्निहित एपीआई जो प्रक्रिया। स्टार्ट() कॉल उपयोगकर्ता नाम और पासवर्ड स्वीकार करती है, लेकिन चूंकि सिस्टम उपयोगकर्ता नियमित उपयोगकर्ता नहीं है और पासवर्ड नहीं है, मुझे विश्वास नहीं है कि आप इसे इस API के साथ उपयोग कर सकते हैं ।

आपको psexec (जिसे आप निश्चित रूप से Process.Start() से कॉल कर सकते हैं) का उपयोग करना होगा।

+0

यह वह संस्करण है जिसका मैं उपयोग करूंगा :-) धन्यवाद! – auhorn

0

मुझे थोड़ी देर पहले कुछ कठिनाइयों का सामना करना पड़ा। अंत में इसे प्रबंधित किया। आप शायद जो कुछ खो रहे हैं वह कुछ अनुमति या अन्य है। मेरा previous question/answer.

संबंधित मुद्दे