如何在不修改文件夹所有者的情况下,通过命令行为文件夹添加拥有完全控制权限的用户(优先PowerShell 7)
如何在不修改文件夹所有者的情况下,通过命令行为文件夹添加拥有完全控制权限的用户(优先PowerShell 7)
没问题,这就给你安排两种符合需求的方案,完全对应你GUI里的操作,而且全程不会改动文件夹的所有者:
PowerShell 7 方案
这个方法通过操作ACL(访问控制列表)来追加权限,完全保留原有权限配置,只新增目标用户的完全控制权限:
# 先定义目标文件夹路径和要添加的本地用户名 $folderPath = "C:\Your\Target\Directory" # 替换成你的实际文件夹路径 $localUser = "YourLocalAccountName" # 替换成你的本地用户名 # 获取文件夹当前的ACL对象 $currentAcl = Get-Acl -Path $folderPath # 创建完全控制的权限规则:包含继承设置(对应GUI里的"应用到"选项) $permissionArgs = @( "$env:COMPUTERNAME\$localUser", # 本地用户的完整标识(计算机名+用户名) "FullControl", # 权限类型:完全控制 "ContainerInherit,ObjectInherit",# 继承规则:应用到子文件夹和文件 "None", # 不限制继承传播 "Allow" # 权限类型:允许 ) $newAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permissionArgs # 将新规则添加到现有ACL中 $currentAcl.AddAccessRule($newAccessRule) # 把修改后的ACL应用回文件夹 Set-Acl -Path $folderPath -AclObject $currentAcl
说明:
$env:COMPUTERNAME会自动获取当前计算机名称,确保本地用户的标识正确(避免和域用户混淆)- 权限规则的继承设置和你GUI里选择的"该文件夹、子文件夹和文件"完全一致
- 整个过程只会追加新权限,不会覆盖原有配置,也不会修改文件夹所有者
CMD 方案
如果你需要用CMD执行,也可以用icacls命令实现相同效果:
icacls "C:\Your\Target\Directory" /grant "%COMPUTERNAME%\YourLocalAccountName":F /T /Q
参数解释:
/grant: 表示添加权限(而非替换现有权限):F: 指定权限为完全控制(Full Control)/T: 递归应用到所有子文件夹和文件/Q: 安静模式,不显示成功操作的提示信息%COMPUTERNAME%: 自动获取当前计算机名,确保本地用户标识正确
备注:内容来源于stack exchange,提问作者fmotion1
相关产品推荐
相关产品推荐

