Pergunta

Eu tenho um usuário local, que é membro do grupo local Administradores.

Quando eu executar esse código:

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

Eu recebo:

Exceção não tratada: System.Runtime.InteropServices.COMException (0x80070005): Acesso negado.

at System.DirectoryServices.DirectoryEntry.Bind (Boolean throwIfFail) a System.DirectoryServices.DirectoryEntry.Bind () em System.DirectoryServices.DirectoryEntry.get_NativeObject () em nanttest.Program.Main (String [] args) em C: \ work \ nanttest \ nanttest \ Program: linha 20

Se eu executar esse código enquanto estiver conectado como administrador, ele funciona OK.

Além disso, este código falha se eu executá-lo logado como usuário DomainAdmin. Eu adicionei MYDOMAIN \ DomainAdmins e MYDOMAIN \ mydomainuser como membros do grupo de administradores local.

O que outras permissões devo acrescentar para esses usuários, para que eles possam executar esse código.

Foi útil?

Solução

Para responder a minha própria pergunta, para que outros possam encontrar uma solução:

O problema é com as configurações de UAC padrão no Windows 2008. Mesmo se um usuário está no grupo Administradores, ele / ela ainda precisa de privilégios para executar algumas operações (o que está acima parece estar entre eles) elevado.

Assim, a solução 1 -. Executar o aplicativo usando o "Executar como administrador", ou iniciá-lo a partir de um prompt de comando, que foi iniciado com essa opção

Solução 2: Desativar UAC para o grupo de administradores - método que eu usei # 3 de este artigo (mudanças de política de grupo). Lembre-se de reiniciar o servidor após essas alterações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top