Icaclsを使用してドメイングループの権限を設定しようとしていますが、何らかの理由で機能しません。
icacls "C:\Temp\ACL" /T /C /grant ("Everyone"+':F') ("System"+':F') ("Administrators"+':F') ("DOMAIN\groupname"+':C') >> C:\temp\c.log
Powershellで実行しようとしていますが、次のエラーが発生します。
Invalid parameter "DOMAIN\groupname:C"
複数の解決策を試しましたが、("DOMAIN\groupname"+':C')
がなくても機能します。
クレイトンが指摘したように、アクセス制御はM
ではなくC
になります。さらに、コマンドラインで挿入する追加の文字のほとんどは必要ないことにも注意します。 PowerShellは、あまり「ヘルプ」なしでコマンドラインを解析するのが得意です。これは期待どおりに機能するはずです。
icacls C:\Temp\ACL /T /C /grant Everyone:F System:F Administrators:F DOMAIN\GroupName:M
スペースが含まれている場合にのみ、引用符を含める必要があります(これは、cmd.exe
プロンプトでコマンドを入力する場合と同じです)。場合によっては、少し変更する必要がありますが、ほとんどの場合「うまくいく」だけです。
詳細については、次の記事を参照してください。
これを行う古いスクリプトがありました...あなたのコードは私のものと非常によく似ていました。しかし、私はフルコントロールを付与し、あなたは変更を付与していました。 SUBINACL
、CALCS
などの他のCLIツールは変更に「C」を使用しましたが、ICACLS
は変更に「M」を使用することを決定したようです。
("DOMAIN\groupname"+':C')
を("DOMAIN\groupname"+':M')
に変更すると、運が良くなります
ICACLSの使用法の出力から:
perm is a permission mask and can be specified in one of two forms:
a sequence of simple rights:
N - no access
F - full access
M - modify access
RX - read and execute access
R - read-only access
W - write-only access
D - delete access