none
通过powershell或者cmd命令清除共享权限 RRS feed

  • Question

  • 你好

    我们公司目前共享权限比较混乱,重新规划整理又没有太多的存储空间,现在想清除某个共享访问权限,这样可以重新设置

    \\192.168.130.135\china\test\test01\test02\test03\test04\

    从china清除所有权限

    Monday, 21 June 2021 1:58 AM

All replies

  • 您好,

    假设要清除\\192.168.130.135\china\这个目录上面用户CONTOSO\testuser的所有权限,那么可以这样

    $path = "\\192.168.130.135\china"
    $user = "CONTOSO\testuser"
    $acl = Get-Acl -Path $path
    $aceAllow = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"allow")
    $aceDeny = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"deny")
    $acl.RemoveAccessRuleall($aceAllow)
    $acl.RemoveAccessRuleall($aceDeny)
    $acl | Set-Acl -Path $path  

    如您还有其他疑问,请随时与我们联系。如果回答是有帮助的,请将其标记为答案,可以帮助其他有相同问题的社区成员快速找到有用的答复。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    • Edited by Ian Xue Monday, 21 June 2021 3:24 AM
    Monday, 21 June 2021 3:23 AM
  • 你好

    CONTOSO\testuser 这个我也是这么写吗

    Monday, 21 June 2021 5:10 AM
  • 你好

    你上面这个CONTOSO\testuser 这里我是需要修改为什么还是我也需要这么写的

    Monday, 21 June 2021 5:13 AM
  • 您好,

    这里CONTOSO\testuser只是一个例子,需要修改成实际需要设置的用户。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Monday, 21 June 2021 5:40 AM
  • 你好

    你说的这个设置为实际需要修改的用户我没太明白,我是想清除所有权限,你说的这个用户是管理员或者是有权限的用户吗

    Monday, 21 June 2021 9:01 AM
  • 您好,

    这个CONTOSO\testuser指的是需要被清除权限的用户。比如下图中,当前testuser这个用户在目录上有读写等权限

    那么脚本执行后,testuser用户在目录上的所有权限就会被清除。下图可以看到已经没有了testuser用户。

    至于您说的管理员或者权限用户,应该是运行这个脚本的账户。

    如您还有其他疑问,请随时与我们联系。如果回答是有帮助的,请将其标记为答案,可以帮助其他有相同问题的社区成员快速找到有用的答复。


    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.



    • Edited by Ian Xue Monday, 21 June 2021 10:17 AM
    Monday, 21 June 2021 10:15 AM
  • 你好

    这里可以用条命令清除所有用户权限吗?我这里一级目录有的有50多个用户,二级目录,三级目录下来一起用200多个用户

    我是想清除所有用户权限就跟刚刚部署共享服务一样,为用户全部重新规划相应的权限


    • Edited by dnake668 Tuesday, 22 June 2021 2:20 AM 内容没有写完
    Tuesday, 22 June 2021 2:19 AM
  • 试一下删除最顶级目录的所有用户,一般来说子目录的用户都会继承上级目录的权限,删除了最顶级目录的权限,子目录继承的权限也会被删除。除非特别设置过禁用继承。
    Tuesday, 22 June 2021 3:32 AM
  • 您好,

    就像上面Chen.Chen2提出的,不知道这些二三级目录的权限是不是从顶层继承的。如果是的话,只需要删除顶层的\\192.168.130.135\china目录的权限。可以试下这个脚本,其中$ExcludeUser是需要继续保留权限的用户,您可以根据实际情况自行设置

    $path = "\\192.168.130.135\china"
    $ExcludeUser = ("CONTOSO\Administrator","NT AUTHORITY\SYSTEM","BUILTIN\Administrators")
    $acl = Get-Acl -Path $path
    $users = $acl.Access.IdentityReference | Where-Object {$_ -notin $ExcludeUser}
    foreach($user in $users){
        $AceAllow = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"allow")
        $AceDeny = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"deny")
        $acl.RemoveAccessRuleall($AceAllow)
        $acl.RemoveAccessRuleall($AceDeny)
    }  
    $acl | Set-Acl -Path $path

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Tuesday, 22 June 2021 4:21 AM
  • 您好,

    请问上面的回复能否解决您的问题?

    如您还有其他疑问,请随时与我们联系。如果回答是有帮助的,请将其标记为答案,可以帮助其他社区成员快速找到有用的答复。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Wednesday, 23 June 2021 6:27 AM
  • 您好,

    请问上面的回复能够解决您的问题吗?

    如果回答是有帮助的,请将其标记为答案。如您还有其他疑问,可以随时回帖与我们联系。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Thursday, 24 June 2021 8:10 AM
  • 你好

    这样确实可以删除根目录下的所有用户权限,但是子目录的权限都在的,能不能连同子目录权限一同删除的

    公司设置目录权限的时候根目录很少有继承,基本都是设置的此文件权限,然后二级目录三级目录都是次文件夹权限,特殊用户会给所有继承权限的

    Wednesday, 30 June 2021 7:00 AM
  • 您好,

    可以试下这个。假设要清除\\192.168.130.135\china\这个一级目录下的二三级目录权限

    $path = "\\192.168.130.135\china"
    $ExcludeUser = ("CONTOSO\Administrator","NT AUTHORITY\SYSTEM","BUILTIN\Administrators")
    $dirs = Get-ChildItem $path -Directory
    $dirs += Get-ChildItem $path -Directory | Get-ChildItem -Directory 
    foreach($dir in $dirs){
        $acl = Get-Acl -Path $dir
        $users = $acl.Access.IdentityReference | Where-Object {$_ -notin $ExcludeUser}
        foreach($user in $users){
            $AceAllow = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"allow")
            $AceDeny = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"deny")
            $acl.RemoveAccessRuleall($AceAllow)
            $acl.RemoveAccessRuleall($AceDeny)
        }  
        $acl | Set-Acl -Path $dir
    }

    如您还有其他疑问,请随时与我们联系。如果回答是有帮助的,请将其标记为答案,可以帮助其他社区成员快速找到有用的答复。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Wednesday, 30 June 2021 7:43 AM
  • 你好

    跑了这个之后发现一级目录权限都清除不掉,而且说找不到里面目录,而且3级目录权限都在的

    Wednesday, 30 June 2021 8:45 AM
  • 您好,

    上面这个没有操作一级目录。下面这个加上了一级目录,请重新试下。

    $path = "\\192.168.130.135\china"
    $ExcludeUser = ("CONTOSO\Administrator","NT AUTHORITY\SYSTEM","BUILTIN\Administrators")
    $dirs = @()
    $dirs += Get-Item -Path $path 
    $dirs += Get-ChildItem -Path $path -Directory
    $dirs += Get-ChildItem -Path $path -Directory | Get-ChildItem -Directory 
    foreach($dir in $dirs){
        $acl = Get-Acl -Path $dir.FullName
        $users = $acl.Access.IdentityReference | Where-Object {$_ -notin $ExcludeUser}
        foreach($user in $users){
            $AceAllow = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"allow")
            $AceDeny = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"deny")
            $acl.RemoveAccessRuleall($AceAllow)
            $acl.RemoveAccessRuleall($AceDeny)
        }  
        $acl | Set-Acl -Path $dir.FullName
    }


    如您还有其他疑问,请随时与我们联系。如果回答是有帮助的,请将其标记为答案,可以帮助其他社区成员快速找到有用的答复。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Wednesday, 30 June 2021 9:14 AM
  • 你好

    现在是可以清除目录权限一级二级三级目录,但是四级目录的权限还是存在,这个是不是只能清除到三级目录呢,是否可以清除所有目录权限呢,我们这里最多有8级目录,常规也有5级目录的

    Thursday, 1 July 2021 6:25 AM
  • 您好,

    假设要清除\\192.168.130.135\china\这个目录以及下面所有的子目录的话,可以试下这个

    $path = "\\192.168.130.135\china"
    $ExcludeUser = ("CONTOSO\Administrator","NT AUTHORITY\SYSTEM","BUILTIN\Administrators")
    $dirs = @()
    $dirs += Get-Item -Path $path 
    $dirs += Get-ChildItem -Path $path -Recurse -Directory
    foreach($dir in $dirs){
        $acl = Get-Acl -Path $dir.FullName
        $users = $acl.Access.IdentityReference | Where-Object {$_ -notin $ExcludeUser}
        foreach($user in $users){
            $AceAllow = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"allow")
            $AceDeny = New-Object System.Security.AccessControl.FileSystemAccessRule ($user,1,"deny")
            $acl.RemoveAccessRuleall($AceAllow)
            $acl.RemoveAccessRuleall($AceDeny)
        }  
        $acl | Set-Acl -Path $dir.FullName
    }

    如您还有其他疑问,请随时与我们联系。如果回答是有帮助的,请将其标记为答案,可以帮助其他社区成员快速找到有用的答复。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Thursday, 1 July 2021 8:07 AM
  • 你好

    这个操作清除目录权限知道三级目录,四级以下目录权限没有被清除掉

    Friday, 2 July 2021 3:07 AM
  • 您好,

    如果是这样那需要检查

    1.脚本运行是否有报错

    2.运行脚本的用户是否能修改四级以下的目录权限

    3.运行$dirs检查输出结果中是否包含四级以下的目录

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    • Edited by Ian Xue Friday, 2 July 2021 6:57 AM
    Friday, 2 July 2021 4:10 AM
  • 您好,

    请问您的问题解决了吗?如果还有其他疑问,请随时与我们联系。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Tuesday, 6 July 2021 2:57 AM