다음을 통해 공유


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

IADsUser::SetPassword 메서드는 사용자 암호를 지정된 값으로 설정합니다. LDAP 공급자의 경우 IADsUser::SetPassword가 호출되기 전에 IADs::SetInfo를 사용하여 사용자 계정을 만들고 기본 디렉터리에 저장해야 합니다.

그러나 WinNT 공급자를 사용하면 SetInfo를 호출하기 전에 새로 만든 사용자 개체에서 암호를 설정할 수 있습니다. 이렇게 하면 사용자 계정을 만들기 전에 시스템 암호 정책을 준수하는 암호를 만들 수 있습니다.

구문

HRESULT SetPassword(
  BSTR NewPassword
);

매개 변수

NewPassword

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

반환 값

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

설명

Active Directory용 LDAP 공급자는 세 가지 프로세스 중 하나를 사용하여 암호를 설정합니다. iPlanet과 같은 타사 LDAP 디렉터리에서는 이 암호 인증 프로세스를 사용하지 않습니다. 메서드는 네트워크 구성에 따라 달라질 수 있습니다. 암호를 설정하려는 시도는 다음 순서로 발생합니다.

  • 먼저 LDAP 공급자는 128비트 SSL 연결을 통해 LDAP를 사용하려고 시도합니다. LDAP SSL이 성공적으로 작동하려면 LDAP 서버에 적절한 서버 인증 인증서가 설치되어 있어야 하며 ADSI 코드를 실행하는 클라이언트는 해당 인증서를 발급한 기관을 신뢰해야 합니다. 서버와 클라이언트 모두 128비트 암호화를 지원해야 합니다.
  • 둘째, SSL 연결에 실패하면 LDAP 공급자가 Kerberos를 사용하려고 시도합니다.
  • 셋째, Kerberos가 실패하면 LDAP 공급자가 NetUserSetInfo API 호출을 시도합니다. 이전 릴리스에서 ADSI는 스레드가 실행되고 있는 보안 컨텍스트에서 NetUserSetInfo 를 호출했으며 IADsOpenDSObject::OpenDSObject 또는 ADsOpenObject 호출에 지정된 보안 컨텍스트가 아닙니다. 이후 릴리스에서는 ADSI LDAP 공급자가 NetUserSetInfo를 호출할 때 OpenDSObject 호출에 지정된 사용자를 가장하도록 변경되었습니다.
Active Directory에서 호출자는 이 메서드를 사용하여 암호를 설정하려면 암호 재설정 확장 제어 권한이 있어야 합니다.

예제

다음 코드 예제에서는 사용 권한이 있는 경우 사용자 암호를 설정하는 방법을 보여 드립니다.

Dim usr As IADsUser
Dim szPassword As String
On Error GoTo Cleanup

' Add code to securely get the password.

Set usr = GetObject("LDAP://MyLdapSvr/CN=JeffSmith,DC=Fabrikam")
usr.SetPassword szPassword

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

다음 코드 예제에서는 사용 권한이 있는 경우 사용자 암호를 설정하는 방법을 보여 드립니다.

HRESULT SetPassword(IADsUser *pUser, BSTR password)
{
    HRESULT hr=S_OK;
    if(!pUser) { return E_FAIL;}
    hr = pUser->SetPassword(password);
    if (hr == S_OK) printf("User password has been set");
    pUser->Release();
    return hr;
}

요구 사항

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

참고 항목

ADSI 오류 코드

IADs::SetInfo

IADsMembers

IADsServiceOperations

IADsUser

IADsUser 속성 메서드

NetUserSetInfo