Freigeben über


IADsUser::ChangePassword-Methode (iads.h)

Die IADsUser::ChangePassword-Methode ändert das Benutzerkennwort vom angegebenen alten Wert in einen neuen Wert.

Syntax

HRESULT ChangePassword(
  [in]  BSTR bstrOldPassword,
  [out] BSTR bstrNewPassword
);

Parameter

[in] bstrOldPassword

Ein BSTR , der das aktuelle Kennwort enthält.

[out] bstrNewPassword

Ein BSTR , der das neue Kennwort enthält.

Rückgabewert

Diese Methode unterstützt die Standardmäßigen Rückgabewerte, einschließlich S_OK. Weitere Informationen und andere Rückgabewerte finden Sie unter ADSI-Fehlercodes.

Hinweise

IADsUser::ChangePassword funktioniert ähnlich wie IADsUser::SetPassword , da eine von drei Methoden verwendet wird, um das Kennwort zu ändern. Zunächst versucht der LDAP-Anbieter, ein LDAP-Kennwort zu ändern, wenn eine sichere SSL-Verbindung mit dem Server hergestellt wird. Wenn dieser Versuch fehlschlägt, versucht der LDAP-Anbieter als Nächstes, Kerberos zu verwenden (informationen zu einigen Problemen, die unter Windows bei gesamtstrukturübergreifender Authentifizierung auftreten können, finden Sie unter IADsUser::SetPassword ). Wenn dies ebenfalls fehlschlägt, ruft er schließlich die Active Directory-spezifische Netzwerkverwaltungs-API NetUserChangePassword auf.

In Active Directory muss der Aufrufer über das erweiterte Zugriffssteuerungsrecht Kennwort ändern verfügen, um das Kennwort mit dieser Methode zu ändern.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie ein Benutzerkennwort ändern.

Dim usr As IADsUser
Dim szOldPass As String
Dim szNewPass As String

On Error GoTo Cleanup

Set usr = GetObject("WinNT://Fabrikam/JeffSmith,user")
' Add code to securely retrieve the old and new password.

usr.ChangePassword szOldPass, szNewPass

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set usr = Nothing

Im folgenden Codebeispiel wird gezeigt, wie Sie ein Benutzerkennwort ändern.

HRESULT ChangePassword(
    IADsUser *pUser, 
    LPWSTR oldPasswd, 
    LPWSTR newPasswd)
{
    HRESULT hr=S_OK;
    if(!pUser) { return E_FAIL;}
    hr = pUser->ChangePassword(oldPasswd, newPasswd);
    printf("User password has been changed");
    return hr;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile iads.h
DLL Activeds.dll

Weitere Informationen

ADSI-Fehlercodes

IADsUser

Methoden der IADsUser-Eigenschaft