NTFS-Berechtigungen nach unten durchdrücken per Kommandozeilenbefehl?
Hallo,
ein Windows 2003er Server.
Beispielsweise diese Ordnerstruktur:
c:\eins
c:\eins\a
c:\eins\b
c:\eins\c
Ich möchte, egal wie die Berechtigungen und Vererbungen für diese 4 Ordner gerade eingestellt sind, für den Ordner c:\eins das Erben deaktivieren, individuelle Berechtigungen vergeben und diese nach unten durchdrücken, so dass auf alle 4 Ordner die gleichen Berechtigungen gelten und bei den Unterordnern a, b und c das Erben aktiviert ist.
Per GUI geht das einfach durch Eigenschaften von Ordner "eins" > Sicherheit > Erweitert > den Haken "Berechtigungen übergeordneter Objekte auf untergeordnete Objekte, sofern anwendbar, vererben. Diese mit den hier definierten Einträgen mit einbeziehen." entfernen. Die anschliessende Frage entweder mit Kopieren oder Entfernen beantworten.
Jetzt individuelle Berechtigungen vergeben.

und diese durch Haken bei "Berechtigungen für alle untergeordneten Objekte durch die angezeigten Einträge, sofern anwendbar, ersetzen." nach unten durchdrücken.
Kein Problem, aber wie geht´s per Kommandozeile.
Ich denke nicht mit cacls.exe oder xcacls.exe. Auch bei icacls.exe hab ich nichts gefunden. Am ehesten noch mit xcacls.vbs. Aber auch damit geht meiner Meinung nach nur folgendes.
Möglichkeit 1:
Dadurch sind zwar auf alle 4 Ordner die gewünschten Berechtigungen vergeben, aber die Unterordner a, b und c haben sie nicht geerbt, sondern sie wurden explizit vergeben. Genau das will ich ja nicht.
Möglichkeit 2:
Dadurch wird auf c:\eins das Erben aktiviert und die Berechtigungen werden nach unten durchgedrückt. Die Unterordner a, b und c haben die Berechtigungen von oben geerbt. Alles super, nur will ich auf c:\eins das Erben nicht aktivieren, nur bei den Unterordnern.
Mir bleibt also nur eine Kombination beider Möglichkeiten:
Ich durchlaufe also in einer Schleife alle Unterordner (erster Ebene) und führe für jeden den Befehl aus Möglichkeit 2 aus.
Geht das wirklich nicht anders?
Danke
Martin
ein Windows 2003er Server.
Beispielsweise diese Ordnerstruktur:
c:\eins
c:\eins\a
c:\eins\b
c:\eins\c
Ich möchte, egal wie die Berechtigungen und Vererbungen für diese 4 Ordner gerade eingestellt sind, für den Ordner c:\eins das Erben deaktivieren, individuelle Berechtigungen vergeben und diese nach unten durchdrücken, so dass auf alle 4 Ordner die gleichen Berechtigungen gelten und bei den Unterordnern a, b und c das Erben aktiviert ist.
Per GUI geht das einfach durch Eigenschaften von Ordner "eins" > Sicherheit > Erweitert > den Haken "Berechtigungen übergeordneter Objekte auf untergeordnete Objekte, sofern anwendbar, vererben. Diese mit den hier definierten Einträgen mit einbeziehen." entfernen. Die anschliessende Frage entweder mit Kopieren oder Entfernen beantworten.
Jetzt individuelle Berechtigungen vergeben.

und diese durch Haken bei "Berechtigungen für alle untergeordneten Objekte durch die angezeigten Einträge, sofern anwendbar, ersetzen." nach unten durchdrücken.
Kein Problem, aber wie geht´s per Kommandozeile.
Ich denke nicht mit cacls.exe oder xcacls.exe. Auch bei icacls.exe hab ich nichts gefunden. Am ehesten noch mit xcacls.vbs. Aber auch damit geht meiner Meinung nach nur folgendes.
Möglichkeit 1:
1
"cscript //nologo xcacls.vbs c:\eins /i remove /g mydomain\username:F /f /s /t"
Möglichkeit 2:
1
"cscript //nologo xcacls.vbs c:\eins /i enable /f /s"
Mir bleibt also nur eine Kombination beider Möglichkeiten:
1
2
2
"cscript //nologo xcacls.vbs c:\eins /i remove /g mydomain\username:F /f /s /t"
"for /D %i in (C:\eins\*) do cscript //nologo xcacls.vbs %i /i enable /f /s"
Geht das wirklich nicht anders?
Danke
Martin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176240
Url: https://administrator.de/forum/ntfs-berechtigungen-nach-unten-durchdruecken-per-kommandozeilenbefehl-176240.html
Ausgedruckt am: 15.04.2025 um 02:04 Uhr
11 Kommentare
Neuester Kommentar
Du hast Recht, 2003 bekommt vom sp2 ein icacls, welches buggy ist: es fehlt dieser Parameter. Nimm http://support.microsoft.com/kb/943043 , dieser Fix behebt das.
Wieso? Sie sind geerbt. Ich nutze hier ein Skript [Edit: auf Vista/2008R2], das geht
und kann danach über den Explorer beispielsweise bei untergeordneten Dateien sehen, dass von server\share geerbt wurde.
Edit2: man beachte das /r: r - remove all inherited ACEs
1
icacls \\server\share /grant:r Sonstwer:(OI)(CI)(F) /t
Edit2: man beachte das /r: r - remove all inherited ACEs