से किसी दूरस्थ सेवा प्रारंभ मैं एक दूरस्थ पीसीसी #
public static List<Service> GetServices()
{
List<Service> Services = new List<Service>();
ServiceController[] sc = ServiceController.GetServices(Server);
foreach (var s in sc)
{
Services.Add(new Service { Name = s.ServiceName, Running = s.Status == ServiceControllerStatus.Running });
}
return Services;
}
public static bool StartService(string ServiceName)
{
try
{
ServiceController sc = new ServiceController(ServiceName, Server);
sc.Start();
sc.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 10));
sc.Refresh();
return sc.Status == ServiceControllerStatus.Running;
}
catch(Exception ex) { return false; }
}
GetServices विधि ठीक काम करता है पर खिड़कियों सेवाओं को प्रारंभ करने के लिए एक सी # WinForms एप्लिकेशन में निम्न कोड का उपयोग कर रहा है जब अपने स्थानीय पीसी पर या पर इशारा करते हुए रिमोट पीसी स्टार्ट सेवा विधि हालांकि मेरे स्थानीय पीसी पर काम करती है, जब रिमोट पीसी पर चलती है तो मुझे पहुंच से वंचित कर दिया जाता है। इस मामले में रिमोट पीसी एक ही डोमेन पर एक विंडोज एक्सपी प्रो मशीन है और जिस उपयोगकर्ता के तहत मैं ऐप चला रहा हूं उसके पास स्थानीय व्यवस्थापक अधिकार हैं।
मुझे यकीन नहीं है कि यह मेरे कोड के साथ कोई समस्या है या यदि मेरी अनुमतियां सही नहीं हैं।
यदि यह अनुमति अनुमति है तो कृपया मुझे बताएं और मैं सर्वरफॉल्ट पर पूछने की कोशिश करूंगा।
धन्यवाद
पहला त्वरित परीक्षण, सेवा प्रबंधक खोलें और दूरस्थ पीसी से कनेक्ट करें और आवश्यक सेवा शुरू करने का प्रयास करें। –
क्या आप वाकई एक व्यवस्थापक के रूप में अपना आवेदन चला रहे हैं? क्या आपके पास सीएएस अनुमतियां हैं ('ServiceControllerPermission (ServiceControllerPermissionAccess.Control)' और 'SecurityPermission (PermissionState.Unrestricted)')? आपको पहले यह जांचना चाहिए कि 'sc.Status == ServiceControllerStatus.Stopped'। –
ठीक है सेवा प्रबंधक भी विफल रहता है इसलिए मुझे लगता है कि यह मदद के लिए सर्वरफॉल्ट धन्यवाद के लिए एक प्रश्न है। – Gavin