2017-08-04 80 views
1

我需要用戶能夠訪問和修改文件夾C:\中的內容虛擬機。我使用https://ss64.com/nt/icacls.html作爲指導。在頁面的底部有一個命令列表來完成我所需要的,但第一個命令不起作用。在Windows 10上,授予用戶創建,編輯和刪除文件夾C: VMs中的文件的權限,但是防止刪除文件夾本身

在PowerShell中,我打字

icacls.exe "C:\VMware" /inheritance:r /grant:r testuser:(OI) (CI) (F) 

,並正在錯誤

The term 'OI' is not recognized as the name of a cmdlet... 

我使用不同的間距和報價,喜歡嘗試各種迭代,但還沒有任何運氣。

回答

2

問題是,brackets have a special meaning in Powershell。如果要將它們按原樣傳遞給外部程序,則必須引用它們。您鏈接到的文章假設您使用的是舊式命令外殼,在此情況下,該命令外殼並未賦予括號特殊的含義。使這項工作

一種方法是使用反引號作爲轉義字符:

icacls test /grant Everyone:`(OI`)`(CI`)`(RX`) 

既然你運行的是Windows 10,你可以使用stop-parsing symbol代替:

icacls test --% /grant Everyone:(OI)(CI)(RX) 

停止 - 解析符號需要Powershell 3或更高版本,所以它不能在Windows 7機器上直接使用,但在Windows 10上,您會好起來的。

相關問題