Como adicionar um utilizador ao sistema local, utilizando os serviços de directório e Visual C#

Traduções de Artigos Traduções de Artigos
Artigo: 306273 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo mostra como utilizar o espaço de nomes DirectoryServices para adicionar um utilizador no sistema local e um grupo.

Requisitos

  • Microsoft Windows XP, Windows 2000 ou Windows NT 4.0
  • O Visual C#

Criar o exemplo

  1. Inicie o Microsoft Visual Studio .NET 2003, Microsoft Visual Studio 2005 ou Microsoft Visual Studio 2008 e, em seguida, crie um novo projecto de aplicação do Visual C# consola de.
  2. No Solution Explorer, clique com o botão direito do rato em References e, em seguida, clique em Add Reference .
  3. Adicione uma referência à assemblagem System.DirectoryServices.dll .
  4. Substitua o código no ficheiro Class1.cs com o seguinte código.

    Nota No Microsoft Visual C# 2005 ou Microsoft Visual C# 2008, o ficheiro Class1.cs é substituído pelo ficheiro Program.cs.
    using System;
    using System.DirectoryServices;
    
    class Class1
    {
        static void Main(string[] args)
        {
        try
            {
    	 DirectoryEntry AD = new DirectoryEntry("WinNT://" + 
    	                     Environment.MachineName + ",computer");
    	 DirectoryEntry NewUser = AD.Children.Add("TestUser1", "user");
    	 NewUser.Invoke("SetPassword", new object[] {"#12345Abc"});
    	 NewUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});
    	 NewUser.CommitChanges();
    	 DirectoryEntry grp;
    
    	 grp = AD.Children.Find("Guests", "group");
    	 if (grp != null) {grp.Invoke("Add", new object[] {NewUser.Path.ToString()});}
    	 Console.WriteLine("Account Created Successfully");
    	 Console.ReadLine();
    	}
        catch (Exception ex)
    	{
    	 Console.WriteLine(ex.Message);
    	 Console.ReadLine();
    
    	}
        }
    }
    					
  5. Compilar e, em seguida, execute o projecto.
  6. Siga estes passos num computador baseado no Windows 2000 para verificar se a conta foi criada e adicionada ao grupo de convidado:

    1. A partir do menu Iniciar , aponte para programas , aponte para Ferramentas administrativas e, em seguida, clique em Gestão de computadores .
    2. Clique para expandir o nó utilizadores e grupos locais . A nova conta deverá ser apresentado sob o nó utilizadores , bem como sob o nó para o grupo convidado .
    Siga estes passos num computador baseado no Windows XP para verificar se a conta foi criada e adicionada ao grupo de convidado:
    1. A partir do menu Iniciar , clique em Painel de controlo .
    2. Faça duplo clique em contas de utilizador . A nova conta de utilizador deverá aparecer na caixa de diálogo Contas de utilizador .
    Nota importante : remover a conta de utilizador recém-criado do sistema depois de concluir a testar.

EXPLICAÇÃO do código

Criar uma nova entrada de directório

Quando cria a entrada de directório neste exemplo, é considerado que o sistema está com o Microsoft Windows NT, Windows 2000 ou Windows XP. Note que a cadeia que é transmitida para o Construtor de DirectoryEntry começa por "WinNT: / /". Também pode executar serviços de directório noutros sistemas operativos de outros fabricantes.
DirectoryEntry AD = new DirectoryEntry("WinNT://" + SystemInformation.ComputerName + ",computer");
				

Adicionar a entrada de directório a árvore de directório

O seguinte código adiciona uma DirectoryEntry do tipo de utilizador com o valor de TestUser1 à árvore Do Active Directory .
DirectoryEntry NewUser = AD.Children.Add("TestUser1", "user");
				

Definir a palavra-passe e a descrição da nova conta de utilizador

O seguinte código chama o método Invoke para invocar os SetPassword e colocar métodos do objecto DirectoryEntry . Isto define a palavra-passe e atribui uma descrição para a conta de utilizador. Este código também chama o método CommitChanges para guardar as alterações.
NewUser.Invoke("SetPassword", new object[] {"#12345Abc"});
NewUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});
NewUser.CommitChanges();
				

Adicionar a conta a um grupo

Para adicionar a conta a um grupo, siga estes passos:
  1. Defina uma variável do tipo DirectoryEntry .
  2. Chame o método Localizar do membro subordinados da classe ActiveDirectory para preencher a variável. Neste caso, o grupo de ' Convidado ' é o destino da procura. Este código testa o valor que o método Localizar devolve para determinar se o grupo foi encontrado. Se o grupo for encontrado, a conta de utilizador nova é adicionada ao grupo.
DirectoryEntry grp;
grp = AD.Children.Find("Guests", "group");
if (grp != null) {grp.Invoke("Add", new object[] {NewUser.Path.ToString()});}
				

Resolução de problemas

O código deste artigo falha se tentar executar código sem os privilégios suficientes para criar uma conta de utilizador. Para o código seja concluída com êxito, o utilizador com sessão iniciada tem de ser membro do grupo Administradores ou ter permissões específicas que permitem ao utilizador criar contas de utilizador.

Propriedades

Artigo: 306273 - Última revisão: 11 de dezembro de 2006 - Revisão: 2.4
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbhowtomaster KB306273 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 306273

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com