Active Directory: Löschen eines Benutzers mit PowerShell

In diesem Tutorial sehen wir uns an, wie man einen Benutzer in einem Active Directory-Verzeichnis mit PowerShell löscht.

Remove-ADUserAuf den ersten Blick ist dies mit dem Cmdlet recht einfach, aber Sie werden sehen, dass es mehrere Möglichkeiten gibt, dies zu tun.

Wie Sie sicher verstanden haben, verwenden wir zum Löschen eines Benutzers das CmdletRemove-ADUserund den Parameter-Identity, um den zu löschenden Benutzer anzugeben.

-Identity ermöglicht es, den Benutzer anhand einer der folgenden Kennungen zu identifizieren:

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

Das Löschen eines Benutzers erfordert eine Bestätigung. Um diese Bestätigung zu umgehen, fügen Sie einfach Folgendes zum Befehl hinzu: -Confirm $True

In diesem Tutorial werden wir den Benutzer Pierre Kiroule bearbeiten (bzw. löschen).

Wie Sie sehen können, unterscheiden sich sAMAccountName und UserPrincipalName (UPN).

Die folgenden Befehle müssen an Ihre Umgebung angepasst werden.

Los geht’s, wir beginnen mit dem Löschen des Benutzers. Hier ist der Befehl:

Remove-ADUser -Identity pierre

Ganz einfach, oder?

Wenn ihr ein Skript erstellen möchtet, könnt ihr den Benutzer in einer Variablen speichern:

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

Das Problem mit dem sAMAccountName ist, dass dieser abgeschnitten werden kann, wenn er zu lang ist … was ärgerlich sein kann. Wenn Sie den UPN verwenden möchten, der oft mit der E-Mail-Adresse identisch ist, müssen Sie anders vorgehen.

Remove-ADUserZunächst muss man den Benutzer mit dem BefehlGet-ADUser suchen und diesen mit verketten.

Einen Benutzer mit UserPrincipalName löschen:

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

Um ein Skript zu erstellen:

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

Ein weiterer zu berücksichtigender Aspekt beim Löschen eines Objekts im Active Active DirectoryDirectory ist der Schutz vor versehentlichem Löschen. Ist dieser aktiviert, erhalten Sie eine Fehlermeldung, die darauf hinweist, dass Sie nicht über die erforderliche Berechtigung verfügen.

Mit PowerShell werden wir mehrere Befehle verketten, um den Schutz zu deaktivieren und anschließend den Benutzer zu löschen.

Verwendung von sAMAccountName:

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

Mit UserPrincipalName

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

Sie wissen nun, wie Sie einen Benutzer mit PowerShell aus demActive Directory Active Directory löschen können.

Um noch einen Schritt weiter zu gehen, hier ein Skript-Anfang:

<#
    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
Systemarchitekt | MCSE: Kerninfrastruktur
IT-Infrastrukturexperte mit über 15 Jahren Berufserfahrung. Aktuell tätig als Projektmanager für Systeme und Netzwerke sowie als Experte für Informationssystemsicherheit (ISS), nutze ich mein Fachwissen, um die Zuverlässigkeit und Sicherheit technologischer Umgebungen zu gewährleisten.

Schreibe einen Kommentar