PowerShell, CSV, Matrix?
Moin Leute,
in einem aktuellen Projekt müssen wir im AD die User in AD-Gruppen hinzufügen, damit diese ihre Berechtigungsrollen in einem DMS-System erhalten. Eigentlich ja keine große Sache, einfach dann eine CSV-Datei mit UPN und GroupName und ein kurzes PowerShell Skript.
Die Herausforderung ist aber eine Excel-Matrix. Diese muss irgendwie in eine CSV-Datei umgesetzt werden, damit man die User den Gruppen zuordnet.
Im AD gibt es dann entsprechend für jede Firma (Mandant) mehrere Rollen (SB, GL, B, P). Ein Anwender kann aber in jedem Mandanten eine Rolle haben, so dass am Ende z.B. Claudine Mitglied in vier AD-Gruppen sein muss. Wie kann man das umsetzen?
Hier im Beispiel ist das noch überschaubar aber in der Live-Umgebung sind es 20 Mandanten und 5 Rollen. Insgesamt also 100 AD-Gruppen, die auf 97 User verteilt werden müssen. Viel Geklicke in der AD-Konsole *kotz*
in einem aktuellen Projekt müssen wir im AD die User in AD-Gruppen hinzufügen, damit diese ihre Berechtigungsrollen in einem DMS-System erhalten. Eigentlich ja keine große Sache, einfach dann eine CSV-Datei mit UPN und GroupName und ein kurzes PowerShell Skript.
Die Herausforderung ist aber eine Excel-Matrix. Diese muss irgendwie in eine CSV-Datei umgesetzt werden, damit man die User den Gruppen zuordnet.
Im AD gibt es dann entsprechend für jede Firma (Mandant) mehrere Rollen (SB, GL, B, P). Ein Anwender kann aber in jedem Mandanten eine Rolle haben, so dass am Ende z.B. Claudine Mitglied in vier AD-Gruppen sein muss. Wie kann man das umsetzen?
Hier im Beispiel ist das noch überschaubar aber in der Live-Umgebung sind es 20 Mandanten und 5 Rollen. Insgesamt also 100 AD-Gruppen, die auf 97 User verteilt werden müssen. Viel Geklicke in der AD-Konsole *kotz*
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7874639725
Url: https://administrator.de/contentid/7874639725
Ausgedruckt am: 23.11.2024 um 09:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
billig Variante wäre mit Copy und Paste die Tabelle umstellen, so dass alles untereinander steht und du nur 7 Spalten hast.
Dann entsprechend eine Funktion aufrufen, die es anlegt. 97 User x 20 = ca. 2.000
Das schafft Excel noch locker. Dann auf das Anlegen konzentrieren. Oder wie oft wird später diese Matrix noch hergenommen? Du kannst es auch aufteilen. Mit Excel und Notepad++ geht das vermutlich schneller - wäre jetzt schon fertig - als wenn man es scripted.
billig Variante wäre mit Copy und Paste die Tabelle umstellen, so dass alles untereinander steht und du nur 7 Spalten hast.
Firma | User | SB | GL | B | P
Dann entsprechend eine Funktion aufrufen, die es anlegt. 97 User x 20 = ca. 2.000
Das schafft Excel noch locker. Dann auf das Anlegen konzentrieren. Oder wie oft wird später diese Matrix noch hergenommen? Du kannst es auch aufteilen. Mit Excel und Notepad++ geht das vermutlich schneller - wäre jetzt schon fertig - als wenn man es scripted.
Weiterer billig Ansatz, wo alles fast so bleibt wie jetzt.
https://www.ablebits.com/office-addins-blog/add-text-character-excel-cel ...
Durch das verbinden mit den festen String hätte jede "Spalten Überschrift" dann den Firmennamen oder Code, ID im Namen.
Löscht du dann die übergreifende Zellen hast du eine CSV, wo alles nebeneinander steht. Welcher Mandant es ist, erhälst du in dem du die Firmen-ID am Beginn abschneidest/ ausklammerst. Und schon kann dein Code es wieder auseinander halten.
https://www.ablebits.com/office-addins-blog/add-text-character-excel-cel ...
="1"&A3
A B C D E
1A 1B 1C 1D 1E
Durch das verbinden mit den festen String hätte jede "Spalten Überschrift" dann den Firmennamen oder Code, ID im Namen.
Löscht du dann die übergreifende Zellen hast du eine CSV, wo alles nebeneinander steht. Welcher Mandant es ist, erhälst du in dem du die Firmen-ID am Beginn abschneidest/ ausklammerst. Und schon kann dein Code es wieder auseinander halten.