Oftmals werden bei Offboarding-Prozessen die Nutzer lediglich deaktiviert (vorübergehend), bevor sie endgültig gelöscht werden. Aus Sicherheitsgründen bietet es sich daher an, alle AD-Gruppenzugehörigkeiten in einem Rutsch zu entfernen. Dazu kann folgendes Script dienen:
# Name des betroffenen Benutzers
$sAMAccountName = "user-xyz"
# Importiere das AD-Modul (falls nicht bereits geladen)
Import-Module ActiveDirectory
try {
# Hole den Benutzer und seine Gruppen (DistinguishedNames)
$user = Get-ADUser -Identity $sAMAccountName -Properties MemberOf
# Filtere die Gruppen: Wir ignorieren die "Domain Users" Gruppe automatisch,
# da diese als 'PrimaryGroup' im AD anders gehandhabt wird und nicht im Attribut 'MemberOf' steht.
$groups = $user.MemberOf
if ($groups) {
#Write-Host "Entferne $($groups.Count) Gruppen von Benutzer $sAMAccountName..." -ForegroundColor Cyan
# Entferne den Benutzer aus allen gefundenen Gruppen
# -Confirm:$false unterdrückt die Bestätigungsaufforderung für jede einzelne Gruppe
Remove-ADPrincipalGroupMembership -Identity $sAMAccountName -MemberOf $groups -Confirm:$false
#Write-Host "Erfolgreich: Alle Gruppen außer 'Domänen-Benutzer' wurden entfernt." -ForegroundColor Green
} else {
#Write-Host "Der Benutzer ist bereits in keiner weiteren Gruppe außer 'Domänen-Benutzer'." -ForegroundColor Yellow
}
} catch {
#Write-Error "Fehler beim Bearbeiten des Benutzers $sAMAccountName: $($_.Exception.Message)"
}
Schreibe einen Kommentar