n4426
Goto Top

Objektverwaltung über VBS-Script

Windows 2000 Domain

Hallo,

über folgendes Script, kann ich ja im Active Directory OUs (z.B. User untter TEST) anlegen.


strContainer = "OU=TEST"  
strName = "User"  

'***********************************************  
'*         Connect to a container              *  
'***********************************************  
Set objRootDSE = GetObject("LDAP://rootDSE")  
If strContainer = "" Then  
  Set objContainer = GetObject("LDAP://" & _  
    objRootDSE.Get("defaultNamingContext"))  
Else
  Set objContainer = GetObject("LDAP://" & strContainer & "," & _  
    objRootDSE.Get("defaultNamingContext"))  
End If
'***********************************************  
'*       End connect to a container            *  
'***********************************************  

Set objOrganizationalunit = objContainer.Create("organizationalUnit", "ou=" & strName)  
objOrganizationalunit.SetInfo

Jezt hab ich die Frage, ob und wie es möglich ist einer Gruppe (z.B. Hotline_PWR) über ein Script auch gleich die Rechte zum zurücksetzen der Passwörter der User geben kann.

Hat da eine von euch eine Idee bzw. eine Lösung? (hab schon einige Zeit gegoogeld ab da immer nur die manuelle Methode über den Objetkverwaltungsassistenten gefunden)

mfg
andi

PS: Noch einen schönen rest Hl. Abend und fohre Feiertage.

Content-Key: 76606

Url: https://administrator.de/contentid/76606

Printed on: April 24, 2024 at 06:04 o'clock

Member: bastla
bastla Dec 25, 2007 at 09:34:21 (UTC)
Goto Top
Member: n4426
n4426 Dec 25, 2007 at 09:56:02 (UTC)
Goto Top
Hi Bastla,

werd ich mir anschaun und mich dann wieder melden.

mfg
andi
Member: n4426
n4426 Dec 26, 2007 at 17:10:45 (UTC)
Goto Top
Hallo Bastla,

mit diesem script funktioniert das soweit ganz gut (Berechtigung Kennwort erneut festlegen wird für die Gruppe Hotline_PWR vergeben). Nur hab ich das Problem, das beim zurücksetzen des Kennwortes auch die Änderung des Kennwortes bei der nächsten anmeldung gesetzt werden soll/muss.

Ich hab mir mal angeschaut, welche rechte vom Objektverwaltungs-Assistenten vergeben werden. Dieser vergibt auch noch die Rechte pwdLastSet lesen und pwdLastSet schreiben. Auf den beiden Seiten hab ich dazu irgendwie nichts finden können (hab auch bei Google gesucht und auch nichts passendes gefunden).

Hast du da zufällig schon mal was darüber gefunden?


Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5
Const ADS_FLAG_OBJECT_TYPE_PRESENT = &H1
Const ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT = &H2
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
Const ADS_ACEFLAG_INHERIT_ACE = &H2

Set objSdUtil = GetObject("LDAP://OU=Test, DC=Domain, DC=local")  
Set objSD = objSdUtil.Get("ntSecurityDescriptor")  
Set objDACL = objSD.DiscretionaryACL
Set objAce = CreateObject("AccessControlEntry")  

objAce.Trustee = "Domain\Hotline_PWR"  
objAce.AceFlags = ADS_ACEFLAG_INHERIT_ACE
objAce.AceType = ADS_ACETYPE_ACCESS_ALLOWED_OBJECT
objAce.Flags = ADS_FLAG_OBJECT_TYPE_PRESENT OR ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT
objAce.ObjectType = "{00299570-246d-11d0-a768-00aa006e0529}"  
objACE.InheritedObjectType = "{BF967ABA-0DE6-11D0-A285-00AA003049E2}"  
objAce.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objAce

objSD.DiscretionaryAcl = objDACL
objSDUtil.Put "ntSecurityDescriptor", Array(objSD)  
objSDUtil.SetInfo

mfg
andi
Member: bastla
bastla Dec 28, 2007 at 20:05:46 (UTC)
Goto Top
Hallo n4426!

... Rechte pwdLastSet lesen und pwdLastSet schreiben
Dazu wäre mir das im zweiten Artikel beschriebene "property set" "Domain Password and Lockout Policies" aufgefallen - hast Du es damit schon versucht? Ansonsten habe ich bisher auch nichts Passendes finden können.

Grüße
bastla