kilrathi
Goto Top

AD Share NTFS Berechtigungen ausgeben lassen - ERGÄNZUNG

Hallo Leute,

da mir auf meine letzte Frage schon so super und schnell geholfen wurde, versuche ich es bei meinem neuen Problem natürlich erneut.

Ausgangslage ist folgendes Problem:

AD Share NTFS Berechtigungen ausgeben lassen

Das gewünschte Skript konnte durch die zahlreichen Antworten und Hilfestellungen erstellt werden. Danke nochmal für die Unterstützung.
Hier die aktuelle Variante:

Auf Share1 hat die Gruppe "Muster" mit dem Mitgliedern Max und Maria Mustermann z.B. write Berechtigungen. Ich frage den Share ab, erhalte die Gruppe und dadurch dann die Gruppenmitglieder (aktuell in einer Spalte, durch Komma getrennt.

Folder Rights GroupMember
Share1 write Muster MusterMax, MusterMar

Nun soll das Ganze allerdings erweitert bzw. modifiziert werden.

Es ist eine CSV Datei für jeden Share gedacht mit folgendem Aufbau:

Folder Rights Member DisplayNameDepartment
Share1 write MusterMax Mustermann, Max 111000
Share1 write MusterMar Mustermann, Maria 111001


Meine Frage:
Ist ein solcher Aufbau überhaupt möglich? Ich erhalte die Member ja nicht direkt und einzeln, sondern durch eine Get-ADGroupmember Abfrage der jeweiligen Gruppe, die Berechtigungen auf dem Share besitzt.
dh. ist es machbar, dass man die Auflistung der Gruppenmitglieder nicht in einer Spalte, sondern in mehreren Zeilen erreichen kann? Wenn ja, dann ist es auch bestimmt möglich für die einzelnen Mitglieder die DisplayNames sowie deren Department anzeigen zu lassen.


Ich hoffe ihr versteht meine Frage und könnt mir diesbezüglich helfen.
Einen schönen Start in die Woche und viele Dank schon mal für die Hilfe

Viele Grüße
Kilrathi

Content-ID: 279753

Url: https://administrator.de/contentid/279753

Ausgedruckt am: 28.11.2024 um 15:11 Uhr

kilrathi
kilrathi 11.08.2015 um 15:43:30 Uhr
Goto Top
$folders = gci \\def-svr2\e$ | ?{$_.PSIsContainer}
foreach ($folder in $folders) {
            $accessrules = @()

            $acl = Get-Acl $folder.FullName
            $acl.GetAccessRules($true,$IncludeInheritedRights,[System.Security.Principal.NTAccount]) | %{
            $Names= Get-ADGroupmember $_.IdentityReference.toString().split('\') [1]  | select-expand Name  
            foreach($name in $Names){
            $accessrules += New-Object PSObject -Property @{
                    "Folder" = $folder.FullName  
		            "Rights" = $_.FileSystemRights  
                    "Account" = $_.IdentityReference  
                    "Member" = $name  
			 }
}

return $accessrules  | sort Folder,Account | select Folder, Rights, Account, Member  | export-csv "C:\$folder.csv" -NoType -Delimiter ";" -Encoding UTF8  

}
}

Das Skript gibt mir jetzt die Gruppenmitglieder in einzelnen Zeilen aus
Jetzt fehlt nur noch die jeweilige Anzeige des Displaynames und des Departments in jeder Zeile.

Viele Grüße
Kilrathi