ユーザーは次回ログオン時にパスワードの変更が必要 (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;
}