Automatització de tasques amb PowerShell
En aquest apartat del Active Directori es molt útil fer ús de scripts els quals s’utilitzen a PowerShell per poder automatitzar tasques que consumeixen un temps que podem guanyar fent ús d’aquests scripts, els quals afegim les dades i només al executar ho fan sense tenir nosaltres que configurar manualment on perdem temps, normalment són tasques repetitives. El exemple més clar es automatitzar la creació d’usuaris o grups, inclòs podem afegir scripts quan usuari inicia sessió o també podem afegir un script algun equip remotament des de l’AD per automatitzar una tasca en específic. Un altre exemple pot ser reiniciar serveis o actualitzar el sistema, sempre fent això que doni opció de decidir per si de cas i visualitzar bé el que fa, en aquest cas.
Creació estructura empresa
# Crear OU principal
New-ADOrganizationalUnit -Name "EMPRESA" -Path "DC=illa2,DC=es"
# Crear OUs internas
$base = "OU=EMPRESA,DC=illa2,DC=es"
New-ADOrganizationalUnit -Name "USUARIOS" -Path $base
New-ADOrganizationalUnit -Name "GRUPOS" -Path $base
New-ADOrganizationalUnit -Name "VENTAS" -Path "OU=USUARIOS,$base"
New-ADOrganizationalUnit -Name "RRHH" -Path "OU=USUARIOS,$base"
New-ADOrganizationalUnit -Name "IT" -Path "OU=USUARIOS,$base" Creació dels grups
$gruposPath = "OU=GRUPOS,OU=EMPRESA,DC=illa2,DC=es"
New-ADGroup -Name "GRP_VENTAS" -GroupScope Global -GroupCategory Security -Path $gruposPath
New-ADGroup -Name "GRP_RRHH" -GroupScope Global -GroupCategory Security -Path $gruposPath
New-ADGroup -Name "GRP_IT" -GroupScope Global -GroupCategory Security -Path $gruposPath Fet això creem un CSV amb les dades dels usuaris, en aquest cas els treballadors de l’empresa.
Nombre,Apellido,Departamento
Ana,Gomez,VENTAS
Luis,Martinez,RRHH
Carlos,Ruiz,IT Script per importar els usuaris del CSV
Import-Csv C:\usuarios.csv | ForEach-Object {
$nombreCompleto = "$($_.Nombre) $($_.Apellido)"
$sam = ($_.Nombre.Substring(0,1) + $_.Apellido).ToLower()
$ou = "OU=$($_.Departamento),OU=USUARIOS,OU=EMPRESA,DC=illa2,DC=es"
New-ADUser -Name $nombreCompleto `
-GivenName $_.Nombre `
-Surname $_.Apellido `
-SamAccountName $sam `
-UserPrincipalName "$sam@illa2.es" `
-Path $ou `
-AccountPassword (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) `
-Enabled $true
Add-ADGroupMember -Identity "GRP_$($_.Departamento)" -Members $sam
} Funcionament d'aquest script
- Crea l’usuari
- El col·loca en la OU correcta
- Genera el login automàticament
- El fica en el seu grup corresponent
Això és automatització real.
Verificació funcionament
Comprova usuaris creats:
Get-ADUser -Filter * -SearchBase "OU=EMPRESA,DC=illa2,DC=es" Comprovar membres de grup:
Get-ADGroupMember GRP_VENTAS Exemple pràctic
Aquest exemple pràctic es el que hem utilitzat per fer la creació d’usuaris. Veure el post d’Hèctor Barberà. En aquest cas amb ajuda d’un CSV amb les dades dels treballadors, Departaments i els pertanyents GRP.