[AD/Script] Groep met FC rechten toevoegen User(security)

Pagina: 1
Acties:

  • borgdaville
  • Registratie: December 2000
  • Laatst online: 17:46
Wat ik wil:
Met een script een groep met FC rechten aan de security tab van een user object toevoegen

Wat ik zelf heb gemaakt/gevonden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5
Const ADS_RIGHT_DS_READ_PROP = &H10
Const ADS_RIGHT_DS_WRITE_PROP = &H20
Const ADS_FLAG_OBJECT_TYPE_PRESENT = &H1
Const ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT = &H2

Set objSdUtil = GetObject("LDAP://CN=Test123, OU=Test ,dc=domein,dc=nl")
Set objSD = objSdUtil.Get("ntSecurityDescriptor")
Set objDACL = objSD.DiscretionaryACL

Set objAce = CreateObject("AccessControlEntry")

objAce.Trustee = "TestGroep"
objAce.AceFlags = 0
objAce.AceType = ADS_ACETYPE_ACCESS_ALLOWED_OBJECT
objAce.Flags = ADS_FLAG_OBJECT_TYPE_PRESENT
objAce.ObjectType = "{77b5b886-944a-11d1-aebd-0000f80367c1}"
objAce.AccessMask = ADS_RIGHT_DS_READ_PROP OR ADS_RIGHT_DS_WRITE_PROP
objDacl.AddAce objAce

objSD.DiscretionaryAcl = objDacl

objSDUtil.Put "ntSecurityDescriptor", Array(objSD)
objSDUtil.SetInfo

Dit werkt, ik kan hiermee rechten zetten. Op Regel 18 worden namelijk de (special) rechten gezet voor "Read personal information" en "Write personal information". Echter ik wil hier Full Control(of Access zoals het ook wel vaker wordt genoemd) rechten toekennen. Voor deze groep. Ik ben nu al uren aan het googlen en aan het proberen, en ik begin er aan te twijfelen of het uberhaupt wel mogelijk is....

Wie weet raad? Wat ik specifiek zoek is de code die bij de constanten(bovenaan) wordt gebruikt, maar dan om Full Control/Access rechten toe te kennen.

edit: voor de duidelijkheid dit gaat over rechten op de security tab van een user object in de active directory en niet over NTFS rechten

edit2: ik heb mijn informatie van http://www.microsoft.com/...cs/security/exrights.mspx, hier wordt in de intro precies uitgelegd wat ik wil, alleen in de voorbeelden doen ze alleen bepaalde special rights zetten, en wordt geen overzicht gegeven met de mogelijkheden.

[ Voor 11% gewijzigd door borgdaville op 15-01-2009 15:59 ]

Familieman, nerd, mooi weer fietser, buitenmens en levensgenieter...


  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
Misschien heb je hier iets aan, dit legt het duidelijk uit: http://www.microsoft.com/...cs/security/exrights.mspx
al heb ik het idee dat je dat script hier hebt gecopypaste. Wel zo handig om dat even in de topicstart te vermelden ;)

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


  • borgdaville
  • Registratie: December 2000
  • Laatst online: 17:46
sanfranjake schreef op donderdag 15 januari 2009 @ 15:56:
Misschien heb je hier iets aan, dit legt het duidelijk uit: http://www.microsoft.com/...cs/security/exrights.mspx
al heb ik het idee dat je dat script hier hebt gecopypaste. Wel zo handig om dat even in de topicstart te vermelden ;)
ik heb het toegevoegd, daar heb ik indd mijn info vandaag.

Familieman, nerd, mooi weer fietser, buitenmens en levensgenieter...


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Daar staat het ook in.

Scripting Center artikel dit keer compleet doorlezen, tot voorbij de code example ;)

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • borgdaville
  • Registratie: December 2000
  • Laatst online: 17:46
alt-92 schreef op donderdag 15 januari 2009 @ 16:06:
Daar staat het ook in.

Scripting Center artikel dit keer compleet doorlezen, tot voorbij de code example ;)
Bedoel je dit:
code:
1
AccessMask. The AccessMask is a bitflag property containing all the access privileges being granted (or denied) by the ACE. As we saw earlier, Active Directory objects support at least some of the same permissions – Read, Write, Full Control – that you see when working with the security descriptors on files or folder. When working with an extended right, however, you must assign the ADS_RIGHT_DS_CONTROL_ACCESS right to the AccessMask. Therefore, every extended rights script you write will include a line of code similar to this:

?

Ik kan daar niets concreets uit afleiden..ik zoek de bitflag property voor FC rechten

Familieman, nerd, mooi weer fietser, buitenmens en levensgenieter...


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Je bedelt ook echt om het rechtstreekse linkje he? :P
einde section 1:
How did we know which constants to use, and what the values of those constants are? Why, we just looked at the Active Directory Security Descriptor Constants page, of course.
* alt-92 hands borgdaville a manual "How to read a full article"

[ Voor 8% gewijzigd door alt-92 op 15-01-2009 16:22 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • borgdaville
  • Registratie: December 2000
  • Laatst online: 17:46
alt-92 schreef op donderdag 15 januari 2009 @ 16:20:
Je bedelt ook echt om het rechtstreekse linkje he? :P
einde section 1:

[...]


* alt-92 hands borgdaville a manual "How to read a full article"
het zat hem niet in de ADS_RIGHTS_.... maar in de AceType deze moet &H0 zijn.

[ Voor 18% gewijzigd door borgdaville op 15-01-2009 16:40 ]

Familieman, nerd, mooi weer fietser, buitenmens en levensgenieter...


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

borgdaville schreef op donderdag 15 januari 2009 @ 16:35:
noem mij maar gek, maar met alle waardes uit het "ADS_RIGHTS_ENUM (Access Mask)" lijste kan ik alleen de Personal Information rechten veranderen.
Je kan beter echt het hele artikel drie keer doorlezen.

je GUID " {77b5b886-944a-11d1-aebd-0000f80367c1} " bepaalt namelijk het object type waarop je je Access Mask op toepast.
En de ACEtype wat je precies wil doen (allow/deny).

Nog wat nuttige code http://msdn.microsoft.com/en-us/library/ms676884(VS.85).aspx

[ Voor 13% gewijzigd door alt-92 op 15-01-2009 16:43 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • borgdaville
  • Registratie: December 2000
  • Laatst online: 17:46
ik heb het voorelkaar, het script doet voor een OU een groep toevoegen en deze FC rechten geven.

voor de volledigheid het hele script dat voor mij werkt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H0
Const ADS_FLAG_OBJECT_TYPE_PRESENT = &H1
Const ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT = &H2
Const ADS_RIGHT_GENERIC_ALL = &H10000000

Set objOU = GetObject("LDAP://ou=test,dc=domein,dc=nl")
objOU.Filter = Array("user")


FOR EACH objUser in objOU

    Set objSD = objUser.Get("ntSecurityDescriptor")
    Set objDACL = objSD.DiscretionaryACL

    Set objAce = CreateObject("AccessControlEntry")

    objAce.Trustee = "TestGroep"
    objAce.AceFlags = 0
    objAce.AceType = ADS_ACETYPE_ACCESS_ALLOWED_OBJECT
    objAce.Flags = ADS_FLAG_OBJECT_TYPE_PRESENT
    objAce.AccessMask = ADS_RIGHT_GENERIC_ALL
    objDacl.AddAce objAce

    objSD.DiscretionaryAcl = objDacl

    objUser.Put "ntSecurityDescriptor", Array(objSD)
    objUser.SetInfo

Next

[ Voor 3% gewijzigd door borgdaville op 16-01-2009 08:48 ]

Familieman, nerd, mooi weer fietser, buitenmens en levensgenieter...

Pagina: 1