Como criar usuários em lote no AD
A criação de dezenas ou centenas de usuários no AD “na mão” pode não ser uma tarefa agradável. Aprenda como criar usuários em lote no AD para contornar esse problema.
Utilizamos um arquivo .csv para armazenar as informações mais básicas de cada usuário e depois importamos essas informações no Powershell do Windows Server.
Para isso, siga os passos:
1. Acesse Usuários e Computadores do Active Diretory, clique em Exibir e em Recursos Avançados;
2. Clique com o botão direito do mouse sobre a Unidade Organizacional na qual você deseja criar o(s) usuários(s), clique na aba Editor de Atributos e copie o caminho contido em distinquishedName (dê dois cliques sobre a opção):

3. Abra o PowerShell e cole o seguinte comando:
New-ADUser -name ‘Fulano da Silva’ -SamAccountName fulanoSilva -UserPrincipalName fulanosilva@empresa.local -Path “OU=Usuários,OU=Vendas,DC=empresa,DC=local” -AccountPassword (ConvertTo-SecureString -AsPlainText ‘Senha123’ -force) -Enabled $true
Os comandos acima cria um usuário conforme o caminho recuperado em distinquishedName, ou seja, “OU=Usuários,OU=Vendas,DC=empresa,DC=local”, converte a senha Senha123 em um formato seguro e já deixa o usuário ativo -Enabled $true
Para criar usuários em lote, crie no Excel (ou em outro editor de planilhas) a lista de usuários de acordo com a seguinte estrutura:

Salve o arquivo com a extensão .csv e importe este com seguinte comando:
Import-Csv -Path C:\usuarios.csv | ForEach-Object {New-ADUser -name $_.nome -DisplayName $_.nome -SamAccountName $_.conta -UserPrincipalName $_.email -Path $_.ou -AccountPassword (ConvertTo-SecureString -AsPlainText ‘Senha123’ -force) -Enabled $true -ChangePasswordAtLogon $true}
Os comandos acima importa o arquivo “usuarios.cs”, que está em C:, com os parâmetros de criação dos usuários. Todos os usuários terão a mesma senha provisória e poderão alterá-la posteriormente -ChangePasswordAtLogon $true.
Mais parâmetros para criação de usuários no AD pode ser encontrado neste link:
https://docs.microsoft.com/en-us/powershell/module/addsadministration/new-aduser?view=win10-ps
Instalação e configuração do Web Server no Windows Server
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Aprenda a consertar o próprio computador como um profissional!
Especialize-se em manutenção preventiva e corretiva, diagnósticos de defeitos e upgrades com aulas passo a passo sem enrolação.
Torne-se também um técnico diferenciado e conquiste o emprego dos seus sonhos com este curso completo de Montagem e Manutenção de Desktops e Notebooks.
Sobre o Autor
4 Comentários
Fiz exatamente como vc disse, mas deu erro:
New-ADUser : Não é possível validar o argumento no parâmetro ‘Name’. O argumento é nulo ou vazio. Forneça um argumento
que não seja nulo ou vazio e tente o comando novamente.
No linha:1 caractere:66
+ … -Path C:\teste.csv | ForEach-Object {New-ADUser -name $_.nome -Displa …
+ ~~~~~~~
+ CategoryInfo : InvalidData: (:) [New-ADUser], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.NewADUser
O que pode ser?
João, você avaliou se o argumento “name” foi passado?
Eu também tive este mesmo erro, depois de muita pesquisa, descobri que o problema era o delimitador do csv, que no Excel estava salvando por “;” e o comando do post só funciona se o delimitador do arquivo *.csv por “,”, então para corrigir, tive que adicionar um parâmetro ” -Delimiter ‘;’ “, após esta alteração o comando executou sem nenhum outro problema, testado com WS2012 R2 e WS2022.
Import-Csv -Path C:\usuarios.csv -Delimiter ‘;’ | ForEach-Object {
New-ADUser -Name $_.nome -DisplayName $_.nome -SamAccountName $_.conta -UserPrincipalName $_.email -Path $_.ou -AccountPassword (ConvertTo-SecureString -AsPlainText Alterar321! -Force) -Enabled $true -ChangePasswordAtLogon $true
}
Leandro, obrigado pela contribuição!