Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 1174 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 ...

Batch & Shell
gelöst Powershell excel (6)

Frage von Crank69 zum Thema Batch & Shell ...

Batch & Shell
Excel mit Powershell formatieren (13)

Frage von Tastuser zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (9)

Frage von D-Line zum Thema Microsoft Office ...