cdemir
Goto Top

Berechtigungen anhand einer Batch-Datei auslesen lassen

Don't hate the player, hate the game

Hallo Forum,

Ich bin noch neu auf dieser Plattform aber sehr zuversichtlich hier meine Antowrten zu erhalten (da ich selber auch schon sehr oft Lösungen hier gefunden habe).

Mein Vorhaben:

Ich möchte gerne eine Batch-Datei schreiben, mit der es möglich sein sollte Verzeichnisse und die entsprechenden Benutzerrechte (oder zu min. die Gruppen) aufzuliesten.

Ich habe mich auch schon mit einigen Tools rumgeschlagen (z.B. Jose AD-Dokumentation), aber habe nie das egwünschte Ziel erreicht. Vor einigen Jahren war ich an einer Arbeit dran, damals war es mir möglich ein Batch zu schreiben welche das konnte (war halt nicht ganz sauber, daher wieder verloren gegangen).

Weitere verwendete Tools:
Accesschk
AccessEnum
Jose 2.3
PsTools

Doch ist es schwer hierzu genaue/gute Informationen zu erhalten.

Optimal wäre es sogar, wenn ich das Verzeichnis mitgeben könnte (dass ich dann angebe, von wo abwärts ich die Informationen erhalten möchte).

Umgebung:
Windows XP Prof.
(das ganze testen)

Wirklicher Einsatzort:
Server 2003
(brauche einen Überblick über die Freigabe des Fileservs)

Content-Key: 139479

Url: https://administrator.de/contentid/139479

Printed on: April 24, 2024 at 11:04 o'clock

Member: bastla
bastla Mar 30, 2010 at 08:54:59 (UTC)
Goto Top
Hallo cdemir und willkommen als Mitglied!

Wenn die genannten Tools nicht das von Dir gewünschte Ergebnis bringen, wirst Du mit einem
for /r "D:\Startverzeichnis" %i in (.) do @cacls "%i"
vermutlich auch nicht glücklich werden ...

Grüße
bastla
Member: cdemir
cdemir Mar 30, 2010 at 09:06:37 (UTC)
Goto Top
hallo bastla,

danke für deine Antwort, aber ich möchte nicht nur die einzelnen Verzeichnisse und Unterverzeichnisse aufzeigen, sondern es geht mir viel mehr um die Berechtigungen der User oder Gruppen.

Und da sollte ersichtlich sein, wer wie Zugriff hat (lesen, schreiben, ausführen).
Member: bastla
bastla Mar 30, 2010 at 09:21:15 (UTC)
Goto Top
Hallo cdemir!
Und da sollte ersichtlich sein, wer wie Zugriff hat (lesen, schreiben, ausführen).
Ist eigentlich die Information, die Du mit "cacls" erhältst, etwa:
D:\Test VORDEFINIERT\Gäste:(OI)(CI)(DENY)(Beschränkter Zugriff:)
                                   DELETE
                                   READ_CONTROL
                                   WRITE_DAC
                                   WRITE_OWNER
                                   STANDARD_RIGHTS_REQUIRED
                                   FILE_READ_DATA
                                   FILE_WRITE_DATA
                                   FILE_APPEND_DATA
                                   FILE_READ_EA
                                   FILE_WRITE_EA
                                   FILE_EXECUTE
                                   FILE_DELETE_CHILD
                                   FILE_READ_ATTRIBUTES
                                   FILE_WRITE_ATTRIBUTES

        VORDEFINIERT\Administratoren:(OI)(CI)F
        VORDEFINIERT\Benutzer:(OI)(CI)R
        ERSTELLER-BESITZER:(OI)(CI)(IO)F
        NT-AUTORITÄT\SYSTEM:(OI)(CI)F
Hier haben zB Administratoren, Ersteller-Besitzer und System Vollzugriff, Benutzer ein (erweitertes inkl. "Ausführen" und "Ordnerinhalt auflisten") Leserecht und den Gästen ist der Vollzugriff verweigert ...

Als Alternative könntest Du Dich zB mit SetACL beschäftigen (mit Betonung auf "beschäftigen" face-wink) ...
Was spricht eigentlich aus Deiner Sicht gegen "AccessEnum"?

Grüße
bastla

P.S.: Ich hatte ja bereits angenommen, dass Du mit "cacls" nicht glücklich werden würdest ...
Member: cdemir
cdemir Mar 30, 2010 at 09:45:25 (UTC)
Goto Top
ok, dann werde ich mich mal eine Zeit lang mit SetACL beschäftigen (hoffe das führt zum gewünschten Resultat).

Mein Problem bei AccessEnum ist:
Es ist zu Detailiert und ich kann denn Scann nicht eingrenzen (sprich nur auf die Verzeichnisse laufen lassen). Die einzelnen Dateien sind mir völlig egal.

Bei 107 Standorten (gemeinsame Datenenverwaltung) würde das Resultat dann zu gross und unübersichtlich werden.

Falls alles nichts hilft, werde ich wohl auf cacls zurückgreifen müssen (nicht zufriedenstellend, aber liefert im mom. noch das beste Resultat. Daher denke ich das hier auch verschiedene Variationen möglich sind, muss nur noch das für mich gewünschte finden).

Danke für deine Hilfe
Member: cdemir
cdemir Mar 30, 2010 at 11:23:20 (UTC)
Goto Top
ok, ich bin wieder etwas abgeschweift.

aber kurz zur sache:
Eine Lösung könnte zu min. mal so anfangen:

set /p Verzeichnis=Bitte Verzeichnis angeben:
cacls %Verzeichnis% echo >> Verzeichnisabfrage.txt

Doch habe ich hier bereits nen Wurm drinnen. Wie kann ich korrekt einen Parameter übergeben?
Member: bastla
bastla Mar 30, 2010 at 11:55:15 (UTC)
Goto Top
Hallo cdemir!

Vorweg: Poste Batch-Schnipsel bitte mit ""-Formatierung ...
Um den Ablauf eines Batches nachvollziehen zu können, verwende kein "echo off" und starte den Batch direkt von der Kommandozeile (oder schreibe zumindest als letzte Anweisung "pause").
Deine zweite Zeile solltest Du ohne "echo" schreiben.

Grüße
bastla
Member: cdemir
cdemir Mar 30, 2010 at 12:05:16 (UTC)
Goto Top
So weit so gut, dass Verhalten der Batch-Datei ist schon mal akzeptabel (wobei ich noch etwas modifizieren musste)

Dann danke ich erneut für deine Hilfe und ja.....den Ausbau werde ich wohl noch alleine hinkriegen.

ps: echo entfernen hat mir nichts genützt, immer noch gleiches Verhalten, aber passt, so lange ich mein Resultat habe. Was im Hintergrund alles abläuft kann ich zu einem späteren Zeitpunkt nachvollziehen.