Share via


Método IADsUser::ChangePassword (iads.h)

El método IADsUser::ChangePassword cambia la contraseña de usuario del valor antiguo especificado a un nuevo valor.

Sintaxis

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

Parámetros

[in] bstrOldPassword

BSTR que contiene la contraseña actual.

[out] bstrNewPassword

BSTR que contiene la nueva contraseña.

Valor devuelto

Este método admite los valores devueltos estándar, incluidos S_OK. Para obtener más información y otros valores devueltos, vea Códigos de error adsi.

Comentarios

IADsUser::ChangePassword funciona de forma similar a IADsUser::SetPassword en que usará uno de los tres métodos para intentar cambiar la contraseña. Inicialmente, el proveedor LDAP intentará una operación de cambio de contraseña LDAP, si se establece una conexión SSL segura al servidor. Si se produce un error en este intento, el proveedor LDAP intentará usar Kerberos (consulte IADsUser::SetPassword para ver algunos problemas que pueden dar lugar a Windows con autenticación entre bosques) y, si esto también produce un error, finalmente llamará a la API de administración de red específica de Active Directory, NetUserChangePassword.

En Active Directory, el autor de la llamada debe tener el derecho de acceso de control extendido Cambiar contraseña para cambiar la contraseña con este método.

Ejemplos

En el ejemplo de código siguiente se muestra cómo cambiar una contraseña de usuario.

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

En el ejemplo de código siguiente se muestra cómo cambiar una contraseña de usuario.

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll

Consulte también

Códigos de error adsi

IADsUser

Métodos de propiedad IADsUser