VBS: Benutzer aus einer CSV Datei anlegen
Guten Tag liebe Community! 
Habe eine Frage bezüglich VBS.
Wie wäre es denn möglich Namen aus einer CSV Datei in einem VB-Script in eine Variable zu speichern?
Die Liste innerhalbe sieht z.B so aus:
VORNAME, NACHNAME
Peter, Lustig
Ann, Katrin
Armin, Peter
Nun möchte ich Vor- und Nachnamen in eine Variable oder Array speichern.
Sodass ich die Benutzer lokal auf meinem Rechner anlegen kann.
Fragt bitte nicht warum ich das aus einer CSV datei machen will oder wieso ich da ein VB-Script für mache ... Ist für ein Programmierprojekt an der Uni.
Bin EIGENTLICH auch relativ "begabt" im Scripten, aber hier steig ich nicht ganz durch - mir fehlen einfach die Ansätze...
Habe an eine ADO Verbindung gedacht ... aber dann dürfen die Felder wieder nicht so lang sein, usw.
Ihr würdet mir echt meinen Tag retten. Und sollte jemand die Muse haben sicher der Sache mal anzunehmen würde ich anbieten en Bierchen zu zischen, auf mich natürlich
(Denkarbeit soll meiner Meinung nach belohnt werden)
Liebe Grüße von
Yannosch !
Habe eine Frage bezüglich VBS.
Wie wäre es denn möglich Namen aus einer CSV Datei in einem VB-Script in eine Variable zu speichern?
Die Liste innerhalbe sieht z.B so aus:
VORNAME, NACHNAME
Peter, Lustig
Ann, Katrin
Armin, Peter
Nun möchte ich Vor- und Nachnamen in eine Variable oder Array speichern.
Sodass ich die Benutzer lokal auf meinem Rechner anlegen kann.
Fragt bitte nicht warum ich das aus einer CSV datei machen will oder wieso ich da ein VB-Script für mache ... Ist für ein Programmierprojekt an der Uni.
Bin EIGENTLICH auch relativ "begabt" im Scripten, aber hier steig ich nicht ganz durch - mir fehlen einfach die Ansätze...
Habe an eine ADO Verbindung gedacht ... aber dann dürfen die Felder wieder nicht so lang sein, usw.
Ihr würdet mir echt meinen Tag retten. Und sollte jemand die Muse haben sicher der Sache mal anzunehmen würde ich anbieten en Bierchen zu zischen, auf mich natürlich
(Denkarbeit soll meiner Meinung nach belohnt werden)
Liebe Grüße von
Yannosch !
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 217857
Url: https://administrator.de/forum/vbs-benutzer-aus-einer-csv-datei-anlegen-217857.html
Ausgedruckt am: 08.04.2025 um 18:04 Uhr
8 Kommentare
Neuester Kommentar
Hallo Yannosch!
Wenn sich Deine Begabung auch auf das Verwenden der Suchfunktion erstreckte ...
... anyhow:
Wenn Du nicht für jede Ausgabe eine MsgBox erzeugen (und dann wegklicken) willst, starte das Script über "
Grüße
bastla
Wenn sich Deine Begabung auch auf das Verwenden der Suchfunktion erstreckte ...
... anyhow:
CSV = "D:\Deine.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
Zeilen = Split(fso.OpenTextFile(CSV).ReadAll, vbNewLine)
For i = 1 To UBound(Zeilen) 'erste Zeile auslassen, daher Schleife ab Index 1
Felder = Split(Zeilen(i), ",")
WScript.Echo "Vorname: ", Trim(Felder(0))
WScript.Echo "Nachname:", Trim(Felder(1))
Next
cscript
" ...Grüße
bastla
Hallo Yannosch!
Vermutlich befindet sich am Ende der CSV-Datei eine Leerzeile (die sich dann natürlich nicht in 2 Felder zerlegen lässt) - das lässt sich etwa so prüfen:
Grüße
bastla
Vermutlich befindet sich am Ende der CSV-Datei eine Leerzeile (die sich dann natürlich nicht in 2 Felder zerlegen lässt) - das lässt sich etwa so prüfen:
CSV = "D:\Deine.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
Delim = "," ' Trennzeichen
Zeilen = Split(fso.OpenTextFile(CSV).ReadAll, vbNewLine)
For i = 1 To UBound(Zeilen) 'erste Zeile auslassen, daher Schleife ab Index 1
If InStr(Zeilen(i), Delim) <> 0 Then 'Trennzeichen in der Zeile enthalten
Felder = Split(Zeilen(i), Delim)
WScript.Echo "Vorname: ", Trim(Felder(0))
WScript.Echo "Nachname:", Trim(Felder(1))
End If
Next
bastla
Moin Yannosch,
der von dir beschriebene Fehler wird auftreten, wenn in der CSV-Datei noch eine leere Zeile am Ende (also nur CRLF) dranhängt.
Das fängt bastlas Schnipsel nicht ab - du könntest als neue Zeile 06 eine IF-Prüfung einbauen auf "Länge Zeilen(i) größer 5" oder besser "Ist ein Komma ein Zeile(i) enthalten?" und die darauffolgenden drei Befehle nur in diesem Fall ausführen.
Grüße
Biber
[Edit} ... natürlich wieder mal zu langsam...
[/Edit]
der von dir beschriebene Fehler wird auftreten, wenn in der CSV-Datei noch eine leere Zeile am Ende (also nur CRLF) dranhängt.
Das fängt bastlas Schnipsel nicht ab - du könntest als neue Zeile 06 eine IF-Prüfung einbauen auf "Länge Zeilen(i) größer 5" oder besser "Ist ein Komma ein Zeile(i) enthalten?" und die darauffolgenden drei Befehle nur in diesem Fall ausführen.
Grüße
Biber
[Edit} ... natürlich wieder mal zu langsam...
Hallo Janosch,
Wenn der PC in einer Domäne sitzt geht dies nur auf dem Domänencontroller der die Passwort-Richtlinie an die Computer verteilt, und da kommst du sicherlich nicht dran!
Falls der Rechner nicht in einer Domäne sitzten sollte, geht's so:
WIN+R > secpol.msc, dann in hier hin navigieren:
Grüße Uwe
Wenn der PC in einer Domäne sitzt geht dies nur auf dem Domänencontroller der die Passwort-Richtlinie an die Computer verteilt, und da kommst du sicherlich nicht dran!
Falls der Rechner nicht in einer Domäne sitzten sollte, geht's so:
WIN+R > secpol.msc, dann in hier hin navigieren:
Kontorichtlinien > Kennwortrichtlinien > Kennwort muss den Komplexitätsvoraussetzungen entsprechen