Windows
無法在 Windows Server 2012 上使用 ICACLS 分配組權限
我無法讓 icacls 接受我的組以添加權限。我正在使用帶有以下命令的提升的電源外殼:
icacls 'C:/foo' /grant:r 'Group Foo':f
我收到以下錯誤:
Invalid parameter "Group Foo"
我也嘗試過使用 SUID,但也失敗了。我也試過’Domain\Group Foo'
我有一堆文件試圖讓一個組使用。在 Windows Server 2012 中添加海量權限的正確方法是什麼?
- 編輯 -
E:\> icacls "E:/Contact Numbers.xlsx" /grant:r "Users":f Invalid parameter "Users"
使用雙引號而不是單引號:
C:\>mkdir foo C:\>icacls 'C:/foo' /grant:r 'Users':f 'Users': No mapping between account names and security IDs was done. Successfully processed 0 files; Failed processing 1 files C:\>icacls "C:/foo" /grant:r "Users":f processed file: C:/foo Successfully processed 1 files; Failed processing 0 files
我錯過了您使用的是 Powershell,而不是
cmd
. Powershell 在混合外部命令和引用時有一些奇怪的地方。下面是幾個使用 Powershell 的範例。PS v2:要將引號傳遞給
icacls
您必須用插入符號轉義它們。注意“F”周圍的括號也需要轉義。PS C:\>icacls `"C:/foo`" /grant:r `"Users`":`(F`)
PS v3:版本 3 提供了一個新的轉義序列
--%
(破折號、破折號、百分比),它轉義了行的其餘部分。這使得複雜的外部參數變得簡單。PS C:\>icacls --% "C:/foo" /grant:r "Users":F