Gruppen im Active Directory per Powershell Script umbenennen

Bei uns gab es die Anforderung im Active Directory Gruppen umzubenennen. Da dies sehr viele waren habe ich erst einmal einen Dump der Gruppen gezogen um diese dann per CSV in Excel zu bekommen. Danach habe ich per suchen und ersetzen in Excel die Umbenennung gemacht.

Den Dump der Gruppen kann man mit folgendem Befehl in eine CSV Datei schreiben:

Dann kann man die CSV in Excel importieren. Dort habe ich zuerst die Daten in ein zweites Tabellenblatt kopiert und dann per “suchen und ersetzten” die Änderungen durchgeführt. Danach habe ich die Änderungen zurück in das erste Blatt hinter die Orginaldaten kopiert. Wichtig ist das die Spaltenüberschriften geändert werden da diese beim ändern im Powershell Script wieder angegeben werden. Hierfür habe ich die beiden Spaltenüberschriften “Name_neu” und “DistinguishedName_neu” genommen.

Nun  stellt sich das Problem das man die CSV die man im Excel hat mit Anführungszeichen zwischen den Kommas braucht da dies sonst nicht eindeutig für die Powershell ist. Hierfür bin ich auf eine Excel Makro gestoßen das dies dann in die gewünschte Form exportiert. Anbei der Code dazu:

Quelle: http://www.office-loesung.de/ftopic14862_0_0_asc.php

Dieses CSV kann dann per Powershell die Änderungen an den Gruppen durchführen:

Bei uns hat dies wunderbar geklappt. Aber alles natürlich auf eigene Gefahr. 🙂

Clemens

Beruflich beschäftige ich mich hauptsächlich mit Microsoft Technologien wie dem Mailserver Exchange und dem Verzeichnisdienst Active Directory. Neben meinem Wirtschaftsinformatik Studium nutze ich meine Freizeit um diesen Blog, den wir in einem kleinen Team pflegen, mit Inhalt und Informationen zu füllen.

8 thoughts to “Gruppen im Active Directory per Powershell Script umbenennen”

  1. Hi,

    eine super Anleitung. Hat mich schon weiter gebracht. Ich habe aber ein Problem. Ich will mir die Beschreibung der Gruppen mit exportieren lassen. Innerhalb der CSV setzt er die überschrift description auch richtig um aber füllt die zeilen nur mir Name und DN

    Sieht dann so aus:
    Name,”DistinguishedName”,”description”
    Gruppe1, “DC=subdomain ,DC=domain,DC=de”,

     

    Eine Idee?

  2. Set-ADGroup : Das Argument für den Parameter “Identity” kann nicht überprüft werden. Das Argument ist NULL. Geben Sie ein Argument an, das nicht NULL ist, und führen Sie dann den Befehl erneut aus.
    Bei c:\test\umbenennen.ps1:7 Zeichen:13
    + Set-ADGroup <<<< $group.Name -SamAccountName $group.Name_neu
    + CategoryInfo : InvalidData: (:) [Set-ADGroup], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADGroup

    Rename-ADObject : Das Argument für den Parameter “Identity” kann nicht überprüft werden. Das Argument ist NULL. Geben Sie ein Argument an, das nicht NULL ist, und führen Sie dann den Befehl erneut aus.
    Bei c:\test\umbenennen.ps1:8 Zeichen:27
    + Rename-ADObject -Identity <<<< $group.DistinguishedName -newname $group.DistinguishedName_neu
    + CategoryInfo : InvalidData: (:) [Rename-ADObject], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.RenameADObject

     

    Hat jemand eine Idee?

  3. Stimmen auch deine Spaltenüberschriften in deiner CSV? Du brauchst 4 Spalten. Jeweils mit den alten und mit den neuen Namen. Also 2 mal den alten Name und DistinguishedName und 2 mal den neuen. In meinem Script heißen die neuen Name_neu und DistinguishedName_neu.

  4. Hallo,

    hab ein Problem bei folgender Zeile:

    Rename-ADObject -Identity $group.DistinguishedName -newname $group.DistinguishedName_neu

    Beu Ausführen gibt mir die Powershell folgendes zurück:

    Rename-ADObject : Ein Wert für das Attribut befindet sich nicht im zulässigen Bereich
    Bei C:\rename_groups.ps1:29 Zeichen:20
    + Rename-ADObject <<<<  -newname $group.DistinguishedName_neu
    + CategoryInfo : NotSpecified: (CN=LangerName…,DC=AD,DC=DE:ADGroup) [Rename-ADObject], ADException
    + FullyQualifiedErrorId : Ein Wert für das Attribut befindet sich nicht im zulässigen Bereich,Microsoft.ActiveDirectory.Management.Commands.RenameADObject

  5. Hi,

    I’m from the Netherlands and I managed to follow this manual quite well.
    German and Dutch don’t differ that much from each other 😉

    I got stuck in the last part of the discussion, where PS gives a solution for the error he receives.

    I’ve tried to fix the script i’m using but was not able to translate PS’ solution well enough to get the script done. Can you  show me how the script has to look like, with PS’ solution included ?
    Thanks a lot in advance,

    Dieter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.