4 Kommentare

  1. Heinz W
    März 15, 2019 @ 5:28 pm

    Interessantes Tool!
    Eine Funktion würde ich mir noch wünschen: Das Auslesen der kompletten ACL für jeden Ordner.
    In komplexen Nutzerumgebungen verliert man schnell den Überblick wer auf welche Ordner zugreifen darf.
    Auch als Kontrolle für den IT-SiBe wäre das ein nützliches Tool.

    Ich habe sowas schon für Windows, was die komplette Struktur und die ACL ausliest, leider scheitere ich daran die kryptischen IDs zu realen Namen umzuwandeln.
    Ich hänge das Script einfach mal hier dran, vielleicht könnt ihr da ja etwas mit anfangen. Es stellt die Struktur als HTML oder csv zur Verfügung.
    Euer Tool werde ich auf jeden Fall mal ausgiebig testen.
    VG
    Heinz

    # Ordner der rekursiv gescannt werden soll
    $ORDNER = “X:\Daten”
    # Ausgabe-Datei (HTML)
    $OUTPUT = $env:USERPROFILE + “\Desktop\Berechtigungen.html”

    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 = List-FolderRights $ORDNER -IncludeInheritedRights $true | sort Folder,Account | select Folder,Account,Rights,AccessControlType,InheritanceFlags
    #-IncludeInheritedRights auf $false setzen wenn keine Vererbte angezeigt werden sollen

    # OUTPUT POSSIBILITIES ————————————–

    # Output to Console
    # $result | ft -AutoSize -Wrap -GroupBy Folder

    # Output to GridView
    # $result | out-gridview

    # Output to CSV
    # $result | export-csv “C:\temp\folderrights.csv” -NoType -Delimiter “;” -Encoding UTF8

    # Output to very simple html table
    # $result | Convertto-HTML -Title “Berechtigungen” | out-file “C:\temp\folderrights.html” -Encoding UTF8

    #————————————————————-

    # Formatierter HTML Output

    $html = @”

    Berechtigungen

    body {
    font-family: Verdana, Geneva, sans-serif;
    font-size: 13px;
    }
    H1{font-size:1.8em}
    table td {
    vertical-align:middle;
    }
    th {
    text-align: left;
    background-color: #666;
    color: white;
    height: 20px;
    padding: 5px;
    }
    tr.bodyrow td{
    height: 20px;
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: #CCC;
    }
    tr.grouprow td {
    height: 20px;
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: #CCC;
    background-color: #96B0F5;
    padding: 2px;
    font-weight: bold;
    color: #333;
    }

    Übersicht der Berechtigungen

    Folder
    Account
    Rights
    Type
    InheritanceFlags

    $($result | group Folder | %{
    @”

    Ordner: $($_.Name)

    “@
    $($_.Group | %{
    @”

    $($_.Folder)
    $($_.Account)
    $($_.Rights)
    $($_.AccessControlType)
    $($_.InheritanceFlags)

    “@
    })
    })

    “@ | out-file $OUTPUT -Encoding UTF8
    Start-Process $OUTPUT

    Antworten

    • Martin Rothschink
      März 15, 2019 @ 5:38 pm

      Hallo Heinz,
      was willst du mit den ausgelesenen ACLs machen? Ich sehe da gerade noch keinen Zusammenhang zu Lights-Out.

      Gruß
      Martin

      Antworten

      • Heinz
        März 20, 2019 @ 9:32 am

        In grösseren Arbeitsumgebungen mit vielen Mitarbeitern gibt es sehr verzweigte ACLs unterschiedlichster R/W Berechtigungen.
        Leider gibt es bei Synology keine Möglichkeit genau diese übersichtlich dazustellen.
        Will man Zugriffsrechte überprüfen muss man Ordner für Ordner überprüfen. Eine tabellarische Darstellung der Verzeichnisstruktur mit Namen der Zugriffsberechtigten wäre da auch für das Auditing des IT-SiBe eine erhebliche Erleichterung und Verbesserung der IT-Sicherheit.

        Antworten

        • Martin Rothschink
          März 20, 2019 @ 5:57 pm

          Hat jetzt direkt mit Lights-Out nichts zu tun, ich hab es mal auf die Wunschliste gesetzt,

          Gruß
          Martin

          Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.