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:
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:
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:
Então, executamos o comando abaixo no PowerShell (ou preferencialmente criamos um script com extensão .ps1 com esses comandos):
$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) `
}
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:
Verificando se conta do usuário foi mesmo excluída:
Get-ADUser nikola.tesla
alguém pode mim mandar os comandos em Adicionando Funções e Recursos ao Windows Server 2012 via PowerShell
Boa tarde,
Tem alguma forma de alterar a senha do usuario e enviar essa senha por email? para o usuário…
Obrigado
Consigo alterar os atributos “msIIS-FTPDir” e “msIIS-FTPRoot” pelo PowerShell?