Top-Themen

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

gelöst VBS: Benutzer aus einer CSV Datei anlegen

Mitglied: Yannosch

Yannosch (Level 2) - Jetzt verbinden

25.09.2013, aktualisiert 18:36 Uhr, 2721 Aufrufe, 8 Kommentare, 2 Danke

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 !

Mitglied: bastla
25.09.2013, aktualisiert um 19:48 Uhr
Hallo Yannosch!

Wenn sich Deine Begabung auch auf das Verwenden der Suchfunktion erstreckte ...

... anyhow:
01.
CSV = "D:\Deine.csv" 
02.
Set fso = CreateObject("Scripting.FileSystemObject") 
03.
 
04.
Zeilen = Split(fso.OpenTextFile(CSV).ReadAll, vbNewLine) 
05.
For i = 1 To UBound(Zeilen) 'erste Zeile auslassen, daher Schleife ab Index 1 
06.
    Felder = Split(Zeilen(i), ",") 
07.
    WScript.Echo "Vorname: ", Trim(Felder(0)) 
08.
    WScript.Echo "Nachname:", Trim(Felder(1)) 
09.
Next
Wenn Du nicht für jede Ausgabe eine MsgBox erzeugen (und dann wegklicken) willst, starte das Script über "cscript" ...

Grüße
bastla
Bitte warten ..
Mitglied: Yannosch
25.09.2013 um 21:02 Uhr
Hey hey Danke schonmal für die rasche Antwort .... Es scheint auch etwas zu funktioninieren ...

In der csv habe ich es so gemacht:

Erste Zeile , Spalte 1:
Vorname
Erste Zeile, Spalte 2:
Nachname
Zweite Zeile, Spalte 1:
Tim
Zweite Zeile, Spalte 2:
Berg
Dritte Zeile, Spalte 1:
Steve
Dritte Zeile, Spalte 2:
Aoki

Nun wird nach ausführen des Scripts in einer MsgBox "Vorname: Tim; Berg" angezeigt.
Wenn ich auf Ok klicke kommt aber ein Laufzeitfehler mit folgendem Inhalt;
"Skript: <Pfad zum Script>
Zeile 25
Zeichen 5
Fehler: Index außerhalb des gültigen Bereichs: '[number:1]'
Code: 800A0009
Quelle: Laufzeitfehler in Microsoft VBScript"

Werde aus der Fehlermeldung nicht wirklich schlau ...
Evtl. Tipps für eine Mögliche Lösung?

@bastla: Das bier rückt näher ! ;)
Bitte warten ..
Mitglied: Yannosch
25.09.2013 um 21:08 Uhr
Ich habe in der CSV Datei nun das ";" durch ein "," ersetzt ... und nun werden die name Richtig aus der MessageBox ausgelesen ...
Aber nach Beendigung des Scripts wird die selbe Fehlermeldung generiert ...

Ich weiß nicht mehr weiter ...
Bitte warten ..
Mitglied: bastla
25.09.2013 um 21:21 Uhr
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:
01.
CSV = "D:\Deine.csv" 
02.
Set fso = CreateObject("Scripting.FileSystemObject") 
03.
Delim = "," ' Trennzeichen 
04.
 
05.
Zeilen = Split(fso.OpenTextFile(CSV).ReadAll, vbNewLine) 
06.
For i = 1 To UBound(Zeilen) 'erste Zeile auslassen, daher Schleife ab Index 1 
07.
    If InStr(Zeilen(i), Delim) <> 0 Then 'Trennzeichen in der Zeile enthalten 
08.
        Felder = Split(Zeilen(i), Delim) 
09.
        WScript.Echo "Vorname: ", Trim(Felder(0)) 
10.
        WScript.Echo "Nachname:", Trim(Felder(1)) 
11.
    End If 
12.
Next
Grüße
bastla
Bitte warten ..
Mitglied: Biber
25.09.2013, aktualisiert um 21:31 Uhr
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]
Bitte warten ..
Mitglied: Yannosch
26.09.2013 um 09:13 Uhr
Perfekt ...
Nun möchte ich nurnoch die Benutzer lokal anlegen ...

par exemple:

Dim Passwd
Dim Benutzername

Set wshShell = WScript.CreateObject( "WScript.Shell" )
strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )

Set Computer = GetObject("WinNT://" & strComputerName )

Set Benutzer = Computer.Create("user",Benutzername)
Benutzer.SetPassword Passwd
Benutzer.SetInfo

_____________________________________________

Angenommen der User der Angelegt werden soll, hat den Nachnamen als Benutzernamen und den Vornamen als Passwort.
Wie bekomme ich die Ausgaben von dem Script von @bastla in die Variablen Benutzername und Passwd ? ... Ich komme einfach nicht dahinter und es ist nurnoch wenig Zeit bis zur Abgabe ...

____________________________________________

Aber bis hierhin schonmal ein FETTES Dankeschön an euch beiden ... Das ihr mir wenigsten schonmal bis hier hin geholgen habt....

!!

Liebe Grüße von
Yannosch !
Bitte warten ..
Mitglied: Yannosch
26.09.2013 um 09:26 Uhr
Okay bin dahinter gekommen ... Einfach anstelle der Variablen Passwd und Benutzername die betreffenden Variablen von bastla setzten...

Nun kommt aber die Fehlermeldung das es mit den Kennwortrichtlinien nicht hinhaut ... Warum auch immer ... setzte ich eine "12" vor den Namen der als Passwd verwendet wird , so funktioniert es ...

Wo kann ich denn die Kennwortrichtlinien für den Lokalen Rechner ändern ? o.O

Liebe Grüße von Yannosch !
Bitte warten ..
Mitglied: colinardo
26.09.2013, aktualisiert um 10:54 Uhr
Hallo Janosch,
Zitat von Yannosch:
Wo kann ich denn die Kennwortrichtlinien für den Lokalen Rechner ändern ? o.O
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
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
VB for Applications
CSV Datei mit VBS auslesen
Frage von scorpionesc83VB for Applications4 Kommentare

Hallo zusammen, ich bin in Sachen VBS ein totaler Anfänger und hoffe, dass ihr mir bei einem Problem helfen ...

VB for Applications

Bestimmte Spalten aus CSV-Datei auslesen (VBS)

gelöst Frage von GurkenhobelVB for Applications9 Kommentare

Hallo Community, wieder benötige ich einmal kompetente Hilfe. Mein Script zum Auslesen bestimmte Spalten aus CSV-Dateien (über 200 " ...

Batch & Shell

Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen

Frage von windelterroristBatch & Shell1 Kommentar

Hallo Admins :) Mein Skript soll mehrere AD User aus einer CSV Datei per PowerShell erstellen. Soweit funktioniert das ...

Windows Server

Benutzer löschen und neu anlegen

Frage von ClepToManixWindows Server2 Kommentare

Hallo an alle, ich habe aktuell das Problem, dass mein neues Firmenhandy(neustes ios) keine Emails von unserem exchange 2016 ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 3 TagenHumor (lol)5 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing21 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

TK-Netze & Geräte
Telefonie zweier Fritzboxen mit je eigenem DSL Anschluss verbinden
Frage von hannsgmaulwurfTK-Netze & Geräte10 Kommentare

Hallo zusammen, ich habe hier einen Haushalt mit zwei Anschlüssen. Einmal ISDN, einmal DSL. An jedem Anschluss hängt eine ...