Office: Auslesen von Zugriffsrechten der einzelnen Benutzergruppen

Helfe beim Thema Auslesen von Zugriffsrechten der einzelnen Benutzergruppen in Sonstiges um das Problem gemeinsam zu lösen; Hallo zusammen. Ich habe folgendes Problem: Ich habe ein Share auf meinem Server, auf welchem verschiedene User in verschiedenen Gruppen... Dieses Thema im Forum "Sonstiges" wurde erstellt von SaschaSchmidt, 9. Juli 2010.

  1. Auslesen von Zugriffsrechten der einzelnen Benutzergruppen


    Hallo zusammen.

    Ich habe folgendes Problem:

    Ich habe ein Share auf meinem Server, auf welchem verschiedene User in verschiedenen Gruppen administriert sind.

    Nun soll ich eine vollständige Auswertung davon ziehen, d.h.:

    Schritt 1: Welche User sind in welchen Gruppen administriert?

    Schritt 2: Welche Gruppen oder User sind in welchen Verzeichnissen/Ordnern administriert und haben welche zugriffsrechte?


    ----

    Schritt 1 habe ich schon absolviert per VBScript

    Schritt 2 muss ich ebenfalls auf diesem Weg lösen...
    Nur funktioniert meine Lösung nicht...

    Ich habe zwar eine Lösung gefunden, aber in dieser bekomme ich keine Namen der User angezeigt... sondern nur die SID's!!

    Jetzt stellt sich für mich die Frage warum das so ist und ob es wohl irgendwo im www noch eine andere Lösung dafür gibt.. ;-)


    >> Zusätzlich muss ich sagen, dass keine Fremdsoftware verwendet werden darf.... sprich DumpSec etc. is nich ;-)


    Hoffe auf Eure Hilfe!


    Mfg




    ----- Hier Code meiner Lösung ------


    ' Kommandozeilenparamter
    Set args = Wscript.Arguments
    '***** Test ob richtige Anzahl an Kommandozeilenparametern angegeben wurde
    If args.Count <> 1 Then
    Wscript.echo "Bitte den Startpunkt (Datei oder Ordner) angeben!"
    Wscript.Quit
    End If
    sDatei = args(0)
    ' Array, um die Art des Eintrags zu ermitteln

    dim art(4)
    art(0)="Erlaubnis"
    art(1)="Verbot"
    art(2)="Audit"
    ' Dictionary, um die Zahlen in Texte zu übersetzen
    ' Es können beliebige weitere eingetragen werden
    Set dict = CreateObject("Scripting.Dictionary")
    call dict.add(2032127,"Full")
    call dict.add(1245631,"Change")
    call dict.add(1179817,"Read")
    ' Sonstige benötigte Objekte erzeugen
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set wshnet = CreateObject("WScript.Network")
    ' Bei Eingabe einer Einzel-Datei werden nur die Rechte der Einzeldatei ausgegeben
    ' Bei Angabe eines Verzeichnisses alle Unterverzeichnisse (inklusive des Startverzeichnisses
    If fso.FolderExists(sDatei) then
    Rechte sDatei
    VerzDurchgang(fso.getfolder(sDatei))
    else
    wscript.echo Rechte(sDatei)
    End If




    Function Rechte(sDatei)
    sConnect = "winmgmts:Win32_LogicalFileSecuritySetting='" & sDatei & "'"
    Set oDatei = GetObject(sConnect)
    status = oDatei.getsecurityDescriptor(oDescriptor)
    oACL = oDescriptor.Properties_.Item("dacl").Value
    For each entry in oACL
    list = sDatei & ";" & entry.Trustee.Name & ";" & entry.Trustee.SIDString & ";" & art(entry.ACEType) & ";"
    ' Jetzt noch die Übersetzung der Accessmask, dabei Abfrage, falls unbekannte Zahlen auftauchen
    If dict.Exists(entry.Accessmask) then
    list = list & dict.item(entry.Accessmask)
    Else
    list = list & "Spezielle Berechtigung: " & entry.Accessmask
    End If
    Wscript.echo list
    Next
    End Function

    Sub VerzDurchgang(Verzeichnis)
    ' ***** Fehlerhandling abschalten, wegen Zugriffsverletzungen
    On Error Resume Next
    ' Da wir keine Einzeldateien wollen, den Datei-Durchgang auskommentiert, daher werden nur Ordner gemacht
    ' FilesDurchgang Verzeichnis
    For each folder in Verzeichnis.Subfolders
    '***** Was jetzt tun?
    call Rechte(folder.Path)
    VerzDurchgang folder
    Next
    End Sub

    Sub FilesDurchgang(Verzeichnis)
    ' ***** Fehlerhandling abschalten, wegen Zugriffsverletzungen
    On Error Resume Next
    For each file in Verzeichnis.files
    ' ***** Was jetzt tun?
    call Rechte(file.Path)
    Next
    End Sub






    ----- Ergebnis meiner Lösung -------



    Microsoft (R) Windows Script Host, Version 5.6
    Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.

    Q:\RPP_Admin\Projektarbeit_Schmidt\Dateien;Administratoren;S-1-5-32-544;Erlaubnis;Full
    Q:\RPP_Admin\Projektarbeit_Schmidt\Dateien;FP-Admin-O;S-1-5-21-79331101-1556684077-941767090-25005;Erlaubnis;Full
    Q:\RPP_Admin\Projektarbeit_Schmidt\Dateien;FP-ADMIN-O5;S-1-5-21-925596572-2084191131-619646970-1082;Erlaubnis;Full
    Q:\RPP_Admin\Projektarbeit_Schmidt\Dateien;;S-1-5-21-89140455-1385356764-1047456561-131103;Erlaubnis;Full
    Q:\RPP_Admin\Projektarbeit_Schmidt\Dateien;Mgb.SRV-FP;S-1-5-21-79331101-1556684077-941767090-29425;Erlaubnis;Full
    Q:\RPP_Admin\Projektarbeit_Schmidt\Dateien;;S-1-5-21-89140455-1385356764-1047456561-131077;Erlaubnis;Full
    Q:\RPP_Admin\Projektarbeit_Schmidt\Dateien;;S-1-5-21-89140455-1385356764-1047456561-131076;Erlaubnis;Full





    --------

    Man sieht ganz klar.... grundlegende User werden mit Namen angezeigt.
    Doch bei manchen fehlt der Name und es wird nur die SID angezeigt...
     
    SaschaSchmidt, 9. Juli 2010
    #1
  2. racoon0506 Erfahrener User
    Vielleicht hilft dir der folgende Link weiter. http://windowsxp.mvps.org/reg/sidlist.vbs
    Mit SIDlist.vbs lassen sich die SIDs inkl. der Benutzernamen aus der AD auslesen und in eine Textdatei schreiben.
    Möglicherweise kannst du deine bisherige Lösung damit so erweitern, dass anstelle der SIDs die Benutzernamen angezeigt werden - ist ja "nur" ein Stringvergleich notwendig, um den passenden Namen zu einer SID zu finden.....
     
    racoon0506, 28. Juli 2010
    #2
Thema:

Auslesen von Zugriffsrechten der einzelnen Benutzergruppen

Die Seite wird geladen...
  1. Auslesen von Zugriffsrechten der einzelnen Benutzergruppen - Similar Threads - Auslesen Zugriffsrechten einzelnen

  2. Auslesen eines Wertes aus verschiedenen Tabelle

    in Microsoft Excel Hilfe
    Auslesen eines Wertes aus verschiedenen Tabelle: Hallo, ich hoffe jemand hat einen guten Tipp für mich, denn ich stehe vor folgendem Problem. Ich habe als Ausgangsinformationen eine Anzahl von Mitarbeitern (z.B. 14), eine Kategorie (A, B, C)...
  3. Auslesen Windowsbenutzer in einer Datenbank

    in Microsoft Access Hilfe
    Auslesen Windowsbenutzer in einer Datenbank: Hallo zusammen, wie kann ich auslesen, welcher Windows Benutzer gerade aktuell in einer Datenbank ist? Geht das? Danke Matthias
  4. Auslesen einer Abfrage in VBA Modul

    in Microsoft Access Hilfe
    Auslesen einer Abfrage in VBA Modul: Hallo zusammen, ich wünsche allen ein frohes und gesundes Jahr 2024. Ich habe eine alte Access 2003 und da habe ich zur Ermittlung von Planungsdaten folgende Funktion genutzt, jetzt mit Office 365...
  5. Nur aktuelles Jahr in Abfrage auslesen

    in Microsoft Access Hilfe
    Nur aktuelles Jahr in Abfrage auslesen: In meiner Abfrage habe ich eine Spalte AktJahr erstellet. Das Datum ermittle ich mit AktJahr: Datum(). Es soll nur die aktuelle Jahreszahl angezeigt werden. Mehrere Versuche mit der...
  6. suchen und auslesen

    in Microsoft Excel Hilfe
    suchen und auslesen: Hallo zusammen, so recht schaffe ich es nicht einen generierten Bericht aus einem Produktionsfertigungssystem auszulesen. Jeden Monat kopiere ich mir die benötigten Informationen von a nach b....
  7. Wert in Matrix suchen, Zeile ausgeben

    in Microsoft Excel Hilfe
    Wert in Matrix suchen, Zeile ausgeben: Hallo liebe Community, ich habe folgendes Problem. Für die Buchhaltung muss ich mittels Excel eine Importdatei bauen für unser ERP System. Soweit so gut, bei gewissen Zeilen möchte ich...
  8. Sharepoint Ordner auslesen

    in Microsoft Excel Hilfe
    Sharepoint Ordner auslesen: Guten Morgen miteinander, ich habe ein Makro zum Auslesen eines Ordnerinhaltes (Nur Unterordner werden in eine Tabelle geschrieben), welches wunderbar auf einem konventionellen Laufwerk (C:\...)...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden