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. Teile aus einem qrcode string auslesen

    in Microsoft Access Hilfe
    Teile aus einem qrcode string auslesen: Hallo zusammen Ich habe da eine für mich knifflige Aufgabe Ich scanne einen SwissQRCode in ein Textfeld. Danach entferne ich alle Umbrüche und Leerzeichen. Das habe ich soweit hinbekommen....
  3. VBA Auslesen von Strings und erstellen neuer Zeilen in einer Tabelle

    in Microsoft Excel Hilfe
    VBA Auslesen von Strings und erstellen neuer Zeilen in einer Tabelle: Guten Tag zusammen In der 1. Spalte stehen KundenIDs (jeweils 2 Buchstaben), separiert mit einem Komma. Beispielsweise: ag,ok,be,li,ce In der 2. bis 15. Spalte stehen dann diverse Eigenschaften,...
  4. aktuelles Alter aus Geburtsdatum auslesen und runde Geburtstage markieren

    in Microsoft Excel Hilfe
    aktuelles Alter aus Geburtsdatum auslesen und runde Geburtstage markieren: Hallo liebes Forum, Ich habe eine Excel-Tabelle mit einer Liste von Namen und Geburtstagen und möchte in einer Zusatzspalte das aktuelle Alter ausweisen und Alter mit 0 oder 5 gelb markieren. Dazu...
  5. Datum einer Datei per VBA auslesen

    in Microsoft Access Hilfe
    Datum einer Datei per VBA auslesen: Hallo, ich möchte mit Access VBA das Änderungsdatum einer Excel-Datei auslesen. Hat vielleicht einer eine Idee oder so etwas schon mal gemacht? Über jede Hilfe wäre ich sehr dankbar. liebe Grüße...
  6. Werte auslesen mit s(w)verweis

    in Microsoft Excel Hilfe
    Werte auslesen mit s(w)verweis: Hallo Leute, ich brauche mal wieder Hilfe, ich steh total auf dem Schlauch. Ich habe zwei Tabellenblätter - Liste - Ergebnis Im Tabellenblatt Ergebnis gebe ich die Namen händisch ein und will...
  7. textdatei auslesen

    in Microsoft Excel Hilfe
    textdatei auslesen: Hallo Leute Wie kann ich eine Textdatei in eine Listbox Zeile für Zeile einlesen und neue Einträge aktualisieren? Mein derzeitiger unfertiger Code: lines = IO.File.ReadAllLines(Pfad) For i = 0...
  8. 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)...
  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