【问题标题】:Save ACL if parent folder does not have the same permissions as the current如果父文件夹没有与当前文件夹相同的权限,则保存 ACL
【发布时间】:2016-10-10 09:57:30
【问题描述】:

我的目标是读取驱动器文件夹的用户权限并将其保存到文件中。

脚本应检查父文件夹的权限并将其与当前文件夹进行比较。如果权限等于当前文件夹,则不应保存它们。

我的尝试如下:

ls -r | Where-Object { $_.mode -notmatch "a" } | %{ 
    $path = Get-Location 
    if(((Get-Location | Get-Acl).AccessToString) -ne (((Get-Item $path).parent.FullName) | Get-Acl).AccessToString){
        Get-Location | Get-Acl | Export-Csv -Delimiter ";" c:\ACL1.csv
     }
}

不幸的是,我不知道 ls (Get-Childitem) 命令的执行过程以及如何解决 ls “执行列表” ... $path 的尝试失败并带有缺陷说明

【问题讨论】:

  • 如果这有助于或回答您的问题,请查看下面的答案投票或接受它。如果答案没有回答您的问题,请写下关于原因的评论。

标签: powershell permissions user-permissions get-childitem


【解决方案1】:

尝试以下方法:

Get-ChildItem -Recurse `
    | Where-Object{ $_.PSIsContainer -eq $true } `
    | ForEach-Object { 
        $currentACL = Get-Acl $_.FullName
        $parentACL = Get-Acl ($_.FullName | Split-Path -Parent)
        if($currentACL.AccessToString -ne $parentACL.AccessToString ){
            $currentACL | Export-Csv -Delimiter ";" c:\ACL1.csv -Append
        }
     }

这将通过目录检查当前文件夹与其父文件夹(上一级)的权限来回避。如果权限不匹配,则当前文件夹的ACL 将附加到CSV 文件c:\ACL1.csv

【讨论】:

    猜你喜欢
    • 2020-03-23
    • 2016-04-14
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多