« Il suffit de créer tous les comptes dans l’OU Users. »
Une structure utile reflète les besoins d’administration, de délégation et de GPO. Le conteneur par défaut n’offre pas la même souplesse qu’une OU conçue.
01Observe les objets existants
Get-ADOrganizationalUnit -Filter * |
Sort-Object DistinguishedName |
Select-Object Name, DistinguishedName
Get-ADUser -Filter * |
Select-Object SamAccountName, UserPrincipalName, Enabled, DistinguishedName
Get-ADComputer -Filter * |
Select-Object Name, Enabled, DistinguishedName
02Prépare les OU
$domainDn = (Get-ADDomain).DistinguishedName
$ouPlan = 'Users','Groups','Workstations','Servers','Service Accounts','Administration'
foreach ($name in $ouPlan) {
$ouParams = @{
Name = $name
Path = $domainDn
ProtectedFromAccidentalDeletion = $true
WhatIf = $true
}
New-ADOrganizationalUnit @ouParams
}
Après validation, retire WhatIf uniquement dans le domaine de laboratoire.
03Crée un utilisateur avec attributs
$password = Read-Host 'Mot de passe temporaire' -AsSecureString
$userParams = @{
Name = 'Alice Martin'
GivenName = 'Alice'
Surname = 'Martin'
SamAccountName = 'alice.martin'
UserPrincipalName = 'alice.martin@corp.soria.test'
Department = 'Operations'
Title = 'Technicienne'
Path = "OU=Users,$domainDn"
AccountPassword = $password
Enabled = $false
ChangePasswordAtLogon = $true
WhatIf = $true
}
New-ADUser @userParams
Le compte est d’abord désactivé. Son activation intervient après validation de l’identité, du manager et des groupes.
04Crée un groupe fonctionnel
$groupParams = @{
Name = 'GG_Operations_Users'
SamAccountName = 'GG_Operations_Users'
GroupScope = 'Global'
GroupCategory = 'Security'
Path = "OU=Groups,$domainDn"
Description = 'Utilisateurs du service Operations'
WhatIf = $true
}
New-ADGroup @groupParams
05Déplace un ordinateur
$computer = Get-ADComputer -Identity 'CLT-01'
$moveComputer = @{
Identity = $computer.DistinguishedName
TargetPath = "OU=Workstations,$domainDn"
WhatIf = $true
}
Move-ADObject @moveComputer
06Gère le cycle de vie
Disable-ADAccount -Identity 'alice.martin' -WhatIf
Set-ADUser -Identity 'alice.martin' -Description 'Compte désactivé — départ 2026-08-04' -WhatIf
$moveUser = @{
Identity = (Get-ADUser 'alice.martin').DistinguishedName
TargetPath = "OU=Administration,$domainDn"
WhatIf = $true
}
Move-ADObject @moveUser
La suppression immédiate détruit du contexte. Désactivation, retrait des groupes, déplacement et délai de conservation facilitent l’audit et la restauration.
Conçois un onboarding et un offboarding
Définis les étapes, preuves et rollback pour l’arrivée puis le départ d’un utilisateur, d’un poste et d’un compte de service.
✓Ce que tu retiens
Les objets AD doivent être nommés, placés et gérés selon un cycle de vie explicite. Les OU servent l’administration ; les groupes servent les accès.