Automatische Aktualisierung von Vorgesetzten in Active Directory mit PowerShell

In diesem Artikel:

Kategorie: , , Tags: Powershell: , , , ,

1. Funktionsweise des Skripts

Das Skript ermittelt den bisherigen und den neuen Vorgesetzten in Active Directory, sucht alle Benutzer mit dem alten Vorgesetzten und aktualisiert deren manager-Attribut auf den neuen Vorgesetzten. Abschließend wird das Ergebnis überprüft.

PowerShell-Skript zur Aktualisierung des Vorgesetzten:

#Bisherigen Vorgesetzten ermitteln
$altermanagerDN = (Get-ADUser SamAccountName).DistinguishedName

#Neuen Vorgesetzten ermitteln
$neuerManagerDN = (Get-ADUser SamAccountName).DistinguishedName

#User ermitteln
$users = Get-ADObject -LDAPFilter "(manager=$altermanagerDN)"

#Vorgesetzten ändern
foreach ($user in $users) {Set-ADObject -Identity $user.DistinguishedName -Replace @{manager=$neuerManagerDN}}

#Überprüfung des Ergebnisses
Get-ADObject -LDAPFilter "(manager=$neuermanagerDN)" -Properties Name, SamAccountName, Manager

2. Erklärung des Skripts

  1. Ermittlung der alten und neuen Vorgesetzten
    • Mit Get-ADUser wird der Distinguished Name (DN) der aktuellen und neuen Vorgesetzten abgerufen.
  2. Suche nach betroffenen Benutzern
    • Get-ADObject -LDAPFilter "(manager=$altermanagerDN)" sucht alle Benutzer, die dem alten Vorgesetzten unterstellt sind.
  3. Aktualisierung des manager-Attributs
    • Die Set-ADObject-Funktion ersetzt für jeden Benutzer den bisherigen Vorgesetzten durch den neuen.
  4. Überprüfung der Änderungen
    • Mit Get-ADObject -LDAPFilter "(manager=$neuerManagerDN)" -Properties Name, SamAccountName, Manager wird überprüft, ob die Änderungen korrekt angewendet wurden.