アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在ADSIを利用してクライアントからActiveDirectoryのドメインユーザパスワードをリセットするツールを作成しています。

LDAPで接続はするのですが、どうしてもSetPasswordにてエラーが発生してしまいます。
ChangePasswordでは処理が通るのですが、元パスワードがわからない状況を考えるとSetPasswordで行う必要があります。

対処法など知ってる人がいれば御教え願えないでしょうか。

ちなみに、WindowsXPの環境では同じもので問題なく動作します。
上記のことから、環境によって影響を受けているのではないかと推測しているのですが、切り分けができません。

どうか、よろしく御願いいたします。

環境
サーバwindows server2003
クライアントwindows 2000SP4

エラー
-2147023570 オートメーション エラーです。
ユーザー名を認識できないか、またはパスワードが間違っています。

A 回答 (2件)

>一応、質問に記入しているのですが、わかりにくかったようで申し訳ありません。


業務中のこっそり見なので、完全に読み飛ばしをした、私のミスです。
本当に、すいません。


あらためて、情報願います。

>XP環境では問題なく
XPでも2000でも、同じドメインユーザを利用ですか?

異なるのであれば、両環境のユーザは、ドメイン環境で同じ権限を持ってますよね?

この回答への補足

解決しました。どうもありがとうございました。

補足日時:2005/05/31 16:38
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>>XPでも2000でも、同じドメインユーザを利用ですか?

LDAPでつなぎにいくときのユーザは同じドメインユーザを使っています。

補足:
ADSIはActiveDSTypeLibrary(activeds.tlb)を参照して使っています。
他のWindows2000のPCで正常に動作するものが見つかったので、activeds.tlb及びactiveds.dllのバージョン情報を比較したのですが、どちらも同じバージョンでした。
WindowsUpdateも最新にしました。

下記にソースの一部を記入します。

Set objDs = GetObject("LDAP:")
Set objDsItem = objDs.OpenDSObject("接続文字列","パスワード変更権限のあるユーザ", "パスワード", ADS_SECURE_AUTHENTICATION)

objDsItem.SetPassword "変更したいパスワード" ←ここでコケます。
objDsItem.SetInfo

ちなみに、パスワード変更権限のあるユーザアカウントで繋ぎ、一般ユーザのパスワードを変更しようとしています。

Windows2000上でもプログラムが問題なく動くものを見つけたので、比較して切り分けしたいのですが、なかなか環境の差をみつけれません^^;

何か手がかりがあれば何でもよいのでお願いします。

お礼日時:2005/05/17 17:43

「ADSI」


でここの掲示板の履歴を検索してみましょ。

>どうしてもSetPasswordにてエラーが発生してしまいます

どのようなエラー内容なんでしょうか?
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。

エラー
-2147023570 オートメーション エラーです。
ユーザー名を認識できないか、またはパスワードが間違っています。

一応、質問に記入しているのですが、わかりにくかったようで申し訳ありません。

後、ここの掲示板をはじめ色々検索してみたのですが、解決されたページは見つかりませんでした。

補足:
質問にも書きましたが、XP環境では問題なくPGは動作してエラーは発生しません。
このことからユーザ名やパスワードが間違っているとは思えないのです。。。

お礼日時:2005/05/17 14:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!