none
Auslesen von NTFS-Berechtigungen mit Powershell RRS feed

  • Frage

  • Hallo,

    ich würde mir gerne die NTFS-Berechtigung einzelner Verzeichnisse auslesen. Hierfür habe ich mir folgendes Powershellscript geschrieben:
    Get-Acl -path "C:\Temp" | select Path, Owner, AccessToString  | Format-Table -Wrap -AutoSize
    Get-Acl -path "C:\VZ1" | select Path, Owner, AccessToString  | Format-Table -Wrap -AutoSize
    Get-Acl -path "C:\Next" | select Path, Owner, AccessToString  | Format-Table -Wrap -AutoSize

    Auf dem Bildschirm bekomme ich die Wert "fast" optimal angezeigt:



    Mein Ziel ist es dass ich, für Excel, eine zentrale Auswertung bekomme in dieser alle Verzeichnisse mit allen Berechtigungen stehen wie z.B. dieser Datensatz:


    Wer hat einen Tipp für mich?

    Danke

    Freitag, 10. Januar 2020 02:55

Antworten

  • 'C:\Temp' , 'C:\VZ1', 'C:\Next' | 
        Get-Acl | 
            ForEach-Object { 
                Foreach ($Right in $_.Access) {
                    [PSCustomObject]@{
                        Path              = $_.Path
                        Owner             = $_.Owner
                        Rights            = $Right.FileSystemRights
                        AccessControlType = $Right.AccessControlType
                    }
                }
            }

    ... das dann mittels Export-CSV in eine Datei exportieren (Semikolon als Trenner) und dann kannst Du das prima in Excel öffnen.

    In Zukunft Deinen Code als Code formatieren und keine Bilder von Code posten, bitte. Wenn Du Beispieldaten oder Consolen-Output posten möchtest, formatierst Du das einfach auch als Code. ;-)


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    Freitag, 10. Januar 2020 03:22

Alle Antworten

  • 'C:\Temp' , 'C:\VZ1', 'C:\Next' | 
        Get-Acl | 
            ForEach-Object { 
                Foreach ($Right in $_.Access) {
                    [PSCustomObject]@{
                        Path              = $_.Path
                        Owner             = $_.Owner
                        Rights            = $Right.FileSystemRights
                        AccessControlType = $Right.AccessControlType
                    }
                }
            }

    ... das dann mittels Export-CSV in eine Datei exportieren (Semikolon als Trenner) und dann kannst Du das prima in Excel öffnen.

    In Zukunft Deinen Code als Code formatieren und keine Bilder von Code posten, bitte. Wenn Du Beispieldaten oder Consolen-Output posten möchtest, formatierst Du das einfach auch als Code. ;-)


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    Freitag, 10. Januar 2020 03:22
  • Hallo,

    danke - danke - danke - genau das was ich brauche. Diese Script erspart mir sehr viel Zeit :)

    Hier nochmals das komplette Script einer "Code-Formaierung" :)

    'C:\Temp' , 'C:\VZ1', 'C:\Next' | 
        Get-Acl | 
            ForEach-Object { 
                Foreach ($Right in $_.Access) {
                    [PSCustomObject]@{
                        Path              = $_.Path
                        Owner             = $_.Owner
                        Rights            = $Right.FileSystemRights
                        AccessControlType = $Right.AccessControlType
                    }
                }
            } | Export-Csv -Path 'C:\Users\xxxx\Desktop\xxxxxxx.csv' -UseCulture
    Gruß


    • Bearbeitet sbrand Samstag, 11. Januar 2020 12:15
    Samstag, 11. Januar 2020 12:07