Gestion Active Directory PowerShell

Gestion des Utilisateurs

CommandesCommentaires
New-ADUser -Name « Prénom Nom » -GivenName Prénom -Surname Nom `
  -SamAccountName PNom -UserPrincipalName PNom@Nom_de_Domaine.local `
  -AccountPassword (Read-Host -AsSecureString « Mot_de_Passe ») `
  -PassThru | Enable-ADAccount
Créer un compte utilisateur
Remove-ADUser senumeriqueSupprimer le compte utilisateur « senumerique »
Get-ADUser -Filter * | Format-ListLister les comptes utilisateurs
Set-ADAccountPassword -Identity MonUtilisateur -NewPassword (ConvertTo-SecureString -AsPlainText « MonSuperMotDePasse! » -Force)Réinitialiser un mot de passe utilisateur
Enable-ADAccount -Identity Nom_du_compteActiver un compte utilisateur
Disable-ADAccount -Identity Nom_du_compteDésactiver un compte utilisateur
Search-ADAccount -AccountDisabledAfficher les comptes désactivés
Get-ADUser senumerique -Properties * | Select-Object LockedOutVoir si le compte senumerique est verrouillé
whoami /userNom d’utilisateur SID
Get-ADUser -Identity « senumerique » | Select-Object Name, SIDObtenir le SID du compte senumerique
search-ADAccount -UsersOnly -AccountInactive -Timespan 180 | Where { ($_.DistinguishedNmae -notmatch « CN=Users ») -and ($_.Enabled -eq $true) }Rechercher les comptes inactifs depuis 180 jours. (-ComputersOnly pour afficher les comptes ordinateurs), on ne traite que les groupes activés et on exclu les compte built-in.
Get-AdPrincipalGroupMmebership -Identity senumerique | Where-Object { $_.Name -Ne « utilisateurs du domaine »} | Remove-AdGroupMember -Members Senumerique -Confirm:$falseSupprimer les groupes de l’utilisateur senumerique mais conserver le groupe Utilisateur du domaine.
Set-ADUser -Identity senumerique -Enable:$false -Description « Désactivé le $(Get-Date -Format dd/MM/yyyy) »Désactiver l’utilisateur senumerique et le déplacer.

Gestion des groupes

CommandesCommentaires
New-ADGroup -name « Nom_du_groupe » -groupscope GlobalCréer un groupe global
Add-ADGroupMember -Identity « Nom_du_groupe » -Member « PNom »Ajouter un utilisateur à un groupe
(Get-ADUser senumerique –Properties MemberOf).memberof | Get-ADGroup | Select-Object nameAfficher les groupes de l’utilisateur senumerique
(Get-ADComputer SRV-SEN -Properties MemberOf).memberof | Get-ADGroup | Select-Object nameAfficher les groupes de l’ordinateur SRV-SEN
Get-ADGroupMember -identity « Nom_Groupe » -Recursive | Get-ADUser -Property DisplayName | Select DisplayName,ObjectClass,NameAfficher les utilisateurs présent dans un groupe (en incluant les utilisateurs présent dans les sous-groupes)
diff (Get-ADGroupMember « SEN1 ») (Get-ADGroupMember « SEN2 ») -Property ‘SamAccountName’ -IncludeEqualComparer 2 groupes Active Directory pour savoir les différences entre leur membres
Get-ADGroupMember « SEN1 » | Get-ADUser | ForEach-Object { Add-ADGroupMember -Identity « SEN2 » -Members $_ }Ajouter les membres du groupe « SEN1 » dans le groupe « SEN2 »
(Get-ADGroup « SEN1 » -properties member).member | ForEach-Object { Add-ADGroupMember -Identity « SEN2 » -Members $_ }Ajouter les membres du groupe « SEN1 » dans le groupe « SEN2 » (supérieur à 5000 objets)
(Get-ADGroupMember -Identity « senumerique »).CountCompter le nombre d’utilisateur dans le groupe « senumerique »
((Get-ADGroup « senumerique » -Properties member).member).countCompter le nombre d’utilisateur dans le groupe « senumerique » (supérieur à 5000 objets)

Domaine et Forêt

CommandesCommentaires
Get-ADForest senumerique.localObtenir les détails sur la forêt senumerique.local
Get-ADDomain senumerique.localObtenir les détails sur le domaine senumerique.local
Get-ADDomain senumerique.local | Select-object DomainSIDObtenir le SID du domaine senumerique.local

Divers

CommandesCommentaires
Get-ADOrganizationalUnit -filter * -Properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion -eq $false} | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $trueActiver la protection contre les suppression accidentelle Active Directory
Get-ADOrganizationalUnit -filter * -Properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion -eq $true} | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $falseDésactiver la protection contre les suppression accidentelle Active Directory
Enable-ADOptionalFeature ‘Recycle Bin Feature’ -Scope ForestOrConfigurationSet -Target ‘senumerique.local’Activer la corbeille Active Directory sur le domaine senumerique.local
Get-ADObject -Filter ‘samaccountname -eq « senumerique »‘ -IncludeDeletedObjects | Restore-ADObjectRestaurer le compte senumerique depuis la corbeille Active Directory

Trouver le nom du domaine à partir d’un SID

$objSID = New-Object System.Security.Principal.SecurityIdentifier("S-1-5-21-XXXXXXX-XXXXXXX-XXXXXXX-XXXXX")
$objUser = $objSID.Translate([System.Security.Principal.NTAccount])
$objUser.Value