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