Neues Skript, neues Glück. ACL Powershell Skript und ein paar Fragen.
Ziel: Von einem bestimmten Pfad die ACL auslesen, aber nur die Ordner (inkl. Unterordner) und nicht die Dateien.
Habe mir folgendes ausgedacht:
Jetzt habe ich mir überlegt, dass ich das Ganze gerne gekürzt hätte auf Path, Owner, Group und Access.
Also:
Die Fragen:
- Was macht er denn aus Access? Wo sind meine ganzen Benutzer?
- Kann man von Path dieses "Microsoft.PowerShell.Core\FileSystem::" ausfiltern?
Ich habe noch ein paar Gedanken zu dem "ACL" Thema, aber erstmal das hier. Die Grundkenntnisse müssen einfach sitzen ;)
Danke an alle im Voraus.
Habe mir folgendes ausgedacht:
$dir = dir c:\temp -recurse -exclude *.*
get-acl $dir | format-list
Ergebnis:
Path : Microsoft.PowerShell.Core\FileSystem::C:\temp\acl-test
Owner : ZAPP\Thorsten
Group : ZAPP\Kein
Access : Jeder Allow ReadAndExecute, Synchronize
VORDEFINIERT\Administratoren Allow FullControl
VORDEFINIERT\Benutzer Allow Modify, Synchronize
ZAPP\Thorsten Allow FullControl
Audit :
Sddl : O:S-1-5-21-436374069-...
Path : Microsoft.PowerShell.Core\FileSystem::C:\temp\acl-test\Neuer Ordner
Owner : ZAPP\Thorsten
Group : ZAPP\Kein
Access : VORDEFINIERT\Administratoren Allow FullControl
VORDEFINIERT\Benutzer Allow Modify, Synchronize
Jeder Allow ReadAndExecute, Synchronize
ZAPP\Thorsten Allow FullControl
Audit :
Sddl : O:S-1-5-21-436374069-...
)
Jetzt habe ich mir überlegt, dass ich das Ganze gerne gekürzt hätte auf Path, Owner, Group und Access.
Also:
$dir = dir c:\temp -recurse -exclude *.*
get-acl $dir | format-list path,owner,group,access
Ergebnis:
Path : Microsoft.PowerShell.Core\FileSystem::C:\temp\acl-test
Owner : ZAPP\Thorsten
Group : ZAPP\Kein
Access : {System.Security.AccessControl.FileSystemAccessRule, System.Security.AccessControl.FileSystemAccessRule, Syste
m.Security.AccessControl.FileSystemAccessRule, System.Security.AccessControl.FileSystemAccessRule}
Path : Microsoft.PowerShell.Core\FileSystem::C:\temp\acl-test\Neuer Ordner
Owner : ZAPP\Thorsten
Group : ZAPP\Kein
Access : {System.Security.AccessControl.FileSystemAccessRule, System.Security.AccessControl.FileSystemAccessRule, Syste
m.Security.AccessControl.FileSystemAccessRule, System.Security.AccessControl.FileSystemAccessRule}
Die Fragen:
- Was macht er denn aus Access? Wo sind meine ganzen Benutzer?
- Kann man von Path dieses "Microsoft.PowerShell.Core\FileSystem::" ausfiltern?
Ich habe noch ein paar Gedanken zu dem "ACL" Thema, aber erstmal das hier. Die Grundkenntnisse müssen einfach sitzen ;)
Danke an alle im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 87517
Url: https://administrator.de/contentid/87517
Ausgedruckt am: 25.11.2024 um 06:11 Uhr
15 Kommentare
Neuester Kommentar
Schau mal hier:
http://www.dotnetframework.de/lserver/CodeSampleDetails.aspx?c=4923
Ist zwar nicht grade das, was du willst, aber es ist beschrieben, wie man herausliest, ob die ACL für ein Objekt vererbt ist oder nicht. ($ACE.IsInherited)
http://www.dotnetframework.de/lserver/CodeSampleDetails.aspx?c=4923
Ist zwar nicht grade das, was du willst, aber es ist beschrieben, wie man herausliest, ob die ACL für ein Objekt vererbt ist oder nicht. ($ACE.IsInherited)
Hallo,
mir wurde durch den Tip "AccessToString" geholfen, daher möchte ich mich revanchieren:
ich habe eine Lösung für die Anzeige nur der "Knotenpunkte":
Grüße, David
mir wurde durch den Tip "AccessToString" geholfen, daher möchte ich mich revanchieren:
ich habe eine Lösung für die Anzeige nur der "Knotenpunkte":
dir M:\ -recurse | Where-Object {$_.psiscontainer} | where-Object {$_.System.Security.AccessControl.InheritanceFlags -ne 'ContainerInherit'} | Get-Acl | format-list path,owner,group,accesstostring > test.txt
Grüße, David