IADsUser::ChangePassword メソッド (iads.h)
IADsUser::ChangePassword メソッドは、ユーザー パスワードを指定された古い値から新しい値に変更します。
構文
HRESULT ChangePassword(
[in] BSTR bstrOldPassword,
[out] BSTR bstrNewPassword
);
パラメーター
[in] bstrOldPassword
現在のパスワードを含む BSTR 。
[out] bstrNewPassword
新しいパスワードを含む BSTR 。
戻り値
このメソッドは、S_OKを含む標準の戻り値をサポートします。 詳細およびその他の戻り値については、「 ADSI エラー コード」を参照してください。
注釈
IADsUser::ChangePassword は IADsUser::SetPassword と同様に機能し、3 つの方法のいずれかを使用してパスワードの変更を試みます。 最初に、LDAP プロバイダーは、サーバーへのセキュリティで保護された SSL 接続が確立されている場合に、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 |