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:
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.
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…
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:
GroupCopyScript
Im Archiv findet sich auch die Sapien PowerShell Studio Datei, so lässt sich mittels PowerShell Studio die Oberfläche anpassen.
Auch ich kann leider das Script nicht ausführen. Erhalte den Fehler:
Add-Type : Die Datei oder Assembly „file:///C:\Users\a***\Desktop\GroupCopy\bin\CubicOrange.Windows.Forms.ActiveDirectory.dll“ oder eine Abhängigkeit davon wurde nicht gefunden. Der Vorgang wird nicht unterstützt. (Ausnahme von
HRESULT: 0x80131515)
In C:\Users\a****\Desktop\GroupCopy\GroupCopy.Export.ps1:79 Zeichen:2
+ Add-Type -Path (Join-Path -Path (Split-Path $script:MyInvocation. …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Add-Type], FileLoadException
+ FullyQualifiedErrorId : System.IO.FileLoadException,Microsoft.PowerShell.Commands.AddTypeCommand
Hallo Zusammen,
wir haben das folgendermaßen gelöst, leider natürlich ohne GUI.
https://www.itnator.net/ad-benutzer-gruppenmitgliedschaften-kopieren/
Schaut doch mal vorbei ;-)
Eine leere weiße Seite…. Großartiger Ansatz :D
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
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
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
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
Hallo,
wieder eine sehr gute Hilfe, danke.
Ja Link führt leider zu:
Package is not available!
Download Link führt zu „Page is not available“
Hi,
vielen Dank für den Hinweis, der Download funktioniert jetzt.
Gruß, Frank