scriptnewbie
Goto Top

Powershell - Excel-Datei in Active Directory schreiben

Hallo liebe Community Scripter,

ich bin neu hier im Forum und habe auch leider keinen Ansatz zu meinem Problem gefunden. Jetzt hoffe ich das Ihr mir helfen könnt.
Leider bin ich auch ein absoluter Neuling im Bereich Powershell, mein Chef hat mir eine Aufgabe aufgebrummt, die meine PS-Fähigkeiten "noch" übersteigen.

Ausgangssituation:

ich habe eine Exceltabelle mit Spalten und Überschrift, die ich (vermutlich) zum besseren Bearbeiten zunächst automatisch in eine CSV-Datei umwandeln muss.
dann sollen die Zeilen, bzw. der Inhalt bei einer bestimmten OU geprüft werden, ob die Felder schon befüllt sind, während bei einer anderen OU die Felder "stumpf" übernommen, bzw. überschrieben werden können.
Ich habe nur eine vage Vorstellung, und ich würde daraus zwei Skripte versuchen zu erzeugen, oder geht das besser?

Dieser Code ist eine Kopie aus der Excel Datei und anonymisiert, die Spalten und Zeilen existieren aber so wie im Beispiel:

Name Vorname "" Telefonnummer Abteilung Kostenstelle Abteilungs URL (Feld Webseite im AD) Telefon mobile E-Mail Raum Raum Raum
'Name1' 'Vorname1' '(ext. MA)' '+49-01-1111-1111' 'HA 1' '4711' https://www.demodomain.com/de/default.aspx vorname1.name1@demodomain.com 'HA 9' '1' '176'
'Name2' 'Vorname2' '(OR)' '+49-01-1111-2222' 'HA 9' '0815' https://www.demodomain.com/de/default.aspx vorname2.name2@demodomain.com 'HA 9' '2' '023'
'Name3' 'Vorname3' '(OR)' '+49-01-1111-3333' 'TO 2' '0817' https://www.demodomain.com/de/default.aspx vorname3.name3@demodomain.com 'TO 2' '17' '04b'
'Name4' 'Vorname4' '' '+49-01-1111-4444' 'KL 37' '8889' '+49-151-18804714' vorname4.name4@demodomain.com 'KL 37' '-1' '03c'
'Name5' 'Vorname5' '(Assistentin BL)' '+49-01-1111-5555' 'HA 5' '1234' https://www.demodomain.com/de/default.aspx vorname5.name5@demodomain.com 'HA 5' '3' '023'
'Name6' 'Vorname6' '(BL)' '+49-01-1111-6666' 'HA 1' '4711' https://www.demodomain.com/de/default.aspx vorname6.name6@demodomain.com 'HA 1' '3' '12a'
<\code>

Übersetzung der Spaltenüberschriften nach LDAPDisplayNamen, bzw. wo der Inhalt der Felder im AD eingetragen werden soll:
givenName, sn, title, telephoneNumber, description, wWWHomePage, mobile, mail, physicalDeliveryOfficeName (Zusammengesetzt aus der Exceltabelle Raum\Raum\Raum mit dem "Backslash" dazwischen)

Desweitern gibt es noch eine Spalte mit der Personalnummer (1-n Zeichen lang) die ich so nicht weiß, wo ich diese unterbringen könnte, kennt Ihr da ein Feld wo so etwas gut hineinpassen könnte. Muß auch nicht offensichtlich zu sehen sein.

Im voraus schon mal vielen Dank für Eure Unterstützung.

Gruß,
Carl

Content-Key: 246576

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

Ausgedruckt am: 29.03.2024 um 08:03 Uhr

Mitglied: Belloci
Belloci 15.08.2014 um 12:17:34 Uhr
Goto Top
Hi ScriptNewbie!

schau doch mal hier vorbei:

Powershell Active Directory Benutzer hinufügen via csvde mit CSV Benutzer aktiviert???

@colinardo hat hier ein paar Links gepostet, u.a. ein Thread von mir, der dir ggf. weiterhelfen könnte... Stichwort: CSVDE!
Mitglied: colinardo
colinardo 15.08.2014 aktualisiert um 20:20:12 Uhr
Goto Top
Moin Carl, Willkommen auf Administrator.de!
Das ist kein Problem und machbar, aber vermutlich möchtet Ihr einfach die Pflege der Daten an andere Personen delegieren. Das ist mit "Delegation" und einem einfachen Interface zu machen:

Ich habe nur eine vage Vorstellung, und ich würde daraus zwei Skripte versuchen zu erzeugen, oder geht das besser?
Das lässt sich in einem einzigen Script kombinieren. Da in deiner Tabelle nur die Vor- und Nachnamen aufgelistet sind sollte man vielleicht noch eine Spalte mit dem Usernamen einführen damit es eindeutig ist, falls die Vor- und Nachnamen bei den User-Objekten nicht überall hinterlegt sind. Die Zuordnung des Users zu seiner OU kann im Code abgefragt werden, und je nachdem in welcher er sich befindet entschieden werden, ob die Eigenschaften des Users überschrieben werden oder nur neue hinzugefügt werden dürfen.
Leider bin ich auch ein absoluter Neuling im Bereich Powershell, mein Chef hat mir eine Aufgabe aufgebrummt, die meine PS-Fähigkeiten "noch" übersteigen.
Dann solltest du deinem Chef klar machen das dies noch zu hoch für dich ist, anstatt hier im Forum dir eine Lösung bauen zu lassen und dann damit falsche Tatsachen vorzutäuschen. Ich würde mir vom deinem Chef eine Powershell-Schulung bezahlen lassen, wenn er unbedingt will das du es ihm löst.

Grüße Uwe

Powershell Grundlagen- und Praxisvermittlung: