团队,有人能帮我对脚本做以下更改吗?
它所做的一切都很完美,但是当它检查权限时,它似乎无法区分文件夹上的 ALLOW 或 DENY 权限。我需要将其分解以确认用户是否对所有文件夹具有 Allow Permissions 或 Dent 权限。
有没有一种简单的方法可以将其分解为组或部门?例如 T:\IT 部门 - 然后是其下的所有文件夹。T:\Accounts 部门 - 然后是其下的所有文件夹?我需要用户而不是组,如果出现组,我需要展开该组以显示该组中的所有用户及其权限。
再次感谢。
$exclude = @(
'CREATOR OWNER'
'NT AUTHORITY\SYSTEM'
'BUILTIN\Administrators'
'XYZ\Domain Admins'
)
$RootPath = "S:\Groups\DEPARTMENTS"
$folders = [array](Get-Item -Path $RootPath)
$folders += Get-ChildItem -Path $RootPath -Recurse -Directory
$acls = foreach ($Folder in $Folders){
get-acl $Folder.fullname |
Select-Object -ExpandProperty Access |
Where-Object {
-not $_.IsInherited -and
$exclude -notcontains $_.IdentityReference
} |
Select-Object -Property *,@{
'Name' = 'Folder'
'Expression' = {
$Folder.FullName
}}
}
$acls | Export-Csv -NoTypeInformation -Path C:\NTFS\DEPARTMENTS1.csv