次の方法で共有


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