Active Directory: Eliminazione di un utente tramite PowerShell

In questo tutorial vedremo come eliminare un utente da una directory Active Directory tramite PowerShell.

A prima vista, sembra abbastanza semplice utilizzando il Cmdlet Remove-ADUser, ma vedrete che ci sono diversi modi per procedere.

Come avrete capito, per eliminare un utente useremo il CmdletRemove-ADUsere il parametro-Identityper indicare l’utente da eliminare.

-Identity ci permetterà di identificare l’utente utilizzando uno dei seguenti identificatori:

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

L’eliminazione di un utente richiede una conferma; per evitare la richiesta di conferma, è sufficiente aggiungere quanto segue al comando: -Confirm $True

In questo tutorial, lavoreremo (o meglio, elimineremo) l’utente Pierre Kiroule.

Come potete vedere, il sAMAccountName e l’UserPrincipalName (UPN) sono diversi.

I comandi riportati di seguito dovranno essere adattati al vostro ambiente.

Si parte, procediamo con l’eliminazione dell’utente. Ecco il comando:

Remove-ADUser -Identity pierre

È abbastanza semplice, no?

Se volete creare uno script, possiamo memorizzare l’utente in una variabile:

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

Il problema con il sAMAccountName è che può essere troncato se è troppo lungo… il che può essere fastidioso; se volete utilizzare l’UPN, che spesso è identico all’indirizzo e-mail, dovrete procedere in modo diverso.

In primo luogo, è necessario cercare l’utente con il comandoGet-ADUsere concatenarlo con Remove-ADUser.

Eliminare un utente con UserPrincipalName:

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

Per iniziare a scrivere uno script:

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

Un altro elemento da tenere in considerazione, quando si desidera eliminare un oggetto nell’Active DirectoryActive Directory, è la protezione contro le eliminazioni accidentali. Se questa è attivata, verrà visualizzato un messaggio di errore che indica che non si dispone dell’autorizzazione.

Con Powershell, concateneremo diversi comandi per disattivare la protezione e quindi eliminare l’utente.

Utilizzando sAMAccountName:

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

Utilizzando UserPrincipalName

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

Ora sapete come eliminare un utente dall’Active Directory con PowerShell.

Per approfondire, ecco l’inizio di uno 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

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.

GHinM▶