.net - DirectoryEntry.NativeObject Windows 2008 में व्यवस्थापक समूह में एक उपयोगकर्ता के लिए पहुँच अस्वीकृत फेंकता है



permissions windows-server-2008 (1)

मेरे पास एक स्थानीय उपयोगकर्ता है, जो प्रशासक स्थानीय समूह का सदस्य है।

जब मैं यह कोड चलाऊँगा:

using System;
using System.DirectoryServices;

namespace nanttest
{
    class Program
    {
        public static void Main(string[] args)
        {
            using(DirectoryEntry entry = new DirectoryEntry("IIS://localhost/W3SVC"))
            {
                object absobject = entry.NativeObject;
                Console.WriteLine("Name: {0}", entry.Name);
            }

            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

मुझे प्राप्त हुआ:

अनियंत्रित अपवाद: सिस्टम.रंटाईम.इंटरॉप सर्विसेज। COMException (0x80070005): प्रवेश निषेध है।

System.DirectoryServices.DirectoryEntry.Bind पर (बूलियन throwIfFail) System.DirectoryServices.DirectoryEntry.Bind () पर System.DirectoryServices.DirectoryEntry.get_NativeObject () पर nanttest.Program.Main (स्ट्रिंग [] args) में c: \ Work \ nanttest \ nanttest \ Program.cs: पंक्ति 20

अगर मैं प्रशासक के रूप में प्रवेश करते समय इस कोड को चलाता हूं, तो यह ठीक काम करता है।

साथ ही, यह कोड विफल हो जाता है अगर मैं इसे डोमेनएडमिन उपयोगकर्ता के रूप में लॉग इन चलाता हूं। मैंने MYDOMAIN \ DomainAdmin और MyDOMAIN \ mydomainuser को स्थानीय व्यवस्थापक समूह के सदस्यों के रूप में जोड़ा है।

इन उपयोगकर्ताओं के लिए मुझे अन्य अनुमतियों को क्या शामिल करना चाहिए, ताकि वे इस कोड को चला सकें।


अपने प्रश्न का उत्तर देने के लिए, ताकि दूसरों को एक समाधान मिल सके:

समस्या Windows 2008 में डिफ़ॉल्ट यूएसी सेटिंग्स के साथ है। भले ही कोई उपयोगकर्ता व्यवस्थापक समूह में है, फिर भी उसे कुछ कार्यों को चलाने के लिए ऊंचा विशेषाधिकारों की आवश्यकता है (उपरोक्त एक उनके बीच में प्रतीत होता है)।

इसलिए, समाधान 1 - "प्रशासक के रूप में चलाएं" का उपयोग कर एप्लिकेशन को चलाएं, या कमांड प्रॉम्प्ट से इसे शुरू करें, जो उस विकल्प से शुरू हुआ था।

समाधान 2: प्रशासक समूह के लिए यूएसी अक्षम करें - मैंने इस आलेख (समूह नीति परिवर्तन) से विधि # 3 का उपयोग किया है। इन परिवर्तनों के बाद सर्वर को रीबूट करना याद रखें