vbscript und xcacls
Hi,
möchte gerne mit einem skript einen user auf einen ordner und unterverzeichnisse berechtigen.
habe das hier mal zusammengebastelt aber es funktioniert nicht so wie es soll - es macht nämlich überhaupt nichts außer das ein dos-fenster schnell auf und zu geht.
vielleicht hat ja einer eine idee was da falsch ist ?!
wenn ich es in einer dos-box per hand eingebe funktioniert alles.
gruss
SKID
möchte gerne mit einem skript einen user auf einen ordner und unterverzeichnisse berechtigen.
habe das hier mal zusammengebastelt aber es funktioniert nicht so wie es soll - es macht nämlich überhaupt nichts außer das ein dos-fenster schnell auf und zu geht.
Dim strAccount username
Dim wshShell
strAccount = testuser
Const strPath = \\domäne\freigabe\
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "cscript C:\temp\xcacls.exe " & strPath & strAccount & " /E /T /G testuser:C",,True
Set wshShell = Nothing
wenn ich es in einer dos-box per hand eingebe funktioniert alles.
gruss
SKID
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 37166
Url: https://administrator.de/contentid/37166
Ausgedruckt am: 05.11.2024 um 19:11 Uhr
4 Kommentare
Neuester Kommentar
Moin skid,
Lass uns mal damit anfangen, die Stringvariablen auch in Hochkommata einzuschließen und das formal verarbeitbar zu machen
Kommt der Schnipsel jetzt weiter?
Gruß
Biber
Lass uns mal damit anfangen, die Stringvariablen auch in Hochkommata einzuschließen und das formal verarbeitbar zu machen
Dim strAccount ' wozu stand in der Zeile noch.....username....?
...
strAccount = "testuser" ' so war es doch wohl gemeint, oder?
Const strPath = "\\domäne\freigabe"
...
Kommt der Schnipsel jetzt weiter?
Gruß
Biber
Moin skid,
dann schau Dir bitte die an, Dort steht, wie man/frau Code als Code formatieren kann. Nutze ich auch manchmal.
Das eigentliche Problem könnte sein, dass die Zeile "cscript whatever...." zwar vom CMD-Prompt aus klappt, weil ... die CMD.exe zwar nicht schlau ist, aber schon in einem bestimmten Kontext arbeitet.
Was sich unter anderem darin äußert, dass die Zeichenfolge "cscript" am Anfang einer CMD-Zeile interpretiert wird als...
- wenn kein interner CMD-Befehl als erstes Wort in der Zeile steht, dann..
- suche im aktuellen Verzeichnis nach cscript.COM, csript.EXE, cscript.BAT,...
[ usw.; alle Endungen, die in der Umgebungsvariablen %PATHEXT% stehen.
Beispiel: PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
- sollte die CMD.exe dabei nicht fündig werden, werden alle Verzeichnisse, die in der Variable %PATH% stehen nach derselben Mimik abgeklappert.
- wenn etwas "passendes" gefunden wird, dann wird "cscript.XXX" mit den angegebenen Parametern ausgeführt.
Für die Spawn-Funktion "Wscript.Shell.Run()" gilt das so nicht.
Wenn Du dort eine EXE/COM/BAT...-Datei aufrufen willst, musst Du die mit Pfad und Extension aufrufen.
So wäre zumindest meine theoretische Erklärung. Getestet habe ich es nicht.
Gruß
Biber
dann schau Dir bitte die an, Dort steht, wie man/frau Code als Code formatieren kann. Nutze ich auch manchmal.
Das eigentliche Problem könnte sein, dass die Zeile "cscript whatever...." zwar vom CMD-Prompt aus klappt, weil ... die CMD.exe zwar nicht schlau ist, aber schon in einem bestimmten Kontext arbeitet.
Was sich unter anderem darin äußert, dass die Zeichenfolge "cscript" am Anfang einer CMD-Zeile interpretiert wird als...
- wenn kein interner CMD-Befehl als erstes Wort in der Zeile steht, dann..
- suche im aktuellen Verzeichnis nach cscript.COM, csript.EXE, cscript.BAT,...
[ usw.; alle Endungen, die in der Umgebungsvariablen %PATHEXT% stehen.
Beispiel: PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
- sollte die CMD.exe dabei nicht fündig werden, werden alle Verzeichnisse, die in der Variable %PATH% stehen nach derselben Mimik abgeklappert.
- wenn etwas "passendes" gefunden wird, dann wird "cscript.XXX" mit den angegebenen Parametern ausgeführt.
Für die Spawn-Funktion "Wscript.Shell.Run()" gilt das so nicht.
Wenn Du dort eine EXE/COM/BAT...-Datei aufrufen willst, musst Du die mit Pfad und Extension aufrufen.
So wäre zumindest meine theoretische Erklärung. Getestet habe ich es nicht.
Gruß
Biber