Auslesen der ACL, Scriptproblem mit der SID

Status
Für weitere Antworten geschlossen.

NSFH

Benutzer
Sehr erfahren
Mitglied seit
09. Nov 2016
Beiträge
3.987
Punkte für Reaktionen
517
Punkte
174
Hallo!
Ich habe jetzt ein wirklich geniales, funktionsfähiges Script, welches die ACL einer Freigabe oder eines Ordners der Syno ausliest und als xml oder csv Datei speichert.(Auf der Syno läuft übrigens kein AD!)
Einen Fehler gibt es aber noch, der es trotz aller Funktionalität nur eingeschränkt brauchbar macht.
Es wird beim Auslesen der Nutzer immer nur die SID des Nutzers/Gruppe ausgelesen, aber nicht dessen realer Name. Mit der kryptischen SID kann man aber nicht viel anfangen.
Wenn ich unter Windows mit dem Explorer auf einen Ordner/Datei klicke > Eigenschaften > Sicherheit dauert es immer einige Sekunden, bis in der Anzeige der Zugriffsberechtigungen die SID in Realname wechselt.
Damit funktioniert die Darstellung der ACL Nutzernamen unter Windows definitiv.
Auch wenn ich dem Script an der passenden Stelle eine Pause gönne liest es nur die SID aus.

Hat jemand eine Idee, was ich ändern könnte?

Alternativ: Wie kann ich alle SID+Nutzer-/Gruppenname der Syno auslesen? So könnte ich über einen Umweg die ausgelesene SID durch den Realnamen austauschen.
Den entscheidenden Teil zum Auslesen der ACL habe ich hier mal angefügt. Läuft unter der Powershell von Windows.
Danke für euer Feedback.


function List-FolderRights{
param(
[parameter(mandatory=$true)][string]$RootFolder,
[bool]$IncludeInheritedRights = $true
)
$accessrules = @()
$folders = gci $RootFolder -Recurse | ?{$_.PSIsContainer}
foreach($folder in $folders){
try{
$acl = Get-Acl $folder.FullName
$acl.GetAccessRules($true,$IncludeInheritedRights,[System.Security.Principal.NTAccount]) | %{
$accessrules += New-Object PSObject -Property @{
"Folder" = $folder.FullName
"Account" = $_.IdentityReference
"Rights" = $_.FileSystemRights
"AccessControlType" = $_.AccessControlType
"InheritanceFlags" = $_.InheritanceFlags
}
}
}catch{write-host $_.Exception.Message -ForegroundColor Red}
}
return $accessrules
}

$result | export-csv "C:\temp\folderrights.csv" -NoType -Delimiter ";" -Encoding UTF8
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat