
45455
26.12.2014, aktualisiert um 21:45:25 Uhr
Ungültiger Parameter icacls in FOR-Schleife
Hallo,
ich steh etwas auf dem Schlauch.
Folgendes bringt mir immer nur die Fehlermeldung Ungültiger Parameter "Domänen-Admins" und Ungültiger Parameter "System"
Setze ich einfach nur die Variable, anstatt eine For-Schleife zu definieren, funktionieren die Zeilen aber.
Verkettung mit & dasselbe.
Was mach ich da falsch?
Gruß
Kai
ich steh etwas auf dem Schlauch.
Folgendes bringt mir immer nur die Fehlermeldung Ungültiger Parameter "Domänen-Admins" und Ungültiger Parameter "System"
1
2
3
4
2
3
4
for /d %%i in (*.*) do (
icacls %%i /inheritance:r /grant "Domänen-Admins"
icacls %%i /inheritance:r /grant "System"
)
Setze ich einfach nur die Variable, anstatt eine For-Schleife zu definieren, funktionieren die Zeilen aber.
Verkettung mit & dasselbe.
Was mach ich da falsch?
Gruß
Kai
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 258532
Url: https://administrator.de/forum/ungueltiger-parameter-icacls-in-for-schleife-258532.html
Ausgedruckt am: 11.04.2025 um 19:04 Uhr
10 Kommentare
Neuester Kommentar

Moin Kai,
ich würde die Laufvariable mal in Anführungszeichen setzen, wenn nämlich Leerzeichen im Pfad vorkommen gibt's da eben Probleme:
Und du gibst dem User ja gar keine Rechte mit...
Gruß jodel32
ich würde die Laufvariable mal in Anführungszeichen setzen, wenn nämlich Leerzeichen im Pfad vorkommen gibt's da eben Probleme:
Und du gibst dem User ja gar keine Rechte mit...
icacls "%%i" /inheritance:r /grant System:(OI)(CI)F

Zitat von @45455:
Klar, nur leider führt die Angabe dieser dazu, dass das Skript sofort abgebrochen wird.
dahinter Fehlt noch die Angabe des Rechts z.B. F für FullAccess,siehe meine Zeile oben,Klar, nur leider führt die Angabe dieser dazu, dass das Skript sofort abgebrochen wird.
/grant System:(OI)(CI)F
Hier läuft es übrigens ohne Probleme, du musst uns irgendwas in deinem Script verschweigen.
Hallo Kai.
Pseudocode ...
... wäre so ein Beipiel. Korrekte Codeeinrückung hilft dir, so etwas frühzeitig zu entdecken (auch unpaarige Klammern etc.)
Grüße
rubberman
Offenbar passiert das sogar bei der &-Verkettung.
Eigentlich nicht. Es sei denn, du hast das Ganze in einem weiteren Klammerausdruck stehen, dann wird dieser Block natürlich auch durch die ")" in einer der Kommandozeilen abgeschlossen.Pseudocode ...
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
if <Condition> (
<Command>
<Command>
<Command>
icacls "<Directory>" /inheritance:r /grant "System":(OI)(CI)F
<Command>
<Command>
)
Grüße
rubberman
Hallo Endoro.
Die PowerShell wäre ein wunderbarer Ersatz. Leider ist sie für mich nutzlos, da ich Scripts zumeist beruflich nutze, um mir die Arbeit zu erleichtern. Leider haben unsere Admins ihre Hände darauf gelegt und die Ausführung von PowerShell per Gruppenrichtlinie untersagt...
Im Moment sehe ich also noch keinen Anlass mich intensiver damit zu beschäftigen und muss weiterhin die Unzulänglichkeiten und das undefinierte Verhalten von Batch studieren.
Grüße
rubberman
Wenigstens zu Weihnachten könnte Batch mal so tun, als wäre es eine "richtige" Sprache 
Die Redmonder hatten es in der Hand, als sie mit den NT Versionen die cmd.exe und die zugehörige *.cmd Dateierweiterung eingeführt haben. Naja ... das ist Geschichte.Die PowerShell wäre ein wunderbarer Ersatz. Leider ist sie für mich nutzlos, da ich Scripts zumeist beruflich nutze, um mir die Arbeit zu erleichtern. Leider haben unsere Admins ihre Hände darauf gelegt und die Ausführung von PowerShell per Gruppenrichtlinie untersagt...
Grüße
rubberman