Como adicionar um usuário no sistema local usando serviços de diretório e translation from VPE for Csharp Visual

Traduções deste artigo Traduções deste artigo
ID do artigo: 306273 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo a passo mostra como usar o espaço para nome DirectoryServices para adicionar um usuário para o sistema local e um grupo.

Requisitos

  • Microsoft Windows XP, Windows 2000 ou Windows NT 4.0
  • Translation from VPE for Csharp Visual

Criar o exemplo

  1. Iniciar o Microsoft Visual Studio .NET 2003, Microsoft Visual Studio 2005 ou Microsoft Visual Studio 2008 e, em seguida, crie um novo projeto do Visual translation from VPE for Csharp Console Application.
  2. No Solution Explorer, clique com o botão direito do mouse em References e, em seguida, clique em Add Reference .
  3. Adicione uma referência ao assembly System.DirectoryServices.dll .
  4. Substitua o código no arquivo Class1.cs com o código a seguir.

    Observação No Microsoft Visual translation from VPE for Csharp 2005 ou o Microsoft Visual translation from VPE for Csharp 2008, o arquivo Class1.cs é substituído pelo arquivo 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. Compile e, em seguida, execute o projeto.
  6. Execute essas etapas em um computador baseado no Windows 2000 para verificar que a conta foi criada e adicionada ao grupo Convidado:

    1. No menu Iniciar , aponte para programas , aponte para Ferramentas administrativas e, em seguida, clique em Gerenciamento do computador .
    2. Clique para expandir o nó usuários e grupos locais . A nova conta deve aparecer sob o nó usuários , bem como sob o nó para o grupo Convidado .
    Execute essas etapas em um computador baseado no Windows XP para verificar que a conta foi criada e adicionada ao grupo Convidado:
    1. No menu Iniciar , clique em Painel de controle .
    2. Clique duas vezes em contas de usuário . A nova conta de usuário deve aparecer na caixa de diálogo Contas de usuário .
    Observação importante : remover a conta de usuário recém-criado do sistema depois de concluir o teste.

Explicação do código

Criar uma nova entrada de diretório

Quando você cria a entrada de diretório neste exemplo, assume-se que o sistema está executando o Microsoft Windows NT, Windows 2000 ou Windows XP. Observe que a seqüência que é passada para o construtor DirectoryEntry começa com "WinNT: / /". Você também pode executar serviços de diretório em outros sistemas operacionais de terceiros.
DirectoryEntry AD = new DirectoryEntry("WinNT://" + SystemInformation.ComputerName + ",computer");
				

Adicionar a entrada de Directory para a árvore de diretório

O código a seguir adiciona um DirectoryEntry do tipo de usuário com o valor da TestUser1 à árvore do Active Directory .
DirectoryEntry NewUser = AD.Children.Add("TestUser1", "user");
				

Definir a senha e a descrição para a nova conta de usuário

O código a seguir chama o método Invoke para chamar os métodos SetPassword e colocar do objeto DirectoryEntry . Isso define a senha e atribui uma descrição para a conta de usuário. Esse código também chama o método CommitChanges para salvar 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, execute estas etapas:
  1. Defina uma variável do tipo DirectoryEntry .
  2. Chame o método Find do membro filhos da classe Active Directory para preencher a variável. Nesse caso, o grupo Convidado é o destino da pesquisa. Esse código testa o valor que o método Find retorna para determinar se o grupo foi encontrado. Se o grupo for encontrado, a nova conta de usuário é adicionada ao grupo.
DirectoryEntry grp;
grp = AD.Children.Find("Guests", "group");
if (grp != null) {grp.Invoke("Add", new object[] {NewUser.Path.ToString()});}
				

Solução de problemas

O código neste artigo falhará se você tentar executar o código sem os privilégios suficientes para criar uma conta de usuário. Para o código concluir com êxito, o usuário conectado no momento deve ser um membro do grupo Administradores ou ter permissões específicas que permitem ao usuário criar contas de usuário.

Propriedades

ID do artigo: 306273 - Última revisão: segunda-feira, 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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