You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell删除指定账户对所有子文件夹的权限

权限批量移除方案

方法1:使用系统内置icacls工具(推荐)

icacls是Windows自带的权限管理工具,原生支持递归操作,不需要手动处理遍历逻辑、继承关系,实现起来最简单稳定:

# 递归移除目标路径及所有子项中指定账户的全部权限
icacls $folderPath /remove:g "BUILTIN\Users" /t /c

参数说明:

  • /remove:g:清除指定账户的所有授予类权限
  • /t:递归应用到目标路径下的所有子文件夹、子文件
  • /c:遇到权限不足等错误时继续执行后续操作,不会中途终止
    如果子文件夹已经手动禁用了继承,该命令也会自动处理子项内的显式权限,不需要额外操作。

方法2:纯PowerShell原生实现

如果需要完全使用PowerShell cmdlet实现,也不需要手动排序子文件夹,直接使用Get-ChildItem的递归参数即可:

# 配置变量
$folderPath = "替换为你的目标文件夹路径"
$targetAccount = [System.Security.Principal.NTAccount]'BUILTIN\Users'

# 处理根文件夹权限
$rootAcl = Get-Acl $folderPath
# 若不需要禁用根目录继承,可删除下一行
$rootAcl.SetAccessRuleProtection($true, $true)
$rootAcl.PurgeAccessRules($targetAccount)
Set-Acl $folderPath $rootAcl

# 递归处理所有子文件夹
Get-ChildItem -Path $folderPath -Directory -Recurse -Force | ForEach-Object {
    $subAcl = Get-Acl $_.FullName
    $subAcl.PurgeAccessRules($targetAccount)
    Set-Acl $_.FullName $subAcl
}

对于没有禁用继承的子文件夹,根目录权限修改后继承的对应权限会自动失效,上述脚本只会额外清理已禁用继承的子文件夹中的显式权限,不会产生冗余操作。

内容的提问来源于stack exchange,提问作者managerger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 10:21:02