windows - 在 Windows 10 上,授予用户在文件夹 C :\VMs, 中创建、编辑和删除文件的权限,但禁止删除文件夹本身

标签 windows powershell virtual-machine

我需要用户能够访问和修改文件夹 C:\VMs 中的内容。我正在使用 https://ss64.com/nt/icacls.html作为指南。在页面底部有一个命令列表,可以完全满足我的需要,但第一个命令不起作用。

我在 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...

我尝试过使用不同的间距和引号等进行各种迭代,但没有任何运气。

最佳答案

问题是 brackets have a special meaning in Powershell .如果要将它们按原样传递给外部程序,则必须引用它们。您链接到的文章假设您使用的是旧版命令 shell,在这种情况下,括号没有特殊含义。

完成这项工作的一种方法是使用反引号作为转义字符:

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 上就可以了。

关于windows - 在 Windows 10 上,授予用户在文件夹 C :\VMs, 中创建、编辑和删除文件的权限,但禁止删除文件夹本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45512216/

相关文章:

excel - 导入的带有公式的 .csv 文件

azure - 如何将 Azure 中的 Azure RM 资源与其 EA 门户中的计费信息结合起来?

使用 2 个不同前端 IP 的 Azure 内部负载均衡器

使用主机在虚拟机中运行的调试代码

从命令行运行 phpunit 返回 "' phpunit' 未被识别为内部或外部命令、可运行程序或批处理文件。”

python - 如何使用 Python key 环检索用户名?

sql-server - 如何使用 INSERT INTO OPENROWSET 导出到 Excel 而无需成为目标服务器上的管理员

python - 谷歌浏览器 - 如何激活谷歌浏览器并切换到特定的标签窗口?

powershell - 如何将 powershell 脚本设置为仅显示简短的错误描述

python - Windows 上是否有 time.clock() 的替代精确计时器?