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.



ADSSecurity - Rechte auf Verzeichnisse
Autor:  KnutEngels
E-mail:  Antworten bitte nur in das Forum!
Datum:  04.11.2006 18:03:54
Subject:  ADSSecurity - Rechte auf Verzeichnisse
Bezug zum Buch: 
Message:  Hallo zusammen,

ich probiere es einfach noch einmal.
Ich arbeite mit der ADSI-Komponente ADSSecurity.dll um bestimmte Rechte für Verzeichnisse automatisiert zu setzen. Das funktioniert auch einwandfrei, so lange ich die Besitzrechte und Zugriffsrechte für diese Verzeichnisse besitze.
Sind allerdings alle Zugriffsrechte für ein Verzeichnis entfernt worden, z. B. durch folgende Programm-Zeilen ( jeweils Auszüge aus meinem Programm zur automatisierten Benutzereinrichtung):

Dim objsecurity As ADSSECURITYLib.ADsSecurity
        Dim objsd As ActiveDs.SecurityDescriptor
        Dim objdacl As Object
        Dim objace As Object
        Dim objnewace As ActiveDs.AccessControlEntry

homestr = "File://meinVerzeichnis"


        objsecurity = CreateObject("ADsSecurity")
        objsd = objsecurity.GetSecurityDescriptor(homestr)
        objdacl = objsd.DiscretionaryAcl
      
            For Each objace In objdacl
               objdacl.removeace(objace)
            Next
        End If


und Zurückschreiben des SDs

... dann bekomme ich keine Zugriffsrechte mehr auf dieses Verzeichnis:


Dim objsecurity As ADSSECURITYLib.ADsSecurity
        Dim objsd As ActiveDs.SecurityDescriptor
        Dim objdacl As Object
        Dim objnewace As ActiveDs.AccessControlEntry

adminstring = "meineDomäne\Administrator"

        objsecurity = CreateObject("ADsSecurity")
        objsd = objsecurity.GetSecurityDescriptor(homestr)
        objdacl = objsd.DiscretionaryAcl
        objnewace = CreateObject("ACCESSCONTROLENTRY")
        objnewace.Trustee = adminstr
        objnewace.AceType = ADS_ACETYPE_ACCESS_ALLOWED
        objnewace.AccessMask = ADS_RIGHT_GENERIC_ALL
        objnewace.AceFlags = OBJECT_INHERIT_ACE Or CONTAINER_INHERIT_ACE

        objdacl.addace(objnewace)
        objsd.DiscretionaryAcl = objdacl
        objsecurity.SetSecurityDescriptor(objsd)

Vielen Dank für Eure Hilfe,

Knut


Antworten

  Zurück zum Forum



 Klassische Programmierung (Scripting, COM) -- Windows Scripting, VBScript, VB6, u.a.
 ADSSecurity - Rechte auf Verzeichnisse von KnutEngels  am 4.11.2006 6:03:54 PM


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