icacls.exe 在 Windows 10 操作系统上无法正常工作

问题描述 投票:0回答:1

我正在使用安装程序,它调用 icacls.exe 使用 powershell 设置文件夹权限,以便删除“用户”权限(如果已允许)并为管理员和 IIS 用户提供权限。剧本是

$folderPermissionList = (Get-Acl "C:\Program Files\Workspace").Access | ?{$_.IdentityReference -match "$BUILTIN\\Users"} | Select IdentityReference,FileSystemRights
If($folderPermissionList.FileSystemRights -match "FullControl")
{
   Write-Host "Inside condition"
   & icacls.exe "C:\Program Files\Workspace" /Q /T /remove "BUILTIN\Users"
}
   Write-Host "outside condition"
   & icacls.exe "C:\Program Files\Workspace" /Q /T /grant "BUILTIN\Administrators:`(OI`)`(CI`)`(F`)"
   & icacls.exe "C:\Program Files\Workspace" /Q /T /grant "BUILTIN\IIS_IUSRS:`(OI`)`(CI`)`(F`)"

上述脚本在 Windows 服务器上可以运行,但在 Windows 10 操作系统中无法运行。尝试使用 Powershell 也没有任何响应,它被挂在 icacls 命令中。

Powershell版本:5.1.19041.1151 Windows 10 企业版 [21H1]

注意:以提升的权限执行并且卡住了[参考随附的结果]

知道为什么它不能在 Windows 10 上执行吗?或其他方法来设置权限而不会出现任何此类问题?

powershell file-permissions icacls
1个回答
0
投票

我也遇到同样的困难 “dir -Force”在父目录上告诉“d-r---”,在目录中的唯一文件上告诉“-a-hs-”。 icacls 告诉“完成”但没有改变任何内容,“rm”仍然被拒绝。 get-acl 说的是“完全控制”

=> 我从 wsl ubuntu 中执行了“rm -rf”,它很容易工作:-)

© www.soinside.com 2019 - 2024. All rights reserved.