Format-List nie pokazuje listy dostępu z Get-Acl

0

Próbuję uzyskać listę plików, ich właścicieli i uprawnienia

PS C:\> echo Windows | Get-Acl |Format-List


Path   : Microsoft.PowerShell.Core\FileSystem::C:\Windows
Owner  : NT SERVICE\TrustedInstaller
Group  : NT SERVICE\TrustedInstaller
Access : CREATOR OWNER Allow  268435456
         NT AUTHORITY\SYSTEM Allow  268435456
         NT AUTHORITY\SYSTEM Allow  Modify, Synchronize
         BUILTIN\Administrators Allow  268435456
         BUILTIN\Administrators Allow  Modify, Synchronize
         BUILTIN\Users Allow  -1610612736
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
         NT SERVICE\TrustedInstaller Allow  268435456
         NT SERVICE\TrustedInstaller Allow  FullControl
         APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES Allow  ReadAndExecute, Synchronize
         APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES Allow  -1610612736
Audit  :
Sddl   : O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464G:S-1-5-80-956008885-3418522649-1831038044-185
         3292631-2271478464D:PAI(A;OICIIO;GA;;;CO)(A;OICIIO;GA;;;SY)(A;;0x1301bf;;;SY)(A;OICIIO;GA;;;BA)(A;;0x1301bf;;;
         BA)(A;OICIIO;GXGR;;;BU)(A;;0x1200a9;;;BU)(A;CIIO;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271
         478464)(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;0x1200a9;;;AC)(A;OICIIO;GXG
         R;;;AC)

Pomyślałem, aby przefiltrować Auditi Sddlużyć -Propertyargumentu, ale to nie pokazuje Accesspoprawnie:

PS C:\> echo Windows | Get-Acl |Format-List -Expand Both -Property Path, Owner, Group, Access


Path   : Microsoft.PowerShell.Core\FileSystem::C:\Windows
Owner  : NT SERVICE\TrustedInstaller
Group  : NT SERVICE\TrustedInstaller
Access : {System.Security.AccessControl.FileSystemAccessRule, System.Security.AccessControl.FileSystemAccessRule,
         System.Security.AccessControl.FileSystemAccessRule, System.Security.AccessControl.FileSystemAccessRule...}

Jak mogę uzyskać listę reguł dostępu?

Nędzna zmienna
źródło
Możesz wstawić Select -Expandproperty Access|wcześniej, Format-Listale Access nie jest listą ani jedną właściwością, więc możesz nie dostać tego, czego się spodziewasz ...
LotPings
echo $env:SystemRoot | Get-Acl | Select-Object -Property * -ExpandProperty Access
JosefZ
@JosefZ, który wydaje się drukować te same rzeczy raz po raz: echo $env:SystemRoot | Get-Acl | Select-Object -Property * -ExpandProperty Access | findstr PSPathdrukuje PSPath : Microsoft.PowerShell.Core\FileSystem::C:\Windows11 razy.
Nędzna zmienna
dir $env:SystemRoot\*.log | foreach { $_ | Get-Acl | select -Property Owner, Path -ExpandProperty Access}podaje listę plików (tylko .logdla zwięzłości), ich właścicieli i rozszerzonych Access. Może utworzenie niestandardowego, psobjecttakiego jak w superuser.com/questions/1173588, ułatwiłoby uzyskanie pożądanego rezultatu.
JosefZ