Hurtigste måde at finde Windows discretionary adgangskontrol lister (DACLs) python

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at finde DACL'er (diskretionære adgangskontrollister) til 50k mapper på et netværksdrev. Jeg forsøger at liste alle tilladelser til hver mappe med nogle automatisering. Jeg er lidt bekendt med python, og jeg tænkte på at gøre dette ved at bruge underprocessemodulet, hvor jeg kalder icalcs.exe for at liste alle tilladelserne og derefter formatere output i Excel, hvor jeg kan læse disse rapporter.


Indtil videre har jeg


import subprocess
drive=r'path of the drive read from a list'
p1= subprocess.Popen('icacls'+drive,shell=False, stdout=subprocess.PIPE, stdin=None)


Ved udskrivning af output lister den ud af domænegrupper, der har tilladelser i mappen f.eks.


\Pathfolder BUILTIN\Admin:(OI)(CI)(F)
              BUILTIN\User: (CI)(RX)
              Domaingroup: (I)(F)(CI)(OI)


Udgangen genereres af er lidt langsom på grund af netværksforsinkelse, og jeg spekulerede på, om der er en bedre måde at gøre det på, eller hvis der var et pythonmodul, som understøttede funktionaliteten.


Jeg har følgende spørgsmål-



  • Hvordan genererer jeg en omfattende rapport fra output, hvis jeg anser dette som den hurtigste tilgængelige tilgang?

  • Alternativer til denne tilgang, der er hurtigere og nemme at slå i en Excel-rapport?



Jeg vil sætte pris på enhver hjælp.

Bedste reference