Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Powershell - Excel-Datei in Active Directory schreiben

Frage Entwicklung Batch & Shell

Mitglied: ScriptNewbie

ScriptNewbie (Level 1) - Jetzt verbinden

15.08.2014 um 11:40 Uhr, 1182 Aufrufe, 2 Kommentare

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:
<code>
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

Mitglied: Belloci
15.08.2014 um 12:17 Uhr
Hi ScriptNewbie!

schau doch mal hier vorbei:

http://www.administrator.de/forum/powershell-active-directory-benutzer- ...

@colinardo hat hier ein paar Links gepostet, u.a. ein Thread von mir, der dir ggf. weiterhelfen könnte... Stichwort: CSVDE!
Bitte warten ..
Mitglied: colinardo
15.08.2014, aktualisiert um 20:20 Uhr
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:
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Active Directory Report (7)

Frage von mah0ni zum Thema Windows Server ...

Linux Netzwerk
gelöst Linux als Active Directory Domäne (7)

Frage von 134408 zum Thema Linux Netzwerk ...

Batch & Shell
Excel mit Powershell formatieren (13)

Frage von Tastuser zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Erkennung und -Abwehr

Infineon TPMs unsicher! Bitlocker ggf. angreifbar

(4)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Firewall

PfSense Repository für Version 2.3.x

(7)

Information von Dobby zum Thema Firewall ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...