Compartilhar via


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

O método IADsUser::ChangePassword altera a senha do usuário do valor antigo especificado para um novo valor.

Sintaxe

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

Parâmetros

[in] bstrOldPassword

Um BSTR que contém a senha atual.

[out] bstrNewPassword

Um BSTR que contém a nova senha.

Retornar valor

Esse método dá suporte aos valores de retorno padrão, incluindo S_OK. Para obter mais informações e outros valores retornados, consulte Códigos de erro ADSI.

Comentários

IADsUser::ChangePassword funciona de forma semelhante a IADsUser::SetPassword , pois ele usará um dos três métodos para tentar alterar a senha. Inicialmente, o provedor LDAP tentará uma operação de alteração de senha LDAP, se uma conexão SSL segura com o servidor for estabelecida. Se essa tentativa falhar, o provedor LDAP tentará usar Kerberos (consulte IADsUser::SetPassword para alguns problemas que podem resultar no Windows com autenticação entre florestas) e, se isso também falhar, ele finalmente chamará a API de gerenciamento de rede específica do Active Directory, NetUserChangePassword.

No Active Directory, o chamador deve ter o direito de controle estendido Alterar Senha para alterar a senha com esse método.

Exemplos

O exemplo de código a seguir mostra como alterar uma senha de usuário.

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

O exemplo de código a seguir mostra como alterar uma senha de usuário.

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 Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h
DLL Activeds.dll

Confira também

Códigos de erro ADSI

Iadsuser

Métodos da propriedade IADsUser