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, 2785 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

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

CSV-Datei nach Excel importieren

Frage von mrvfbnummer2Batch & Shell5 Kommentare

Hallo Leute, ich möchte CSV-Dateien in eine Excel-Datei mit PowerSell importieren. Ich habe bereits viel ausprobiert aber habe noch ...

VB for Applications

Mit VBS erste Zeile von CSV ändern

gelöst Frage von apfeltoastVB for Applications5 Kommentare

Hallo zusammen, ich wurde von einem Arbeitskollegen beauftragt eine CSV-Datei automatisch zu editieren. Die Ursprungsdatei hat 44 Spalten und ...

VB for Applications

VBS Datei Auswahl Dialog

gelöst Frage von 133202VB for Applications5 Kommentare

Hallo Ihr, im Thread: konnte ich schon finden, was ich gesucht habe: Jetzt möchte ich allerdings, dass am Anfang ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 4 TagenHumor (lol)6 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 5 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 8 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 9 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Samba
Windows 10 Client in Samba-Domäne hinzufügen scheitert
Frage von diwaffmSamba31 Kommentare

Hi Leute, ich habe einen Samba Server in der Version 4.9.3 auf einer OpenSuse Maschine laufen. Damit sind momentan ...

Windows Systemdateien
Verknüpfungen nach Pfadwechsel
Frage von Hendrik2586Windows Systemdateien17 Kommentare

Guten Morgen meine lieben Kollegen und Kolleginnen, ich hab da mal eine Frage die Ihr sicher schon kennt. Es ...

Batch & Shell
CMD-Fenster nach Task schließen
gelöst Frage von Hyperlink.93Batch & Shell16 Kommentare

Hallo, ich habe ein Skript was über einen Task bei jeder User Anmeldung läuft. Der Task startet eine CMD ...

Netzwerkmanagement
Sehr langsame Netzverbindung in einem bestimmten Subnet
gelöst Frage von gabeBUNetzwerkmanagement15 Kommentare

Hallo Zusammen Ich habe das folgende Problem: Unser Netzwerk, dass aus verschiedenen Subnetzwerken aufgebaut ist, ist nicht in jedem ...