编辑
2020-07-21
DevOps
00
请注意,本文编写于 1384 天前,最后修改于 654 天前,其中某些信息可能已经过时。

目录

修改文件权限
修改访问文件夹权限

最近在压缩文件夹的时候,发现有几个文件不得劲,总是权限不允许,用管理员身份运行也不太行,遂用powersehll改一下权限

修改文件权限

Get-Acl -Path <File or Folder Path> | Format-List

修改文件访问权限需要用到Set-Acl命令,使用-Path参数指定要修改的文件路径,使用-AclObject参数指定一个对象,该对象相当于一个ACL模板,此ACL模板指定了用户访问资源的权限设定。该对象的设定需要调用"System.Security.AccessControl.FileSystemAccessRule"类。

设置脚本:

$account = "test\test" $FileSystemRights = "FullControl" $objType = [System.Security.AccessControl.AccessControlType]::Allow $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ($account,$FileSystemRights,$objType) $Folder = "W:\Test\test.txt" $acl = Get-Acl $Folder $acl.SetAccessRule($accessRule) Set-Acl -Path $Folder -AclObject $acl

修改访问文件夹权限

与修改文件访问权限类似,同样应用Set-Acl命令,只是在调用FileSystemAccessRule时可以多指定参数InheritanceFlags和PropagationFlags来指定访问权限的设定是否被子文件或子文件夹继承: 设置脚本:

$account = "test01win2k8r2\test" $FileSystemRights = "FullControl" $InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::ObjectInherit $PropagationFlag = [System.Security.AccessControl.PropagationFlags]::None $objType = [System.Security.AccessControl.AccessControlType]::Allow $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ($account,$FileSystemRights,$InheritanceFlag,$PropagationFlag,$objType) $Folder = "W:\Test\" $acl = Get-Acl $Folder $acl.SetAccessRule($accessRule) Set-Acl -Path $Folder -AclObject $acl
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:mereith

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!