Пользователь должен изменить пароль при следующем входе (поставщик LDAP)
Чтобы принудить пользователя изменить пароль при следующем входе, задайте для атрибута pwdLastSet значение нулю (0). Чтобы удалить это требование, задайте для атрибута pwdLastSet значение -1. Атрибут pwdLastSet не может быть задан для любого другого значения, кроме системы.
В следующем примере кода показано, как задать параметр "Пользователь должен изменить пароль при следующем входе".
Dim usr as IADs
Set usr = GetObject("LDAP://CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=Com")
usr.Put "pwdLastSet", CLng(0)
usr.SetInfo
В следующем примере кода показано, как задать параметр "Пользователь должен изменить пароль при следующем входе".
/***************************************************************************
SetUserMustChangePassword()
***************************************************************************/
HRESULT SetUserMustChangePassword(LPCWSTR pwszUserADsPath,
LPCWSTR pwszUsername,
LPCWSTR pwszPassword)
{
IADs *pUser;
HRESULT hr;
hr = ADsOpenObject(pwszUserADsPath,
pwszUsername,
pwszPassword,
ADS_SECURE_AUTHENTICATION,
IID_IADs,
(void**)&pUser);
if(SUCCEEDED(hr))
{
VARIANT var;
VariantInit(&var);
V_I4(&var) = 0;
V_VT(&var) = VT_I4;
hr = pUser->Put(CComBSTR("pwdLastSet"), var);
hr = pUser->SetInfo();
VariantClear(&var);
pUser->Release();
}
return hr;
}