Question

J'ai un utilisateur local, membre du groupe local Administrateurs.

Quand j'exécute ce code:

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

je reçois:

  

Exception non gérée:   System.Runtime.InteropServices.COMException   (0x80070005): l'accès est refusé.

     

à   System.DirectoryServices.DirectoryEntry.Bind (Boolean   throwIfFail) à   System.DirectoryServices.DirectoryEntry.Bind ()   à   System.DirectoryServices.DirectoryEntry.get_NativeObject ()   at nanttest.Program.Main (String []   args) dans   c: \ Work \ nanttest \ nanttest \ Program.cs: line   20

Si je lance ce code alors que je suis connecté en tant qu'administrateur, cela fonctionne correctement.

En outre, ce code échoue si je l'exécute en tant qu'utilisateur DomainAdmin. J'ai ajouté MYDOMAIN \ DomainAdmins et MYDOMAIN \ mydomainuser en tant que membres du groupe d'administrateurs local.

Quelles autres autorisations dois-je ajouter pour ces utilisateurs afin qu'ils puissent exécuter ce code?

Était-ce utile?

La solution

Pour répondre à ma propre question, afin que les autres puissent trouver une solution:

Le problème concerne les paramètres de contrôle de compte d'utilisateur par défaut de Windows 2008. Même si un utilisateur appartient au groupe Administrateurs, il a toujours besoin de privilèges élevés pour exécuter certaines opérations (celle ci-dessus semble en faire partie).

Donc, solution 1: exécutez l'application à l'aide de "Exécuter en tant qu'administrateur", ou démarrez-la à partir d'une invite de commande lancée avec cette option.

Solution 2: désactivation du contrôle de compte d'utilisateur pour le groupe des administrateurs - J'ai utilisé la méthode n ° 3 de cet article (changements de stratégie de groupe). N'oubliez pas de redémarrer le serveur après ces modifications.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top