Je peux créer des utilisateurs, mais j'ai problème de définir les propriétés.
Je veux créer des utilisateurs avec ce propriétés:
CANT CHANGE MOT DE PASSE UTILISATEUR
PASSWORD récent EXPIRÉ
J'utilise ce script. Ce script crée l'utilisateur, mais l'attribut USER CANT CHANGE PASSWORD ne pouvez pas installer:
[code]
Const ADS_UF_SCRIPT = & H1
Const ADS_UF_ACCOUNTDISABLE = & H2
Const ADS_UF_HOMEDIR_REQUIRED = & H8
Const ADS_UF_LOCKOUT = & H10
Const ADS_UF_PASSWD_NOTREQD = & H20
Const ADS_UF_PASSWD_CANT_CHANGE = & H40
Const ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = & h80
Const ADS_UF_TEMP_DUPLICATE_ACCOUNT = & H100
Const ADS_UF_NORMAL_ACCOUNT = & H200
Const ADS_UF_INTERDOMAIN_TRUST_ACCOUNT = & H800
Const ADS_UF_WORKSTATION_TRUST_ACCOUNT = & H1000
Const ADS_UF_SERVER_TRUST_ACCOUNT = & H2000
Const ADS_UF_DONT_EXPIRE_PASSWD = & H10000
Const ADS_UF_MNS_LOGON_ACCOUNT = & H20000
Const ADS_UF_SMARTCARD_REQUIRED = & H40000
Const ADS_UF_TRUSTED_FOR_DELEGATION = & H80000
Const ADS_UF_NOT_DELEGATED = & H100000
Const ADS_UF_USE_DES_KEY_ONLY = & H200000
Const ADS_UF_DONT_REQUIRE_PREAUTH = & H400000
Const ADS_UF_PASSWORD_EXPIRED = & H800000
Const ADS_UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION = & H1000000
MsgBox "appelant les sous"
appel createuser ( "nom1", "n1", "123456")
Public Sub createuser (strName, strSAMAccountName, strInitialPassword)
Dim objRootDSE
Dim objUsers
Dim objNewUser
Dim sOU1
Dim sRoot
On Error Resume Next
Liaison à l'objet RootDSE.
Set objRootDSE = GetObject ( "LDAP: / / RootDSE»)
Si (Err.Number <> 0) Then
MsgBox "erreur de Liaison à l'objet RootDSE:" & Err.Number
Exit Sub
End If
sRoot = objRootDSE.Get ( "defaultNamingContext")
Bind pour le dossier Utilisateurs du domaine.
Set objUsers = GetObject ( "LDAP: / / CN = tcb," & objRootDSE. Get ( "defaultNamingContext"))
sOU1 = "tcb"
Set objUsers = GetObject ( "LDAP: / / OU =" & sOU1 & "," & sRoot)
Si (Err.Number <> 0) Then
MsgBox "LDAP: / / OU =" & sOU1 & "," & sRoot
MsgBox "erreur de Bind pour le dossier Utilisateurs du domaine.:" & Err.Number
Exit Sub
End If
Créer l'objet utilisateur.
Set objNewUser = objUsers.Create ( "user", "CN =" + strName)
Si (Err. Number <> 0) Then
MsgBox "Erreur de Création de l'objet utilisateur ..:" & Err.Number
Exit Sub
End If
Définissez la propriété sAMAccountName.
objNewUser.Put "sAMAccountName", strSAMAccountName
Si (Err.Number <> 0) Then
MsgBox "Erreur de Set sAMAccountName la propriété.:" & Err.Number
Exit Sub
End If
Comité du nouvel utilisateur.
objNewUser.SetInfo
Si (Err. Number <> 0) Then
MsgBox "erreur de s'engager, le nouvel utilisateur:" & Err.Number
Exit Sub
End If
Définir le mot de passe initial. Cela doit être effectué après
SetInfo est appelé parce que l'objet utilisateur doit
existent déjà sur le serveur.
objNewUser.SetPassword strInitialPassword
Si (Err.Number <> 0) Then
MsgBox "erreur de mot de passe initial Set:" & Err. Nombre
Exit Sub
End If
Définissez la propriété pwdLastSet à zéro, ce qui force les
utilisateur de changer leur mot de passe à la prochaine ouverture de session.
objNewUser.Put "pwdLastSet", 0
Si (Err.Number <> 0) Then
MsgBox "erreur de mot de passe initial Set:" & Err.Number
Exit Sub
End If
Pour activer le compte d'utilisateur, supprimez le
ADS_UF_ACCOUNTDISABLE drapeau de la userAccountControl
propriété. Aussi, supprimez la ADS_UF_PASSWD_NOTREQD et
ADS_UF_DONT_EXPIRE_PASSWD drapeaux de la
propriété userAccountControl.
userActCtrl = objNewUser.Get ( "userAccountControl")
userActCtrl = userActCtrl Et ADS_UF_DONT_EXPIRE_PASSWD Ou ADS_UF_PASSWD_CANT_CHANGE ou non (ADS_UF_ACCOUNTDISABLE)
objNewUser.Put "userAccountControl", userActCtrl
Si (Err.Number <> 0) Then
Exit Sub
End If
Comité de la mise à jour des propriétés.
objNewUser.SetInfo
End Sub & #91; code & #93; & #91; / code & #93;