Automação11/07/20267 min
Onboarding no Active Directory: de 20 minutos para 40 segundos
Um script de PowerShell que cria o utilizador, grupos, home folder e mailbox a partir de uma linha de CSV.
PowerShellActive DirectoryWindows Server
Criar utilizadores à mão é o tipo de tarefa que parece rápida e não é: são vários cliques, várias consolas e a garantia de que um dia alguém esquece um grupo.
Uma fonte de verdade
O RH preenche um CSV com nome, departamento e cargo. O departamento decide OU, grupos e template de permissões — nada é decidido pelo técnico no momento.
$map = @{
"Producao" = @{ OU = "OU=Producao,OU=Users,DC=empresa,DC=local"; Groups = @("GG_Producao","GG_Impressoras") }
"Financeiro" = @{ OU = "OU=Financeiro,OU=Users,DC=empresa,DC=local"; Groups = @("GG_Financeiro","GG_ERP") }
}
Import-Csv .\novos.csv | ForEach-Object {
$cfg = $map[$_.Departamento]
$sam = ("{0}.{1}" -f $_.Nome.Substring(0,1), $_.Apelido).ToLower()
New-ADUser -Name "$($_.Nome) $($_.Apelido)" `
-SamAccountName $sam `
-UserPrincipalName "$sam@empresa.local" `
-Path $cfg.OU `
-AccountPassword (ConvertTo-SecureString $_.PassInicial -AsPlainText -Force) `
-ChangePasswordAtLogon $true -Enabled $true
Add-ADPrincipalGroupMembership -Identity $sam -MemberOf $cfg.Groups
Write-Host "OK -> $sam" -ForegroundColor Green
}O que ficou de fora do script
- Nada de permissões directas em ficheiros — só grupos.
- Log de cada execução para ficheiro, com data e operador.
- Modo -WhatIf obrigatório na primeira passagem de cada CSV.
Automatizar não é escrever o script mais esperto; é remover a decisão humana do passo repetitivo.