Freigeben über


Benutzer müssen das Kennwort bei der nächsten Anmeldung ändern (LDAP-Anbieter)

Um einen Benutzer zu zwingen, sein Kennwort bei der nächsten Anmeldung zu ändern, legen Sie das pwdLastSet-Attribut auf Null (0) fest. Um diese Anforderung zu entfernen, legen Sie das pwdLastSet-Attribut auf -1 fest. Das pwdLastSet-Attribut kann nicht auf einen anderen Wert außer vom System festgelegt werden.

Im folgenden Codebeispiel wird gezeigt, wie die Option "Benutzer muss kennwort bei nächster Anmeldung ändern" festgelegt wird.

Dim usr as IADs

Set usr = GetObject("LDAP://CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=Com")
usr.Put "pwdLastSet", CLng(0)
usr.SetInfo

Im folgenden Codebeispiel wird gezeigt, wie die Option "Benutzer muss kennwort bei nächster Anmeldung ändern" festgelegt wird.

/***************************************************************************

    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;
}