다음을 통해 공유


IADsUser::ChangePassword 메서드(iads.h)

IADsUser::ChangePassword 메서드는 사용자 암호를 지정된 이전 값에서 새 값으로 변경합니다.

구문

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

매개 변수

[in] bstrOldPassword

현재 암호를 포함하는 BSTR 입니다.

[out] bstrNewPassword

새 암호를 포함하는 BSTR 입니다.

반환 값

이 메서드는 S_OK 포함하여 표준 반환 값을 지원합니다. 자세한 내용 및 기타 반환 값은 ADSI 오류 코드를 참조하세요.

설명

IADsUser::ChangePasswordIADsUser::SetPassword 와 유사하게 작동합니다. 이 함수는 세 가지 방법 중 하나를 사용하여 암호를 변경합니다. 처음에는 서버에 대한 보안 SSL 연결이 설정된 경우 LDAP 공급자가 LDAP 암호 변경 작업을 시도합니다. 이 시도가 실패하면 LDAP 공급자는 Kerberos를 사용하려고 시도합니다(포리스트 간 인증으로 Windows에서 발생할 수 있는 몇 가지 문제는 IADsUser::SetPassword 참조). 또한 실패하면 마지막으로 Active Directory 특정 네트워크 관리 API인 NetUserChangePassword를 호출합니다.

Active Directory에서 호출자는 이 메서드를 사용하여 암호를 변경하려면 암호 변경 확장 제어 액세스 권한이 있어야 합니다.

예제

다음 코드 예제에서는 사용자 암호를 변경하는 방법을 보여 드립니다.

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

다음 코드 예제에서는 사용자 암호를 변경하는 방법을 보여 드립니다.

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 iads.h
DLL Activeds.dll

추가 정보

ADSI 오류 코드

IADsUser

IADsUser 속성 메서드