0

我找到了以下脚本,它对我有很大帮助。此脚本使用给定根路径中的每个用户的权限创建一个 CSV 文件。如果此路径的子项目具有权限更改,则脚本也会创建一条记录。不幸的是,我不知道如何区分继承中断和用户或组的新权限。CSV 文件中的两条记录看起来相同。

function Get-PathPermissions {
  param ( [Parameter(Mandatory=$true)] [System.String]${Path} )

  begin {
    $root = Get-Item $Path
    ($root | get-acl).Access | Add-Member -MemberType NoteProperty -Name "Path" -Value $($root.fullname).ToString() -PassThru
  }

  process {
    $containers = Get-ChildItem -path $Path -recurse | ? {$_.psIscontainer -eq $true}
    if ($containers -eq $null) {break}
    foreach ($container in $containers)
    {
      (Get-ACL $container.fullname).Access | ? { $_.IsInherited -eq $false } | Add- ember -MemberType NoteProperty -Name "Path" -Value $($container.fullname).ToString() -PassThru
    }
  }
}

Get-PathPermissions $arg[0] | Export-Csv $outputFileName -Delimiter ";"

有人知道如何解决我的问题吗?

4

0 回答 0