dermaddin
Goto Top

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.

matrix_brechtigungen

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*

Content-Key: 7874639725

Url: https://administrator.de/contentid/7874639725

Printed on: April 27, 2024 at 05:04 o'clock

Member: Crusher79
Crusher79 Nov 07, 2023 at 15:16:47 (UTC)
Goto Top
Hallo,

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.
Member: Crusher79
Crusher79 Nov 07, 2023 at 15:23:04 (UTC)
Goto Top
Weiterer billig Ansatz, wo alles fast so bleibt wie jetzt.

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.
Member: DerMaddin
Solution DerMaddin Nov 10, 2023 at 14:16:12 (UTC)
Goto Top
Habe es gelöst mit der Hilfe von TEXTVERKETTEN.