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
Architetto di sistema | MCSE: Infrastruttura di base
Esperto di infrastrutture IT con oltre 15 anni di esperienza sul campo. Attualmente Project Manager Sistemi e Reti ed esperto di Sicurezza dei Sistemi Informativi (ISS), utilizzo la mia competenza per garantire l'affidabilità e la sicurezza degli ambienti tecnologici.

Lascia un commento