2010-06-08 14 views
18

मैं दूरस्थ कंप्यूटर में स्थापित Windows सेवाओं को नियंत्रित करने की कोशिश कर रहा हूं। मैं ServiceController कक्षा का उपयोग कर रहा हूं।सेवा नियंत्रक के साथ एक विंडोज सेवा को दूरस्थ रूप से कैसे नियंत्रित करें?

मैं इस है:

ServiceController svc = new ServiceController("MyWindowsService", "COMPUTER_NAME"); 
इस के साथ

, मैं इस तरह Windows सेवा का दर्जा प्राप्त कर सकते हैं:

string status = svc.Status.ToString(); 

लेकिन मैं Windows सेवा (नियंत्रित नहीं कर सकते svc.Start(); करके या svc.Stop();)।

खुला Servicexxx सेवा नहीं कंप्यूटर 'Computer_Name'

यह सामान्य है पर, मुझे लगता है कर सकते हैं वहाँ पहुँच अनुमतियाँ के साथ कुछ है: मैं निम्न अपवाद मिलता है। पर कैसे? मैंने Google में देखा है लेकिन मुझे वह नहीं मिला जो मैं ढूंढ रहा था। हालांकि मैं अक्सर प्रतिरूपण से संबंधित कुछ पढ़ता हूं, लेकिन मुझे नहीं पता कि इसका क्या अर्थ है।

एनबी: स्थानीय और दूरस्थ कंप्यूटर दोनों Win XP Pro चला रहे हैं।

उत्तर

8

समस्या हल हो गई।

प्रतिरूपण एक निश्चित लॉगऑन/पासवर्ड का उपयोग कर कोड का एक टुकड़ा चलाने में होते हैं। मुझे यह बहुत उपयोगी प्रोजेक्ट मिला: http://www.codeproject.com/KB/cs/svcmgr.aspx?display=Print जिसने मुझे बहुत मदद की!

+2

पर यह एक अनावश्यक सुरक्षा छेद है। यदि इस एप्लिकेशन के उपयोगकर्ता के पास पहुंच होनी चाहिए तो उनके पास प्रमाण-पत्र होना चाहिए और उस उपयोगकर्ता के रूप में लॉगिन होना चाहिए। अधिक महत्वपूर्ण बात यह है कि उन्हें केवल उस समूह को असाइन की अनुमति होनी चाहिए, जिसके सदस्य हैं। यह समस्या को हल नहीं करता है यह एक असुरक्षित कामकाज है हंस पासेंट का जवाब और संबंधित टिप्पणियां देखें। – majinnaibu

7

सेवाओं को शुरू करना और रोकना एक बेहद विशेषाधिकार प्राप्त ऑपरेशन है, जो आमतौर पर केवल प्रशासकों के लिए उपलब्ध होता है। सुनिश्चित करें कि आपके द्वारा उपयोग किए जाने वाले उपयोगकर्ता खाते में लक्ष्य मशीन पर पर्याप्त विशेषाधिकार हैं। Serverfault.com पर इसके बारे में और प्रश्न पूछें

0

समस्या को हल करने के लिए, अपना नाम दूरस्थ कंप्यूटर/सर्वर जैसे डोमेन/उपयोगकर्ता नाम पर व्यवस्थापक अनुमतियां दें और आप पैकेज को सफलतापूर्वक चलाने में सक्षम होंगे क्योंकि मेरे पास एक ही समस्या थी और जब मैंने अपनी स्वयं की सेवाओं को अनुमति दी, तो दूरस्थ सर्वर