使用 icacls 设置文件夹权限



我很尴尬,我不得不问这个问题,但是由于Powershell中icacls语法显然发生了变化,我似乎无法组装一个工作命令。

我想做什么:

我想从特定文件夹中删除所有权限,然后添加"当前登录用户"和"系统"以具有完全控制权限。但不是管理员或其他任何东西。

我有什么:

icacls $MyFolder /inheritance:r /grant: $DomainEnv:Username:(OI)(CI)F /T /grant: SYSTEM:(OI)(CI)F /T

但是每次执行命令时都会收到错误

(OI((CI(/T 尚未被识别为 cmdlet 或命令...

我已经在互联网上阅读了一些技巧,为参数使用不同类型的引号或反引号,但对我没有任何用处。

谁能告诉我我在这里做错了什么?

正如你所暗示的,这里的问题不是语法icacls在PowerShell中发生了变化,而是PowerShell在执行接受参数的外部命令(可执行文件(时可能会表现得很奇怪。

有几种方法可以处理参数,其中一种方法是将它们作为字符串数组传递:

$IcaclsArgs = @(
$MyFolder,
"/inheritance:r",
"/grant",
"$Domain$($Env:Username):(OI)(CI)F",
"/T",
"/grant",
"SYSTEM:(OI)(CI)F",
"/T"
)
& icacls @IcaclsArgs

相关内容

  • 没有找到相关文章

最新更新