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
GELÖST

Anlegen mehrer Benutzer im AD durch Batch

Frage Entwicklung Batch & Shell

Mitglied: -PzYcO-

-PzYcO- (Level 1) - Jetzt verbinden

14.04.2010 um 11:09 Uhr, 8267 Aufrufe, 12 Kommentare

Hallo liebe Leidensgenossen,

ich habe die Aufgabe bekommen, in einem ActiveDirectory (Windows Server 2008) durch eine Batch-Datei anlegen zu lassen.
Diese Benutzer sind einer entsprechenden OU des AD zuzuordnen.

Die Daten der User sind einer .csv-Datei zu entnehmen.
Diese ist wie folgt aufgebaut:

Vorname Nachname Abteilung Gruppe1 Gruppe2 Gruppe3 Gruppe4 Gruppe5

Mit welchem Befehl kann ich diese Datei am einfachten auslesen und die vorhandenen Daten verarbeiten?
Mitglied: bastla
14.04.2010 um 11:20 Uhr
Hallo -PzYcO- und willkommen im Forum!
Mit welchem Befehl kann ich diese Datei am einfachten auslesen
for /f
und die vorhandenen Daten verarbeiten?
dsadd

Grüße
bastla
Bitte warten ..
Mitglied: 5t8d1e
14.04.2010 um 11:55 Uhr
Hallo,

wenn die Daten schon im csv-format vorliegen ist csvde irgenwie sinnvoller als ne batch


grüße
torsten

PS.: natürlich sollten die Formate innerhalb der csv-datei eingehalten werden
und bevor der yusuf kommt hier der link yusuf erklärt csvde
Bitte warten ..
Mitglied: -PzYcO-
14.04.2010 um 12:16 Uhr
Zitat von 5t8d1e:
wenn die Daten schon im csv-format vorliegen ist csvde irgenwie sinnvoller als ne batch

Leider ist die Vorgabe eine Batch-Datei zu basteln die diese Operation durchführt.
Bitte warten ..
Mitglied: -PzYcO-
14.04.2010 um 12:34 Uhr
Ich habe jetzt folgenden Codeschnipsel gebastelt:

01.
FOR /F "TOKENS=1 skip=1" %%G IN (users.csv) DO ECHO %%G
Leider wird kein Wert ausgegeben, ich vermute also noch einen Fehler den ich allerdings nicht finde.
Außerdem stellt sich mir die Frage wie ich die erlangten Daten in den Befehl DSADD eingebaut bekomme?!

01.
DSADD USER -fn {} -ln {} -desc {} -dept {}
Bitte warten ..
Mitglied: 5t8d1e
14.04.2010 um 12:40 Uhr
Ahoi

und wo liegt das problem csvde -i -f deindateiname.csv in eine batch zuschreiben?
Bitte warten ..
Mitglied: -PzYcO-
14.04.2010 um 13:14 Uhr
Zitat von 5t8d1e:
Ahoi

und wo liegt das problem csvde -i -f deindateiname.csv in eine batch zuschreiben?

Das hatte ich schon versucht. Habe gerade aber festgestellt, dass dieser Befehl auf meinen XP-System nicht vorhanden ist :rolleyes: und ich warten muss bis ich wieder an meine AD-Landschaft rankomme.
Vielleicht komme ich damit ja besser voran...
Dank dir 5t8d1e!
Bitte warten ..
Mitglied: 5t8d1e
14.04.2010 um 13:19 Uhr
Hossa,

nee mußt nicht wirklich an die AD ran, csvde.exe von %systemroot%\system32\ eines servers kopieren.
und bis dahin den beitrag von yusuf lesen. ist auch sehr interessant wie man das per Powershell erledigen kann.


grüße
Torsten
Bitte warten ..
Mitglied: bastla
14.04.2010 um 15:15 Uhr
Hallo-PzYcO-!

Die Schleife sollte (unter der Annahme, dass es tatsächlich eine CSV-Datei - also mit Comma als Trennzeichen - ist und die erste Zeile die Feldnamen enthält, etwa so aussehen:
for /f "skip=1 tokens=1-8 delims=," %%a in (users.csv) do echo Vorname: %%a, Nachname: %%b, Abteilung: %%c, Gruppe1: %%d, ...
Anstelle des "echo" könntest Du dann das "dsadd" platzieren ...

Grüße
bastla
Bitte warten ..
Mitglied: diekoenigs
27.04.2010 um 12:36 Uhr
Hat es denn geklappt?
Habe auch interesse daran.

Grüße und Danke
Alex
Bitte warten ..
Mitglied: -PzYcO-
28.04.2010 um 17:45 Uhr
Zitat von diekoenigs:
Hat es denn geklappt?
Habe auch interesse daran.

Grüße und Danke
Alex

Hatte bisher noch keine Zeit weiter daran zu basteln aber ich werd' Bescheid geben ob das klappt oder nicht.
Bitte warten ..
Mitglied: -PzYcO-
12.05.2010 um 11:50 Uhr
Das Skript ist nun fertig und funktioniert einwandfrei.
Danke an alle die mir Tipps gegeben haben.

FOR-Schleife zum Einlesen:
01.
FOR /f "skip=1 tokens=1-8 delims='' " %%a IN (%CSV%) DO CALL :sub %%a %%b %%c %%d %%e %%f %%g %%h 
02.
GOTO ende
Nachdem die Variablen a-h eingelesen wurden werden sie an :sub übergeben und heißen dann %%1 - %%8
Ich habe sie dann - wegen der Übersichtlichkeit - in "richtig" Variablen eingelesen.

NET USER-Befehl um die Nutzer anzulegen:
01.
NET USER %logon% F1rstLogin /add /fullname:"%vorname% %nachname%" /comment:"%abteilung%" /domain
Bitte warten ..
Mitglied: bastla
14.05.2010 um 21:32 Uhr
Hallo -PzYcO-!

Freut mich, dass es jetzt klappt.

Nachdem die Variablen a-h eingelesen wurden werden sie an :sub übergeben und heißen dann %%1 - %%8
Kleine Korrektur: Im Unterprogramm kommen die Variablen als %1 - %8 (also, wie die Parameter in jedem Batch, mit nur einem Prozentzeichen) an.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...