Windows Server 2012 R2 icacls auf win server 2012 R2 scheint nicht mehr zu funktionieren

rosenbau

Newbie
Registriert
März 2015
Beiträge
2
Hallo,

wenn ich auf meinem Windows 7 PC folgenden Befehl absetze (im cmd-Fenster) klappt alles wie gewünscht:
icacls.exe D:\Temp\Test /deny Jeder:(OI)(CI)F /C
(Anmerkung: Der Smily macht hier die Zeile kaputt: gemeint ist Jeder, gefolgt von Doppelpunkt, gefolgt von (OI) )

und alle Untervezeichnisse und untergeordneten Dateien erhalten per Vererbung die neue Sicherheitseinstellung in der ACL.

Setze ich dagegen den identischen Befehl auf einem Windows Server 2012 R2 ab (in der "PowerShell), erhalte ich folgende Antwort:

> icacls.exe D:\Temp\Test /deny Jeder:(OI)(CI)F /C
OI : Die Benennung "OI" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren
Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und
wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:38
+ icacls.exe D:\Temp\Test /deny Jeder:(OI)(CI)F /C
+ ~~
+ CategoryInfo : ObjectNotFound: (OI:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException


Hat jemand eine Ahnung, warum? Was mache ich falsch? Oder könnte das ein Zeichensatz-Problem sein?

Das Kommando
icacls.exe /?
läuft übrigens einwandfrei und zeigt die Syntaxoptionen an. An den Rechten zum exe selbst kann es also nicht liegen...
 
Zuletzt bearbeitet:
Probiers mal dieser Syntax:

ICACLS ("D:\Temp\Test") /deny ("domain.local\Jeder" + ':(OI)(CI)F') /C

Ansonsten kannst du aber auch die Befehle Get-ACL und Set-ACL mal ausprobieren..

.. hier mal einlesen!
 
Es lassen sich nicht alle cmd Befehle in der PowerShell ausführen. Teste deinen Befehl mal in einer cmd, das klappt ohne Fehler. Meine Empfehlung: cmd Befehle vergessen und mit PowerShell arbeiten.
 
Mein Befehl habe ich so in einem PowerShell Script laufen. Der läuft auch ohne größere Probleme.

Ansonsten wie gesagt mit Get-ACL und Set-ACL arbeiten ;-)
 
lurid schrieb:
Probiers mal dieser Syntax:

ICACLS ("D:\Temp\Test") /deny ("domain.local\Jeder" + ':(OI)(CI)F') /C

Ansonsten kannst du aber auch die Befehle Get-ACL und Set-ACL mal ausprobieren..

.. hier mal einlesen!


Hallo lurid,
vielen Dank für die rasche Antwort, dein ICACLS-Befehl läuft einwandfrei in der PowerShell (wenn man die Stelle mit dem Smiley mal korrekt dekodiert hat als Hochomma-Doppelpunkt-Kalmmerauf)! Im vorderen Teil beim Verzeichnis kann man auf Klammern und Anführungszeichen übrigens auch verzichten, wenn man sie nicht mag, die sind da unnötig.
Viele Grüße...
 
Freut mich dir geholfen zu haben ;-)
 
Zurück
Oben