Gerenciando contas de usuários do Active Directory no PowerShell

Gerenciando contas de usuários do ADDS no Windows PowerShell

Nesta lição aprenderemos a criar contas de usuários no Windows PowerShell, tanto individuais quanto em lote. Antes de iniciar os procedimentos, importe o módulo do Active Directory no Windows PowerShell (se ainda não tiver sido importado) com o comando a seguir:

Import-Module ActiveDirectory

Vamos começar criando o usuário de teste Nikola Tesla (nikola.tesla) no AD. Crie um script de nome CriaUser.ps1 com o conteúdo a seguir, e salve-o em C:\

New-ADUser -SamAccountName “nikola.tesla” `
-GivenName “Nikola” `
-Surname “Tesla” `
-Name “Nikola Tesla” `
-UserPrincipalName “nikola.tesla@boson.com” `
-AccountPassword (ConvertTo-SecureString -AsPlainText “abc123**” -Force) `
-ChangePasswordAtLogon $true `
-Enabled $true `
-Path “OU=Engenharia,DC=boson,DC=com”
 

Onde:

-Name = Nome completo para exibição no AD

-SamAccountName = nome anterior ao windows 2000

-GivenName = nome

-Surname = sobrenome

-UserPrincipalName = nome de logon, completo

Para executar o script, digite os comandos a seguir:

cd C:\

.\CriaUser.ps1

Caso apareça a mensagem “O arquivo XXX não pode ser carregado porque a execução de scripts foi desabilitada neste sistema”, vamos ter de ajustar a diretiva de execução de scripts do sistema. Execute o comando abaixo para isso e escolha a opção “S” quando perguntado:

Set-ExecutionPolicy RemoteSigned

Este comando permitirá a execução de scripts criados localmente no sistema. Logo após, tente executar novamente o script criado.

Você também pode usar o Windows PowerShell ISE para criar o script, e executá-lo a partir da própria janela, como é mostrado na figura abaixo:

Windows PowerShell - Criar Usuários do Active Directory

 

Verificando se conta do usuário foi mesmo criada – use o comando a seguir:

Get-ADUser nikola.tesla

Verificando todos os usuários existentes em um contêiner, como o Users:

Get-ADObject -Filter {ObjectClass -like ‘User’} -Searchbase “CN=Users,DC=boson,DC=com”

Colocando o usuário nikola.tesla na OU RH:

Get-ADUser “nikola.tesla” | Move-ADObject -TargetPath “OU=RH,DC=boson,DC=com”

Alterando a senha do usuário:

Set-ADAccountPassword –Identity “nikola.tesla” -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “qwe789**” –Force)

Desabilitando uma conta:

Disable-ADAccount -Identity “nikola.tesla”

Habilitando uma conta:

Enable-ADAccount -Identity “nikola.tesla”

 

Criando vários usuários de uma vez:

Primeiro devemos criar uma planilha do Excel contendo os dados dos usuários a serem criados no ADDS. Veja um exemplo abaixo:

Windows PowerShell - Usuários no Excel

 

Os cabeçalhos das colunas contém os nomes de campos que iremos passar ao script. Dentro do script usaremos um loop foreach que vai ler o arquivo csv e passar seus valores como variáveis, uma linha por vez. Na coluna de OUs (UnidOrg) se aspas no início e no final da string, pois temos caracteres especiais nesta célula – justamente vírgulas!

Depois, exportamos os dados no formato CSV (comma-separated values), com o nome de contas.csv, por exemplo. Salvaremos o arquivo no diretório c:\scripts\. Veja um exemplo de arquivo .csv a seguir:

Windows PowerShell - Arquivo csv - usuários ADDS

Então, executamos o comando abaixo no PowerShell (ou preferencialmente criamos um script com extensão .ps1 com esses comandos):

Import-Module ActiveDirectory
$usuarios = Import-Csv -Path “C:\scripts\contas.csv”
foreach ($usuario in $usuarios) {
New-ADUser -Name $usuario.nome `
-Path $usuario.UnidOrg `
-SamAccountName $usuario.samAccountName `
-UserPrincipalName $usuario.userPrincipal ` -AccountPassword (ConvertTo-SecureString “abc123**” -AsPlainText -Force) `
-ChangePasswordAtLogon $true ` -Enabled $true
}
 
Você pode ver o conteúdo do arquivo .csv usando o comando a seguir, para propósitos de debugging:
$usuarios = Import-Csv -Path “C:\scripts\contas.csv”
foreach ($usuario in $usuarios) {
$usuario.nome
$usuario.sobrenome
$usuario.samAccountName
$usuario.UnidOrg
$usuario.userPrincipal
}
 

Excluindo uma conta de usuário do AD:

Remove-User nikola.tesla  (usamos o samAccountName aqui)

ou

Remove-User “CN=nikola.tesla,OU=RH,DC=boson,DC=com”

Verifique se o usuário selecionado está correto e em caso afirmativo confirme a seleção na caixa de diálogo que aparece:

Windows PowerShell Remover usuários do ADDS

Verificando se conta do usuário foi mesmo excluída:

Get-ADUser nikola.tesla

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

3 Comentários em Gerenciando contas de usuários do Active Directory no PowerShell

  1. Heidi de Jesus Alberto Miguel // 25/07/2017 em 10:49 // Responder

    alguém pode mim mandar os comandos em Adicionando Funções e Recursos ao Windows Server 2012 via PowerShell

  2. Diuliano P Venancio // 08/05/2020 em 18:14 // Responder

    Boa tarde,

    Tem alguma forma de alterar a senha do usuario e enviar essa senha por email? para o usuário…
    Obrigado

  3. Clayton da Silva Souza // 01/10/2020 em 13:03 // Responder

    Consigo alterar os atributos “msIIS-FTPDir” e “msIIS-FTPRoot” pelo PowerShell?

Escreva um comentário

Seu e-mail não será divulgado


*