문제

현지 사용자가 있는데,이 사용자는 관리자 로컬 그룹의 회원입니다.

이 코드를 실행할 때 :

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);
        }
    }
}

나는 받는다 :

처리되지 않은 예외 : System.Runtime.InterOpServices.comexception (0x80070005) : 액세스가 거부됩니다.

at System.DirectoryServices.directoryEntry.bind (boolean trashiffail)의 System.DirectoryServices.directoryEntry.bind ()의 System.DirectoryServices.directoryServices.get_nativeObject ()의 nanttest.program.Main (string [] argss)의 C : Work work work work work work nanttest nanttest program.cs : 라인 20

관리자로 로그인하는 동안이 코드를 실행하면 괜찮습니다.

또한이 코드는 도메인 나드 민 사용자로 로그인 한 경우 실행되지 않습니다. 나는 현지 관리자 그룹의 구성원으로 나의 도메인 domainadmins와 mydomain mydomainuser를 추가했습니다.

이 사용자에 대해 다른 권한을 추가해야 하므로이 코드를 실행할 수 있습니다.

도움이 되었습니까?

해결책

내 자신의 질문에 답하기 위해 다른 사람들은 해결책을 찾을 수 있습니다.

문제는 Windows 2008의 기본 UAC 설정에 문제가 있습니다. 사용자가 관리자 그룹에 있더라도 일부 작업을 실행하기 위해 여전히 높은 권한이 필요합니다 (위의 것은 그 중 하나 인 것 같습니다).

따라서 솔루션 1- "관리자로 실행"을 사용하여 응용 프로그램을 실행하거나 해당 옵션으로 시작된 명령 프롬프트에서 시작하십시오.

솔루션 2 : 관리자 그룹 용 UAC 비활성화 - 메소드 #3을 사용했습니다. 이 기사 (그룹 정책 변경). 이러한 변경 후 서버를 재부팅해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top