Introducció
Active Directory (AD) és una eina essencial per a la gestió d'usuaris, grups i recursos en una xarxa Windows. PowerShell proporciona cmdlets potents per automatitzar moltes de les tasques d'AD, permetent als administradors estalviar temps i reduir errors humans.
Requisits Previs
Abans de començar, assegura't de tenir:
- PowerShell instal·lat i configurat.
- Els mòduls
ActiveDirectory
instal·lats. Pots instal·lar-los amb el següent cmdlet:Install-Module -Name ActiveDirectory
- Permisos adequats per realitzar operacions en AD.
Cmdlets Bàsics d'Active Directory
Creació d'Usuaris
Per crear un nou usuari en AD, utilitza el cmdlet New-ADUser
. Aquí tens un exemple:
New-ADUser -Name "John Doe" -GivenName "John" -Surname "Doe" -SamAccountName "jdoe" -UserPrincipalName "[email protected]" -Path "OU=Users,DC=domain,DC=com" -AccountPassword (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force) -Enabled $true
Explicació:
-Name
: Nom complet de l'usuari.-GivenName
: Nom de pila.-Surname
: Cognom.-SamAccountName
: Nom d'usuari per a l'inici de sessió.-UserPrincipalName
: Nom principal de l'usuari.-Path
: Ruta de l'OU on es crearà l'usuari.-AccountPassword
: Contrasenya de l'usuari.-Enabled
: Habilita el compte.
Modificació d'Usuaris
Per modificar un usuari existent, utilitza el cmdlet Set-ADUser
. Exemple:
Explicació:
-Identity
: Identificador de l'usuari (pot ser elSamAccountName
,UserPrincipalName
, etc.).-Title
: Títol del treball.-Department
: Departament de l'usuari.
Eliminació d'Usuaris
Per eliminar un usuari, utilitza el cmdlet Remove-ADUser
:
Explicació:
-Identity
: Identificador de l'usuari.
Automatització de Tasques Comunes
Creació Massiva d'Usuaris
Per crear usuaris de manera massiva, pots utilitzar un fitxer CSV i el cmdlet Import-Csv
. Exemple:
-
Crea un fitxer
users.csv
amb el següent contingut:Name,GivenName,Surname,SamAccountName,UserPrincipalName,Path,Password John Doe,John,Doe,jdoe,[email protected],OU=Users,DC=domain,DC=com,P@ssw0rd Jane Smith,Jane,Smith,jsmith,[email protected],OU=Users,DC=domain,DC=com,P@ssw0rd
-
Utilitza el següent script per crear els usuaris:
$users = Import-Csv -Path "C:\path\to\users.csv" foreach ($user in $users) { New-ADUser -Name $user.Name -GivenName $user.GivenName -Surname $user.Surname -SamAccountName $user.SamAccountName -UserPrincipalName $user.UserPrincipalName -Path $user.Path -AccountPassword (ConvertTo-SecureString $user.Password -AsPlainText -Force) -Enabled $true }
Assignació de Grups
Per assignar usuaris a grups, utilitza el cmdlet Add-ADGroupMember
. Exemple:
Explicació:
-Identity
: Nom del grup.-Members
: Llista d'usuaris a afegir al grup.
Exercicis Pràctics
Exercici 1: Creació d'Usuaris
-
Crea un fitxer
new_users.csv
amb la següent informació:Name,GivenName,Surname,SamAccountName,UserPrincipalName,Path,Password Alice Johnson,Alice,Johnson,ajohnson,[email protected],OU=Users,DC=domain,DC=com,P@ssw0rd Bob Brown,Bob,Brown,bbrown,[email protected],OU=Users,DC=domain,DC=com,P@ssw0rd
-
Escriu un script PowerShell per crear aquests usuaris en AD.
Exercici 2: Assignació de Grups
- Crea un grup anomenat "IT Team".
- Assigna els usuaris "ajohnson" i "bbrown" al grup "IT Team".
Solucions
Solució a l'Exercici 1
$newUsers = Import-Csv -Path "C:\path\to\new_users.csv" foreach ($user in $newUsers) { New-ADUser -Name $user.Name -GivenName $user.GivenName -Surname $user.Surname -SamAccountName $user.SamAccountName -UserPrincipalName $user.UserPrincipalName -Path $user.Path -AccountPassword (ConvertTo-SecureString $user.Password -AsPlainText -Force) -Enabled $true }
Solució a l'Exercici 2
New-ADGroup -Name "IT Team" -GroupScope Global -Path "OU=Groups,DC=domain,DC=com" Add-ADGroupMember -Identity "IT Team" -Members "ajohnson", "bbrown"
Conclusió
Automatitzar tasques d'Active Directory amb PowerShell pot estalviar molt de temps i reduir errors. Hem vist com crear, modificar i eliminar usuaris, així com com realitzar tasques massives i assignar grups. Practica aquests conceptes per dominar l'automatització d'AD amb PowerShell.
Curs de PowerShell
Mòdul 1: Introducció a PowerShell
- Què és PowerShell?
- Instal·lació i Configuració de PowerShell
- Consola i ISE de PowerShell
- Comandes i Sintaxi Bàsiques
- Sistema d'Ajuda en PowerShell
Mòdul 2: Scripting Bàsic
- Variables i Tipus de Dades
- Operadors en PowerShell
- Sentències Condicionals
- Bucles en PowerShell
- Funcions i Scripts
Mòdul 3: Treballant amb Objectes
- Comprensió dels Objectes
- Propietats i Mètodes dels Objectes
- Pipelines i Manipulació d'Objectes
- Filtratge i Selecció d'Objectes
- Ordenació i Agrupació d'Objectes
Mòdul 4: Tècniques Avançades de Scripting
- Gestió d'Errors
- Depuració de Scripts
- Expressions Regulars
- Treballant amb Fitxers i Directoris
- Ús de Mòduls i Snap-ins
Mòdul 5: Automatització i Programació de Tasques
- Introducció a l'Automatització
- Creació de Tasques Programades
- Ús de PowerShell per a l'Administració del Sistema
- Automatització de Tasques d'Active Directory
- Automatització de Tasques de Xarxa
Mòdul 6: Remotització amb PowerShell
- Introducció a la Remotització
- Configuració de la Remotització
- Ús d'Invoke-Command
- Gestió de Sessions
- Consideracions de Seguretat
Mòdul 7: Funcions Avançades de PowerShell
- Perfils de PowerShell
- Personalització de l'Entorn de PowerShell
- Creació i Ús de Classes
- Treballant amb XML i JSON
- Ús de PowerShell amb REST APIs
Mòdul 8: PowerShell i DevOps
- Introducció a DevOps
- Ús de PowerShell amb Pipelines CI/CD
- Infraestructura com a Codi (IaC)
- Gestió de Recursos al Núvol amb PowerShell
- PowerShell i Docker