En este tutorial, veremos cómo eliminar un usuario de un directorio de Active Directory en PowerShell.
A primera vista, esto resulta bastante sencillo utilizando el cmdlet Remove-ADUser, pero verás que hay varias formas de hacerlo.
Como habrás comprendido, para eliminar un usuario, utilizaremos el cmdletRemove-ADUsery el parámetro-Identitypara indicar el usuario que se va a eliminar.
-Identity Permitirá identificar al usuario mediante uno de los siguientes identificadores:
- sAMAccountName
- objectSid
- objectGUID
- DN (nombre distinguido)
La eliminación de un usuario requiere confirmación; para evitarla, basta con añadir esto al comando:
-Confirm $True
En este tutorial, vamos a trabajar (más bien a eliminar) con el usuario Pierre Kiroule.


Como puede ver, el sAMAccountName y el UserPrincipalName (UPN) son diferentes.
Los siguientes comandos deberán adaptarse a su entorno.
Allá vamos, vamos a eliminar al usuario. Este es el comando:
Remove-ADUser -Identity pierre
Es bastante sencillo, ¿no?
Si quieres crear un script, podemos guardar el usuario en una variable:
$User = "pierre"
Remove-ADUser -Identity $UserEl problema con el sAMAccountName es que puede quedar truncado si es demasiado largo… lo cual puede ser un fastidio. Si quieres usar el UPN, que suele ser idéntico a la dirección de correo electrónico, hay que hacerlo de otra manera.
En primer lugar, hay que buscar al usuario con el comandoGet-ADUser y concatenarlo con Remove-ADUser.
Eliminar un usuario con UserPrincipalName:
Get-ADUser -Filter {UserPrincipalName -eq "[email protected]"} | Remove-ADUserPara empezar a crear un script:
$UPN = "[email protected]"
Get-ADUser -Filter {UserPrincipalName -eq $UPN} | Remove-ADUserOtro elemento a tener en cuenta cuando se desea eliminar un objeto en el Active Directory, es la protección contra eliminaciones accidentales. Si está activada, aparecerá un mensaje de error indicando que no tienes permiso.
Con PowerShell, vamos a concatenar varios comandos para desactivar la protección y, a continuación, eliminar el usuario.
Usando sAMAccountName:
Get-ADUser pierre | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -VerboseUsando UserPrincipalName
Get-ADUser -Filter {UserPrincipalName -eq "[email protected]"} | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADUser -Confirm:$false -VerboseAhora ya sabe cómo eliminar un usuario delActive Directory con PowerShell.
Para ir más allá, aquí tienes el inicio de un 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
}
