AD Benutzer Gruppenmitgliedschaften kopieren
Jedes Unternehmen hat ein Active Directory. Ein Active Directory ermöglicht es, ein Netzwerk entsprechend der realen Struktur des Unternehmens darzustellen. (Abteilungen, Gesellschaften, etc.) Dazu verwaltet es verschiedene Objekte wie beispielsweise Benutzer, Gruppen oder Computer. Mit Hilfe von Active Directory kann ein Administrator die Informationen der Objekte organisieren, bereitstellen und überwachen. Wenn ein neuer Benutzer angelegt wird, werden ihm in der Regel bestimmte Gruppen zugewiesen. Wenn nun ein User neu in die Abteilung kommt, möchte man die Gruppenmitgliedschaften kopieren – von User1 auf User2.
Leider funktioniert in diesem Fall “copy paste” nicht. Man müsste die Gruppen der zwei User vergleichen. Leider ist das sehr Zeitaufwändig, wenn man mehr der Benutzer Mitglied von mehr als 10 Gruppen ist. Und das ist sehr schnell passiert 😉 .
Das kann man mit folgendem PowerShell Script umgehen.
Gruppenmitgliedschaften kopieren – von User1 auf User2
Um die Gruppenmitgliedschaften von einem User zum Andren zu kopieren, kann folgendes PowerShell Script benutzt werden. Hier werden die Gruppen nicht einfach kopiert, sondern erst alle alten Gruppen gelöscht und dann die neuen Gruppen kopiert.
<# .SYNOPSIS Gruppenmitgliedschaften kopieren .DESCRIPTION Kopiert die Gruppenmitgliedschaften von einem Benutzer zu einem Anderen .NOTES Version: 1.0 Author: www.ITnator.net | Johannes Huber Creation Date: 11.01.2018 .EXAMPLE #> Import-Module ActiveDirectory # Referenz-Benutzer 1 $user_1 = 'user1' # Benutzer 2 wird angepasst $user_2 = 'user2' # Gruppenzugehoerigkeit vergleichen $result = compare (Get-ADPrincipalGroupMembership $user_1) (Get-ADPrincipalGroupMembership $user_2) -Property Name -PassThru | ?{$_.Name -like '*'} # Remove user_2 from groups where user_1 is no member $result | ?{$_.SideIndicator -eq '=>'} | %{write-host "Benutzer $user_2 aus Gruppe entfernen '$($_.Name)'." -F Green ; Remove-ADGroupMember $_.Name -Members $user_2 -Confirm:$false} # Add user_2 to groups which user_1 is member $result | ?{$_.SideIndicator -eq '<='} | %{write-host "Benutzer $user_2 zu Gruppe hinzufügen '$($_.Name)'." -F Green; Add-ADGroupMember $_.Name -Members $user_2 -Confirm:$false}
In diesem PowerShell-Script müssen nur folgende Zeilen angepasst werden:
- Zeile 17 = Referenz-Benutzer, dessen AD-Gruppen kopiert werden sollen
- Zeile 19 = Benutzer, welcher die Gruppen des anderen Benutzers bekommen soll