Partilhar via


Criando um usuário

Para criar um usuário nos Serviços de Domínio Ative Directory, crie um objeto de usuário no contêiner de domínio do domínio onde você deseja colocar o usuário. Os usuários podem ser criados na raiz do domínio, dentro de uma unidade organizacional ou dentro de um contêiner.

Ao criar um objeto de usuário, você também deve definir os atributos, listados na tabela a seguir, para definir o objeto como um usuário legal reconhecido pelos Serviços de Domínio Ative Directory e pelo sistema de Segurança do Windows.

Atributo Descrição
cn Especifica o nome do objeto de usuário no diretório. Este será o nome distinto relativo (RDN) do objeto.
sAMAccountName Especifica uma cadeia de caracteres que é o nome usado para dar suporte a clientes e servidores de uma versão anterior do Windows. O sAMAccountName deve ter menos de 20 caracteres para oferecer suporte a clientes de uma versão anterior do Windows.
O sAMAccountName deve ser exclusivo entre todos os objetos principais de segurança dentro do domínio. Você deve executar uma consulta no domínio para verificar se o sAMAccountName é exclusivo dentro do domínio.
sAMAccountName é um atributo opcional. O servidor criará um aleatório sAMAccountName valor se nenhum for especificado.

Você também pode definir outros atributos. Os seguintes atributos de usuário são definidos com valores padrão se você não defini-los explicitamente no momento da criação.

Atributo Descrição
expiraçãoDaConta Especifica quando a conta expirará. O padrão é TIMEQ_FOREVER, que indica que a conta nunca expirará.
nTSecurityDescriptor Um descritor de segurança é criado com base em regras específicas. Para obter mais informações, consulte Como os descritores de segurança são definidos em novos objetos de diretório.
Categoria do Objeto Especifica a categoria de usuário. O padrão é "Pessoa".
nome Especifica o nome de usuário. O padrão é o valor definido para cn.
pwdLastSet Especifica quando o usuário definiu a senha pela última vez. O padrão é zero, o que indica que o usuário deve alterar a senha no próximo logon.
userAccountControl Contém valores que determinam vários recursos de logon e conta para o usuário.
Por padrão, os seguintes sinalizadores são definidos:
  • UF_ACCOUNTDISABLE - A conta está desativada.
  • UF_PASSWD_NOTREQD - Nenhuma senha é necessária.
  • UF_NORMAL_ACCOUNT - Tipo de conta padrão que representa um usuário típico.
membro de Especifica o grupo ou grupos dos quais o usuário é membro direto. O padrão é "Usuários do domínio".

Um usuário é criado vinculando-se ao contêiner desejado e, em seguida, usando um dos seguintes métodos. Os atributos cn e sAMAccountName devem ser definidos antes que o usuário seja confirmado no servidor.

Método Descrição
IADsContainer.Create O atributo cn é retirado do parâmetro bstrRelativeName. O novo usuário deve ser confirmado chamando IADs.SetInfo ou o objeto não será criado. Para obter mais informações, consulte código de exemplo para criar um usuário.
IDirectoryObject::CreateDSObject O atributo cn é obtido do parâmetro pszRDNName. O novo utilizador é confirmado quando CreateDSObject é chamado. Para obter mais informações, consulte código de exemplo para criar um usuário.
DirectoryEntries.Adicionar O atributo cn é retirado do name parâmetro. O novo objeto de usuário deve ser confirmado chamando DirectoryEntry.CommitChanges ou o objeto não será criado. Para obter mais informações, consulte Adicionando objetos de diretório.

O novo usuário deve ser confirmado no servidor antes que quaisquer atributos diferentes de cn e sAMAccountName possam ser modificados. Isso ocorre porque a conta de usuário não existe até que o usuário seja comprometido. Se um atributo for recuperado ou modificado para um objeto que não existe no servidor, ocorrerá um erro. Isso inclui chamar o método IADsUser.SetPassword. Por exemplo, a seguinte sequência seria seguida ao criar um usuário com IADsContainer.Create:

  1. Chame IADsContainer.Create para criar o usuário no cache local com o especificado cn.
  2. Defina o atributo sAMAccountName para o valor desejado com o método IADs.Put.
  3. Agora, modifique outros atributos, como userAccountControl. Essa restrição também se aplica às propriedades ADSI, como IADsUser.AccountDisablede métodos como IADsUser.SetPassword.
  4. Chame IADs.SetInfo para confirmar o novo usuário no servidor.

Quando uma nova conta de usuário é criada, ela é desabilitada por padrão. A conta deve ser ativada manualmente ou programaticamente. Para habilitar uma conta de usuário programaticamente, remova o sinalizador ADS_UF_ACCOUNTDISABLE do atributo userAccountControl.

Quando uma nova conta de usuário é criada, o atributo userAccountControl para a conta tem automaticamente o sinalizador UF_PASSWD_NOTREQD definido, o que indica que nenhuma senha é necessária para a conta. Se as políticas de segurança do domínio no qual a conta é criada exigirem uma senha para todas as contas de usuário, o sinalizador UF_PASSWD_NOTREQD deverá ser removido do atributo userAccountControl da conta.

Código de exemplo para criar um usuário