Active Directory : supprimer un utilisateur en PowerShell

Dans ce tutoriel, nous allons voir comment supprimer un utilisateur dans un annuaire Active Directoy en Powershell.

Au première abord, cela est assez facile en utilisant le Cmdlet Remove-ADUser, mais vous allez voir qu’il y a plusieurs façon de procĂ©der.

Vous l’aurez compris, pour supprimer un utilisateur, on va utiliser la Cmdlet Remove-ADUser et on va utiliser le paramètre -Identity pour indiquer l’utilisateur Ă  supprimer.

-Identity va permettre d’identifier l’utilisateur Ă  l’aide d’un des identifiants suivant :

  • sAMAccountName
  • objectSid
  • objectGUID
  • DN (Distinguished name)

La suppression d’un utilisateur demande la confirmation, pour ne avoir de confirmation, il suffit d’ajouter ceci Ă  la commande : -Confirm $True

Dans ce tutoriel, on va travailler (plutĂ´t supprimer) l’utilisateur Pierre Kiroule.

Comme vous pouvez le voir, le sAMAccountName et le UserPrincipalName (UPN) sont différents.

Les commandes ci-après devront être adaptées à votre environnement.

C’est partie, on va attaque la suppression de l’utilisateur, voici la commande la commande :

Remove-ADUser -Identity pierre

C’est assez simple non !

Si vous souhaitez faire un script, on peut stoker l’utilisateur dans une variable :

$User = "pierre"
Remove-ADUser -Identity $User

Le problème avec le sAMAccountName, c’est que celui-ci peut ĂŞtre tronquĂ© s’il est trop long … ce qui peut ĂŞtre embĂŞtant, si vous souhaitez utiliser UPN est souvent identique Ă  l’adresse e-mail, il faut falloir faire diffĂ©remment.

Il faut dans un premier temps rechercher l’utilisateur avec la commande Get-ADUser et la concatĂ©ner avec Remove-ADUser.

Supprimer un utilisateur avec UserPrincipalName :

Get-ADUser -Filter {UserPrincipalName -eq "[email protected]"} | Remove-ADUser

Pour faire un début de script :

$UPN = "[email protected]"
Get-ADUser -Filter {UserPrincipalName -eq $UPN} | Remove-ADUser

Autre Ă©lĂ©ment Ă  prendre en compte, quand on souhaite supprimer un objet dans l’Active Directory, c’est la protection contre les suppressions accidentelles. Si celle-ci est activĂ©, vous aurez un message d’erreur indiquant que vous n’avez pas l’autorisation.

Avec Powershell, on va concatĂ©ner plusieurs commande pour dĂ©sactiver la protection et ensuite supprimer l’utilisateur.

En utilisant sAMAccountName :

Get-ADUser pierre | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -Verbose

En utilisant le UserPrincipalName

Get-ADUser -Filter {UserPrincipalName -eq "[email protected]"} | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -Verbose

Vous savez maintenant comment supprimer un utilisateur de l’Active Directory avec PowerShell.

Pour aller plus loin, voici un début de script :

<#
    Delete User From AD
#>
param(
    $User = ""
)

Import-Module ActiveDirectory


function ValidEmail { 
    param([string]$Email)

    try {
        $null = [mailaddress]$Email
        return $true
    }
    catch {
        return $false
    }
}

if( $User -eq ""){
    $User = Read-Host "User to delete ?"
}

$IsUPN = ValidEmail($User)

if($IsUPN){
    Get-ADUser -Filter {UserPrincipalName -eq $User} | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -Verbose
}else{
    Get-ADUser $User | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -Verbose
}

Romain Drouche
Architecte Système | MCSE: Core Infrastructure
Expert en infrastructures IT avec plus de 15 ans d’expérience sur le terrain. Actuellement Chef de projet Systèmes et Réseaux et Référent SSI (Sécurité des Systèmes d’Information), je mets mon expertise au service de la fiabilité et de la sécurité des environnements technologiques.

Laisser un commentaire