Enables the User Cannot Change Password option, probleme [script vbs ] - Shell/Batch - Programmation
Marsh Posté le 05-11-2002 à 20:55:26
J'ai rédigé un script vbs pour créer un millier de comptes utilisateur, et je souhaite activer "l'utilisateur ne peut pas changer de mot de passe" Le code proposé par Microsoft http://www.microsoft.com/technet/t [...] efault.asp est Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6 Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1 Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-00aa0040529b}" Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100 Set objUser = GetObject("LDAP://cn=utilisateur,ou=classe,dc=collègebidule,dc=fr" ) Set objSD = objUser.Get("ntSecurityDescriptor" ) Set objDACL = objSD.DiscretionaryAcl arrTrustees = array("nt authority\self", "EVERYONE" ) For Each strTrustee in arrTrustees Set objACE = CreateObject("AccessControlEntry" ) objACE.Trustee = strTrustee objACE.AceFlags = 0 objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT objACE.ObjectType = CHANGE_PASSWORD_GUID objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS objDACL.AddAce objACE Next objSD.DiscretionaryAcl = objDACL objUser.Put "nTSecurityDescriptor", objSD objUser. SetInfo Or j'ai un message d'erreur : erreur : structure d'ID de sécurité non valide à l'avant dernière ligne de code objUser.Put "nTSecurityDescriptor", objSD Tout le reste est OK sauf ce point. Merci d'avance
Make sure you enter the(*)required information where indicate.HTML code is not allowed
Marsh Posté le 05-11-2002 à 20:55:26
J'ai rédigé un script vbs pour créer un millier de comptes utilisateur, et je souhaite activer "l'utilisateur ne peut pas changer de mot de passe"
Le code proposé par Microsoft
http://www.microsoft.com/technet/t [...] efault.asp
est
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6
Const ADS_ACEFLAG_OBJECT_TYPE_PRESENT = &H1
Const CHANGE_PASSWORD_GUID = "{ab721a53-1e2f-11d0-9819-00aa0040529b}"
Const ADS_RIGHT_DS_CONTROL_ACCESS = &H100
Set objUser = GetObject("LDAP://cn=utilisateur,ou=classe,dc=collègebidule,dc=fr" )
Set objSD = objUser.Get("ntSecurityDescriptor" )
Set objDACL = objSD.DiscretionaryAcl
arrTrustees = array("nt authority\self", "EVERYONE" )
For Each strTrustee in arrTrustees
Set objACE = CreateObject("AccessControlEntry" )
objACE.Trustee = strTrustee
objACE.AceFlags = 0
objACE.AceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT
objACE.Flags = ADS_ACEFLAG_OBJECT_TYPE_PRESENT
objACE.ObjectType = CHANGE_PASSWORD_GUID
objACE.AccessMask = ADS_RIGHT_DS_CONTROL_ACCESS
objDACL.AddAce objACE
Next
objSD.DiscretionaryAcl = objDACL
objUser.Put "nTSecurityDescriptor", objSD
objUser. SetInfo
Or j'ai un message d'erreur : erreur : structure d'ID de sécurité non valide
à l'avant dernière ligne de code objUser.Put "nTSecurityDescriptor", objSD
Tout le reste est OK sauf ce point.
Merci d'avance