Jump to content

Verzeichnisberechtigung über ADS verteilen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo,

 

wie, wenn überhaupt, kann ich Verzeichnisse auf Arbeitsstationen im Netzwerk Rechte zuweisen ohne jeden Rechner einzeln anzupacken? Gibt es dafür einen Policy Option?

 

Kleines Beispiel:

Alle Rechner sollen für das Verzeichnis C:\Programme\Lexware Rechte (rwx,rwx,rwx) für eine Gruppe gesetzt bekommen.

 

Gruß,

 

Martin

Geschrieben

Hi,

Wenns 2000-er/XP Workstations sind, machst du dir ein VBS-Skript und baust z.B. einen Aufruf ins Loginskript ein. Es gibt Beispielskripte in der MSDN (IADSAccesscontrollist bzw. IADSSecurityDescriptor)). Schreib nochmal, wenn dus nicht findest.

cu

blub

Geschrieben

Beim Setzen der Berechtigungen auf Ordner oder Dateien über Gruppenrichtlinien muß man aber beachten, dass immer zusätzlich die Gruppe "System" mit dem Recht "Vollzugriff erlauben" hinzugefügt wird. Ansonsten gibt es Probleme ...

Geschrieben

Hallo Rockhound,

wenn's dir direkt per GPO ausreicht, ist das natürlich die einfachere Methode. Trotzdem der Vollständigkeit halber ein Beispielcode von MS in VB, um ACEs zu setzen

-----

Dim x as IADs

Dim sd as IADsSecurityDescriptor

Dim Ace1 As new IADsAccessControlEntry

Dim Ace2 As new IADsAccessControlEntry

Dim Dacl As new IADsAccessControlList

On Error GoTo Cleanup

 

Set x = GetObject("LDAP://OU=Sales,DC=Fabrikam,DC=com")

Set sd = x.Get("ntSecurityDescriptor")

 

' Add the ACEs to the Disretionary ACL.

 

Dacl.AclRevision = ADS_SD_REVISION_DS 'DS ACL Revision

' Set up the first ACE.

Ace1.AccessMask = -1 'Full Permission (Allowed)

Ace1.AceType = ADS_ACETYPE_ACCESS_ALLOWED

Ace1.AceFlags = ADS_ACEFLAG_INHERIT_ACE

Ace1.Trustee = "myMachine\Administrator"

 

' Set up the 2nd ACE.

Ace2.AccessMask = -1 'Full Permission (Denied)

Ace2.AceType = ADS_ACETYPE_ACCESS_DENIED

Ace2.AceFlags = ADS_ACEFLAG_INHERIT_ACE

Ace2.Trustee = "aDomain\aUser"

 

' Add the ACEs to the Disretionary ACL.

Dacl.AddAce Ace1

Dacl.AddAce Ace2

 

'Commit the changes.

sd.DiscretionaryAcl = Dacl

x.Put "ntSecurityDescriptor", Array(sd)

x.SetInfo

 

Cleanup:

If (Err.Number<>0) Then

MsgBox("An error has occurred. " & Err.Number)

End If

Set Ace1 = Nothing

Set Ace2 = Nothing

Set Dacl = Nothing

Set x = Nothing

Set sd = Nothing

---

  • 1 Jahr später...
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...