Changer le mot de passe date d'expiration dans Active Directory à l'aide de VBS

Je suis en train de modifier la date d'expiration de mot de passe d'un utilisateur dans Active Directory à l'aide de VBScript. J'ai le code pour obtenir des informations sur un utilisateur, mot de passe, mais je ne trouve rien sur la façon de le changer. Toute aide serait grandement appréciée!

Voici mon code:

Const SEC_IN_DAY = 86400
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000

Set objOU = GetObject("LDAP://CN=[username],OU=Users,OU=New York,OU=NA,OU=[domain],DC=[domain],DC=firm")

intCurrentValue = objOU.Get("userAccountControl")

If intCurrentValue and ADS_UF_DONT_EXPIRE_PASSWD Then
  wscript.echo "The password does not expire."
Else
  dtmValue = objOU.PasswordLastChanged 
  Wscript.echo "The password was last changed on " & _
  DateValue(dtmValue) & " at " & TimeValue(dtmValue) & VbCrLf & _
  "The difference between when the password was last set" & VbCrLf & _
  "and today is " & int(now - dtmValue) & " days"
  intTimeInterval = int(now - dtmValue)

  Set objDomainNT = GetObject("WinNT://ropesgray")
  intMaxPwdAge = objDomainNT.Get("MaxPasswordAge")
  If intMaxPwdAge < 0 Then
    WScript.Echo "The Maximum Password Age is set to 0 in the " & _
      "domain. Therefore, the password does not expire."
  Else
    intMaxPwdAge = (intMaxPwdAge/SEC_IN_DAY)
    Wscript.echo "The maximum password age is " & intMaxPwdAge & " days"
    If intTimeInterval >= intMaxPwdAge Then
      Wscript.echo "The password has expired."
    Else
      Wscript.echo "The password will expire on " & _
      DateValue(dtmValue + intMaxPwdAge) & " (" & _
      int((dtmValue + intMaxPwdAge) - now) & " days from today" & ")."
    End If
  End If
End If


'strUserPrincipalName = objOU.Get("userPrincipalName")
'strSAMAccountName = objOU.Get("sAMAccountName")
'strMaxPWAge = objOU.Get("manager")

'WScript.Echo strUserPrincipalName
'WScript.Echo strSAMAccountName
'WScript.Echo strMaxPWAge
J'ai trouvé la propriété qui doit être changé (je crois): PasswordLastChanged, mais je suis incapable de le définir. J'ai essayé de fixer une autre propriété (code postal) et a été en mesure de définir à l'aide de objUser.SetInfo, mais lorsque je tente de régler la date, la même ligne renvoie une erreur: objUser.Mettre "PasswordLastChanged", Dateval("31-Mar-11") objUser.SetInfo

OriginalL'auteur Jesse Roper | 2011-04-05