77575
Goto Top

ICacls nur die Berechtigungen von Ordner anzeigen

Hallo,

kennt jemand eine Möglichkeit mit iCacls.exe die Berechtigungen von Ordnern und nur von Ordnern auszugeben?

Mit dem Befehl
icacl D:\ /T /C >c:\temp\test.log
kann ich mir alle Berechtigungen aller Ordner und aller Dateien vom Laufwerk D:\ ausgeben lassen.
Ich möchte aber nur die Berechtigungen von Ordnern.
In der Hilfe zu icacls kann ich keine Option entdecken. Vielleicht kennt ja jemand einen Trick oder eine Möglichkeit per Batch dies zu realisieren?

gruss 010101

Content-Key: 134715

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

Printed on: April 19, 2024 at 00:04 o'clock

Member: Edi.Pfisterer
Edi.Pfisterer Jan 29, 2010 at 19:00:30 (UTC)
Goto Top
nur mal so eine idee...

mit dem WScript.CreateObject("Scripting.FileSystemObject") durch dein LW navigieren und die ACLs in die test.log schreiben lassen?

auch wenn ein batch eleganter wäre, ist man mit vbs manchmal schneller (LAOTSE oder so ähnlich) face-wink
[edit: wenn man mit DOS nicht ganz so per Du ist...]
Mitglied: 77575
77575 Jan 29, 2010 at 19:54:01 (UTC)
Goto Top
face-wink ich bin eher mit vbs nicht per du

vielleicht kennt ja noch jemand eine freeware alternative zum icalcls ?

gruss 010101
Member: Edi.Pfisterer
Edi.Pfisterer Jan 31, 2010 at 15:23:57 (UTC)
Goto Top
wenn du ein paar Tage Geduld hast - und sonst niemand eine Idee hat - stell ich dir hier ein Script rein...
könnte aber ein paar Tage dauern, bin grad eher im Stress....

lg
Mitglied: 77575
77575 Jan 31, 2010 at 16:50:32 (UTC)
Goto Top
hallo urobe73,
ja gern , es eilt nicht.
guss 0101010
Member: Edi.Pfisterer
Edi.Pfisterer Feb 01, 2010 at 16:12:31 (UTC)
Goto Top
so!
hab jetzt was gebastelt, das allerdings noch nicht ganz funktioniert (und jetzt hab ich keine Zeit mehr...).
ABER: es sollte wohl einer der Gurus hier soweit verbessern können, dass es dann den Dienst versieht.

also:
Das Ding besteht aus 2 Dateien (besser gings auf die schnelle nicht...)

1.) ordner.vbs:

ordner = "Z:\2009_2010"  
Set fs = CreateObject("Scripting.FileSystemObject")  
Set f1 = fs.GetFolder(ordner)
for each unterordner in f1.subfolders
listunter = listunter & unterordner & vbcrlf

Set WshShell = WScript.CreateObject("WScript.Shell")  
ret = WshShell.Run ("besitzer.cmd " & ordner)  



   Set File = fs.OpenTextFile("temp.txt" , 1, true)  
     ' Datei zum Lesen öffnen  


Do While not file.AtEndOfStream
   besitzer = besitzer & file.ReadLine
Loop

listunter = listunter & besitzer & vbcrlf
next


SET objfs= createobject("scripting.filesystemobject")  
strdateiname = "Ordnerliste.csv"  
set objtextstream = objfs.createtextfile(strdateiname, True)
strwritestring = listunter
objtextstream.write strwritestring
objtextstream.close
set objtextstream = nothing
set objfs = nothing

2.) besitzer.cmd
echo J | cacls %1 > temp.txt

Dein Part:
in der ordner.vbs die 1. Zeile an Deine Bedürfnisse anpassen und fertig.
Nach Doppelklick auf die ordner.vbs wird eine temp.txt erstellt (die die cacl-ergebnisse für jeden ordner enthält) und eine Ordnerliste.csv
die enthält alle Unterordner und deren Besitzer?

EBEN NICHT!

ich weiss auch nicht warum, aber die csv enthält alle infos ausser den besitzern...

FALLS JEMAND HELFEN KANN: BITTE DARUM!
ich werde in den nächsten tagen selbst keine zeit haben, mir das ding anzuschauen...


Ansonsten könntest du vielleicht einen eigenen Beitrag eröffnen mit diesem Code (ich habe nichts dagegen, eh klar!), dann hilft Dir sicher jemand...

gutes gelingen
lg
Member: Edi.Pfisterer
Edi.Pfisterer Feb 02, 2010, updated at Oct 18, 2012 at 16:41:02 (UTC)
Goto Top
hallo!
habe einen neuen Beitrag eröffnet...

siehe hier

lg