hessebou
Goto Top

VBS zum auslesen von CSV Datei und setzen von Berechtigungen

Auslesen einer CSV-Datei mit Benutzerdaten (Semikolon getrennt). Speicherung in String und Berechtigungen auf Ordner setzen (heißen wie der Benutzername)

Hi,

ich benötige dringends eure Hilfe. Ich habe ein Skript zum anlegen von Benutzer in VBS geschrieben. Leider ist das schon ein wenig her und ich bekomms nicht mehr hin. Ich habe eine CSV Datei welche wie folgt ausschaut: Benutzername;Nachname;Vorname;Passwort;Klasse.
Das Skript legt automatisch die Benutzer an und erstellt zugleich Ordner welche so heißen wie der Benutzername (für das Homelaufwerk). Nun sind mir die Berechtigungen verloren gegangen und müssen neu gesetzt werden. Nicht spaßig bei knapp 3000 Benutzern. Ich wollte ein Skript basteln, welches die CSV Datei ausliest, die Werte Speichert und dann in einer Schleife die Berechtigungen in dem betroffenen Pfad mit CACLS wieder neu setzt (WshShell.run "cacls " "c:\home" & Benutzer & " /g " & Benutzer & ":C "Administratoren:F").
Ich bekomms einfach nicht hin, mag auch die Panik sein face-smile

Ich danke euch schon mal vielmals vorab

Gruß
Marc

Content-Key: 67396

Url: https://administrator.de/contentid/67396

Ausgedruckt am: 29.03.2024 um 13:03 Uhr

Mitglied: bastla
bastla 29.08.2007 um 16:01:57 Uhr
Goto Top
Hallo hessebou!

Warum nicht einfach per CMD, etwa:
for /f "tokens=1 delims=;" % in (C:\UserList.csv) do echo cacls "C:\home\%i" /g "%i":C Administratoren:F  
Das "echo" dient dazu, den Befehl zum Testen nur anzuzeigen - wenn Du es entfernst, werden die Rechte tatsächlich gesetzt. Wenn Du die Zeile nicht direkt am CMD-Prompt eingeben, sondern als Batch verwenden willst: jedes %i auf %%i ändern.

Annahme war, dass (lt Deinem Beispiel) das erste ("tokens=1") Feld der Liste den benötigten Benutzernamen enthält.

Außerdem war ich noch davon ausgegangen, dass in Deinem Beitrag ein "\" nach "C:\Home" verschluckt worden ist (aber durch den "echo"-Befehl kannst Du die vom Batch erstellte "cacls"-Befehlszeile ohnehin vorweg einmal genau überprüfen) ...

Grüße
bastla