Quick & Dirty: Active Directory Gruppen von Benutzer zu Benutzer kopieren

Ich habe eine kleine GUI erstellt, welche Active Directory Gruppen von einem Benutzer zum anderen Benutzer kopiert. Mit dem Script lassen sich schnell alle Gruppen eines Benutzer auf ein anderes Benutzerkonto übertragen:

Active Directory Gruppen von Benutzer zu Benutzer kopieren

Die GUI ist nur sehr rudimentär, es lässt sich ein Quellbenutzerkonto und ein Zielbenutzerkonto auswählen, ein Klick auf “Gruppen von Quelle zu Ziel KOPIEREN” überträgt alle Gruppen vom Quellbenutzer zum Zielbenutzer, lässt aber bereits vorhandene Gruppen vom Zielbenutzer unverändert.

Mit einem Klick auf “Gruppen von Quelle zu Ziel ERSETZEN”, werden alle Gruppen des Zielbenutzers zunächst entfernt und dann alle Gruppen des Quellbenutzers hinzugefügt.

Active Directory Gruppen von Benutzer zu Benutzer kopieren

Wie schon erwähnt ist dieses Script Quick and Dirty, aber wer möchte kann es ja anpassen und Fehlerbehandlung und vielleicht auch eine Sicherheitsabfrage hinzufügen, dass fehlt nämlich alles…

image

Eigentlich ist der AD Picker der Grund für dieses kleine Script, den wollte ich nämlich testen. Der AD Picker ist zwar schon älter, funktioniert aber auch mit Server 2016 einwandfrei. Für den AD Picker habe ich in Zukunft noch einige Anwendungsfälle.

Den AD Object Picker gibt es hier zum separat zum Download:

Active Directory Object Picker Dialog

Die nötige DLL ist allerdings im Download des Scripts bereits enthalten und muss nicht einzeln runtergeladen werden.

Falls jemand eine andere Möglichkeit kennt Active Directory Objekte innerhalb von PowerShell Scripten auszuwählen, bitte kurzen Kommentar hinterlassen. Voraussetzung für die GUI sind die PowerShell CMDLets für Active Directory.

Hier gibt es das Script zum Download:

Im Archiv findet sich auch die Sapien PowerShell Studio Datei, so lässt sich mittels PowerShell Studio die Oberfläche anpassen.

7 Replies to “Quick & Dirty: Active Directory Gruppen von Benutzer zu Benutzer kopieren”

  1. Hallo,

    wieder eine sehr gute Hilfe, danke.
    Ja Link führt leider zu:
    Package is not available!

  2. Leider bekomme ich immer folgende Meldung und der Picker funktioniert dann natürlich nicht:

    Add-Type : Could not load file or assembly ‚file:///[PATH]\GroupCopy\bi
    n\CubicOrange.Windows.Forms.ActiveDirectory.dll‘ or one of its dependencies. Operation is not supported. (Exception
    from HRESULT: 0x80131515)
    At [PATH]\GroupCopy\GroupCopy.Export.ps1:79 char:2
    + Add-Type -Path (Join-Path -Path (Split-Path $script:MyInvocation.MyCommand.Path …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Add-Type], FileLoadException
    + FullyQualifiedErrorId : System.IO.FileLoadException,Microsoft.PowerShell.Commands.AddTypeCommand

  3. Hallo,
    dein tool ist genau was ich suche… fast genau!
    Kann man das auch ohne GUI laufen lassen und Quell- und ZielBenutzer als Parameter übergeben?
    Das wäre dann GENAU was ich suche. ;-)

    Andre

  4. Hi Andre,
    du kannst das Script etwas anpassen, dann ist die Funktion möglich. Eigentlich brauchst du dann nur die paar relevanten Zeilen aus meinem Script kopieren und um einen „param“ Block erweitern.
    Gruß, Frank

  5. Hi Frank,
    jaaa… wenn ich doch mal Ahnung von VB hätte..
    Aber ich habs gerade über die GUI ausprobiert.. das scheitert schon daran, Quell- und Zielbenutzer einzutragen/einzusetzen/auszuwählen.
    Fehlt da vielleicht noch was von ausserhalb des zip-archives?

    Schönen Gruß,
    Andre

Schreibe einen Kommentar

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