Hi zusammen,
Ich nochmal zu diesem Thema:
Diesmal mit Erweiterung des Ganzen. Vielleicht könnt Ihr mir ja nochmal weiterhelfen.
Das Skript durchsucht ja wie bereits erwähnt diverse Shares nach "Berechtigungsgruppen"
Diese Gruppe beinhalten 2 Arten von Members:
- User:
Diese werden durch das Skript richtig ausgegeben, dabei werden der Displayname, das Department sowie die Berechtigungen der Berechtigungsgruppe auf dem Share angezeigt... alles gut soweit
- Abteilungsgruppen:
Hier sind Gruppen in der Berechtigungsgruppe. Auch diese werden durch die aktuelle Variante vom Skript ausgegeben, samt Members und Department ...
Allerdings werden in diesem Fall die Berechtigungen der Berechtigungsgruppe nicht angezeigt!!
$folders = gci \\def-svr1\e$ |?{$_.PSIsContainer}foreach($folder in $folders){ $accessrules =@() $acl =Get-Acl $folder.FullName $acl.GetAccessRules($true,$IncludeInheritedRights,[System.Security.Principal.NTAccount])|%{try{ $test =Get-ADGroup $_.IdentityReference.toString().split('\')[1] | select -expand Samaccountname $names = Get-ADGroupmember $_.IdentityReference.toString().split('\')[1]|select-expand Samaccountname}Catch{"System ist kein gültiger User"}foreach($name in $names){if($_.IdentityReference.toString().split('\')[1] -ne "Administrators"){ if ($_.IdentityReference.toString().split('\')[1]-ne "Administratoren"){if($_.IdentityReference.toString().split('\')[1] -ne "SYSTEM"){ try{ $UserData = Get-ADUser $name -properties Displayname, Department | select Displayname, Department $accessrules += New-Object PSObject -Property @{"Folder" = $folder.FullName"Berechtigungsgruppe" = $test #$_.IdentityReference"Abteilungsgruppe" = $NULL"Member" = $name"Displayname" = ($UserData.DisplayName)"Department" = ($UserData.Department)"Rights" = $_.FileSystemRights } #Ende Object } Catch { try{ $memb = Get-ADGroupmember $name | select -expand Samaccountname }Catch {"System ist kein gültiger User"} foreach($membr in $memb) { if ($_.IdentityReference -ne "Administrators"){ if ($_.IdentityReference -ne "Administratoren"){ if ($_.IdentityReference -ne "SYSTEM"){ $UserData = Get-ADUser $membr -properties Displayname, Department | select Displayname, Department $accessrules += New-Object PSObject -Property @{"Folder" = $folder.FullName"Berechtigungsgruppe" = $test"Abteilungsgruppe" = $name"Member" = $membr"Displayname" = ($UserData.DisplayName)"Department" = ($UserData.Department)"Rights" = $test.FileSystemRights } #Ende Object }}} } }}}} } #Ende Schleife $names return $accessrules | sort Folder,Account | select Folder, Berechtigungsgruppe, Abteilungsgruppe, Member, Displayname, Department, Rights | export-csv "C:\$folder.csv" -NoType -Delimiter ";" -Encoding UTF8 } }
Jemand eine Idee was geändert werden muss, damit auch bei den Berechtigungsgruppen, die Abteilungsgruppen als Member haben, die Rechte auf den jeweiligen Share ordnungsgemäß angezeigt werden??
Danke im Voraus
Michael