Active Directory: Eliminar un usuario mediante PowerShell

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 $User

El 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-ADUser

Para empezar a crear un script:

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

Otro 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 -Verbose

Usando UserPrincipalName

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

Ahora 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
}
Romain Drouche
Romain Drouche
Arquitecto de sistemas | MCSE: Infraestructura básica
Experto en infraestructura de TI con más de 15 años de experiencia en el sector. Actualmente, como Gerente de Proyectos de Sistemas y Redes y experto en Seguridad de Sistemas de Información (ISS), utilizo mi experiencia para garantizar la fiabilidad y seguridad de los entornos tecnológicos.

Deja un comentario