1

icacls を使用してファイルの ACL を修正しようとしています。このファイルを管理者が所有し、管理者のみがアクセスできるようにします。管理者をファイルの所有者にする方法を見つけました。セキュリティ リストからグループを削除する方法は知っていますが、管理者グループ以外のすべてのグループを削除する方法はわかりません。他のグループ。

管理者のみにファイルへのアクセスを許可し、他のユーザー/グループがあればそれを削除することを Windows に伝える方法を探しています。

ワイルドカード文字を使用してみましたが、うまくいきません。

これが私のスクリプトです:

$domain     = [Environment]::UserDomainName
$user       = [Environment]::UserName
icacls $myinvocation.mycommand.path /setowner "$domain\$user" /T
icacls $myinvocation.mycommand.path /grant "$domain\$user"

icacls $myinvocation.mycommand.path
4

1 に答える 1

4

:r理論的には、付与後に使用できます(ドキュメントを参照)。しかし、実際には、私はこれを機能させることができませんでした。「指定したユーザーだけの:rパーミッションを置き換える」という意味だと思います。

Powershell で次のソリューションをテストしましたが、問題なく動作します。

# Reset the folder to just it's inherited permissions
icaclsname c:\temp\test /reset 

# Then, disable inheritance and remove all inherited permissions
icacls c:\temp\test /inheritance:r

# Note the :r after grant. It's not now needed, but I've left it in anyway.
# Permissions replace previously granted explicit permissions.
# Also note the :F, where : is escaped with `. This grants FULL CONTROL.
# You can replace F with whatever level of control is required for you.
icacls c:\temp\test /grant:r $domain\$user`:F
于 2012-10-09T14:07:33.677 に答える