www.IT-Visions.de-Diskussionsforen (Version 2.1)
(Diese Seite wurde noch nicht auf das neue Layout umgestellt!)


Diese Foren stehen den Lesern unserer Bücher und allen anderen registrieren Benutzern dieser Website zur Verfügung. Wir würden uns freuen, wenn viele Nutzer dieser Website hier nicht nur Fragen stellen, sondern auch die Fragen anderer Nutzer beantworten. Diese Foren sind ein ehrenamtlicher, nicht-kommerzieller, unmoderierter Community-Dienst von www.IT-Visions.de. Wenn Sie kommerzielle Unterstützung für .NET/Scripting/PowerShell suchen, schauen Sie bitte auf unser Support-Angebot und unsere Schulungsangebote für Scripting und Schulungsangebote für .NET.



Vererbte Rechte ausblenden
Autor:  MichaelvanOyen
E-mail:  Antworten bitte nur in das Forum!
Datum:  01.02.2007 13:05:54
Subject:  Vererbte Rechte ausblenden
Bezug zum Buch: 
Message:  Hallo,
mit folgenden Scriptteilen scanne ich unser Netz durch und lasse mir die Rechte der User/Gruppen anzeigen. Leider finde ich keine Möglichkeit, mir nur EXPLIZITE Rechte, also KEINE VERERBTEN (inhired) Rechte anzeigen zu lassen. Vielleicht weiss jemand von Euch einen Rat.
Im Voraus herzlichen Dank
Gruß Michael


Const ACCESS_ALLOWED_ACE_TYPE = &h0
Const ACCESS_DENIED_ACE_TYPE = &h1
Const FILE_READ_DATA = &h000001
Const FILE_WRITE_DATA = &h000002
Const FILE_APPEND_DATA = &h000004
Const FILE_READ_EA = &h000008
Const FILE_WRITE_EA = &h000010
Const FILE_EXECUTE = &h000020
Const FILE_READ_ATTRIBUTES = &h000080
Const FILE_WRITE_ATTRIBUTES = &h000100
Const FILE_DELETE = &h010000
Const FILE_READ_CONTROL = &h020000
Const FILE_WRITE_DAC = &h040000
Const FILE_WRITE_OWNER = &h080000

Sub RechteDirect (strFolder, ArrRechte)
Set oWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set oFSS = oWMI.Get("Win32_LogicalFileSecuritySetting='" & strFolder & "'")
intVal = oFSS.GetSecurityDescriptor(oSD)
intFlags = oSD.ControlFlags

If intFlags Then
   arrACE = oSD.DACL
   i = 0
   For Each objItem In arrACE
          
   If objItem.AceType = ACCESS_DENIED_ACE_TYPE Then
         strPerm = " (Verweigert)"
   Else
             strPerm = ""
   End If

   If objItem.AccessMask And FILE_READ_DATA Then
          If objItem.AccessMask And FILE_WRITE_DATA Then
               WScript.Echo objItem.Trustee.Name & " : Schreiben"
          Else
               WScript.Echo objItem.Trustee.Name & " : Lesen"                
                End If
     End If

   Next

End If

Antworten

  Zurück zum Forum



 Klassische Programmierung (Scripting, COM) -- Windows Scripting, VBScript, VB6, u.a.
 Vererbte Rechte ausblenden von MichaelvanOyen  am 1.2.2007 1:05:54 PM


www.IT-Visions.de - Dr. Holger Schwichtenberg / 1998-2019