2012-06-01 5 views
5

व्यवस्थापक विशेषाधिकारों के बिना विंडो सेवा को कैसे प्रारंभ और बंद करें?विंडोज सेवा प्रशासन विशेषाधिकारों के बिना शुरू और बंद

मेरा एप्लिकेशन लॉन्च मेरी सेवा शुरू करना चाहिए उसी तरह इसे बंद होने के बाद इसे रोकना होगा। मैं इसे "सेवा नियंत्रक"

मैं व्यवस्थापक विशेषाधिकार के साथ सेवा स्थापित कर सकता हूं लेकिन सेवा शुरू करने और रोकने के लिए व्यवस्थापक विशेषाधिकारों से नहीं पूछना चाहिए।

क्या कोई मुझे बता सकता है कि मैं C# का उपयोग करके इसे कैसे प्राप्त कर सकता हूं?

+4

http://stackoverflow.com/questions/4436558/start-stop-a-windows-service-from-a-non-administrator-user-account – Adam

+0

की संभावित डुप्लिकेट आप कौन सी सेवा शुरू करने और रोकने की कोशिश कर रहे हैं। जो आप –

+0

का उपयोग कर रहे हैं Noraml WCF सेवा –

उत्तर

3

मैंने गैर व्यवस्थापक उपयोगकर्ताओं के लिए सेवा शुरू/बंद करने की अनुमति देने का तरीका खोजा है। हम अपनी सेवा के लिए एक समूह नीति प्रदान कर सकते हैं ताकि यह प्रशासक विशेषाधिकार के बिना शुरू/बंद हो सके। मुझे इस कार्य को प्राप्त करने के लिए दो दृष्टिकोण मिले।

दृष्टिकोण 1:

  1. "mmc.exe"
  2. बनाया खाली सुरक्षा टेम्पलेट
  3. एक सुरक्षा डेटाबेस नीति जानकारी
  4. बदलें सेवा की अनुमति के लिए स्टोर करने के लिए बनाया गया से कंसोल बनाएं उपयोगकर्ता जिसे हम अनुमति देना चाहते हैं
  5. लागू नई सुरक्षा अनुमति (मैंने इसे blog)

यह दृष्टिकोण पूरी तरह से ठीक काम करता है, मैंने एक वर्चुअल मशीन में दो गैर व्यवस्थापक उपयोगकर्ता खाता बनाया है और व्यवस्थापक खाते से अनुमति सेट की है, मैं दोनों गैर-व्यवस्थापक उपयोगकर्ता खातों से सेवा को शुरू और बंद करने में सक्षम हो सकता हूं। हालांकि यह दृष्टिकोण समस्या के लिए एक संपूर्ण समाधान नहीं था, इसमें कई मैन्युअल कदम शामिल हैं। इसलिए मैं इस प्रक्रिया को स्वचालित करना शुरू कर देता हूं। इसके परिणामस्वरूप मैंने दृष्टिकोण 2

दृष्टिकोण 2: "Subinacl.exe" का उपयोग करके अनुमति प्रदान करें, SubInACL एक कमांड लाइन उपकरण है जो प्रशासकों को फ़ाइलों, रजिस्ट्री कुंजियों और सेवाओं के बारे में सुरक्षा जानकारी प्राप्त करने में सक्षम बनाता है, और इस जानकारी को उपयोगकर्ता से उपयोगकर्ता, स्थानीय या वैश्विक समूह से समूह तक, और डोमेन से डोमेन में स्थानांतरित करें।

मैंने दो गैर व्यवस्थापक उपयोगकर्ता खाते बनाने और SUBINACL/SERVICE \ DomainName \ MyService/GRANT = DomainName \ USERS = TOP आदेश निष्पादित करने के समान उदाहरण का पालन किया है, इसलिए यह उपयोगकर्ता को सेवा को प्रारंभ/बंद करने के लिए प्रदान करेगा।

+0

बस ध्यान रखें कि एक कारण है डिफ़ॉल्ट रूप से नियमित उपयोगकर्ताओं को यह अनुमति नहीं दी जाती है। आप अपने नेटवर्क के भीतर सुरक्षा भेद्यताएं खोल सकते हैं। – JDB