Domanda

Ho un utente locale, che è membro del gruppo locale Administrators.

Quando eseguo questo codice:

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

Ricevo:

  

Eccezione non gestita:   System.Runtime.InteropServices.COMException   (0x80070005): accesso negato.

     

a   System.DirectoryServices.DirectoryEntry.Bind (booleano   throwIfFail) a   System.DirectoryServices.DirectoryEntry.Bind ()   a   System.DirectoryServices.DirectoryEntry.get_NativeObject ()   at nanttest.Program.Main (String []   args) in   c: \ Work \ nanttest \ nanttest \ Program.cs: linea   20

Se eseguo questo codice mentre eseguo l'accesso come amministratore, funziona correttamente.

Inoltre, questo codice non riesce se lo eseguo come utente DomainAdmin. Ho aggiunto MYDOMAIN \ DomainAdmins e MYDOMAIN \ mydomainuser come membri del gruppo Administrators locale.

Quali altre autorizzazioni devo aggiungere per questi utenti, in modo che possano eseguire questo codice.

È stato utile?

Soluzione

Per rispondere alla mia domanda, in modo che altri possano trovare una soluzione:

Il problema riguarda le impostazioni predefinite del Controllo account utente in Windows 2008. Anche se un utente fa parte del gruppo Amministratori, ha ancora bisogno di privilegi elevati per eseguire alcune operazioni (quella sopra sembra essere tra queste).

Quindi, soluzione 1: esegui l'applicazione usando " Esegui come amministratore " oppure avviala da un prompt dei comandi, che è stato avviato con quell'opzione.

Soluzione 2: disabilita Controllo dell'account utente per il gruppo amministratori - Ho utilizzato il metodo n. 3 da questo articolo (modifiche ai criteri di gruppo). Ricorda di riavviare il server dopo queste modifiche.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top