- PR -

ADSIを利用したユーザーのパスワード設定

1
投稿者投稿内容
よしまさ
常連さん
会議室デビュー日: 2003/11/04
投稿数: 20
投稿日時: 2003-11-04 17:28
現在VB6.0でWindows2000serverのアクティブディレクトリにユーザーを登録するプログラムを作成しています。

サーバーを指定してユーザー登録しようとしているのですが、パスワードの設定のところでエラーになり、ネットワークパスが見つかりませんとメッセージが表示されます。

パスワードの設定の個所をコメントアウトするとその他の設定はうまくいきます

マイクロソフトの技術情報でサービスパック3以降をあてていれば問題は解決するとのことですが、サービスパック4をあてています。

このプログラムを実行しているPCのOSはWindows2000です。登録しようとしているアクティブディレクトリのドメインには参加していません。

現在のコードは以下の通りです。

Set objUsers = objDS.OpenDSObject("LDAP://"+server1+"389/ _
CN=Users,DC=test,DC=com" _
strUserName, _
strPassword, _
ADS_SECURE_AUTHENTICATION)

Set objNewUser = objUsers.Create("user", "CN=test")
objNewUser.Put "sAMAccountName", "test"
objNewUser.SetInfo
objNewUser.SetPassword "a"

マイクロソフトの以下のページを参照しました。
http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com%2Fisapi%2Fgomscom.asp%3FTARGET%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2FJP292%2F5%2F73.asp

どうぞよろしくお願いします。
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-11-04 18:01
わたしのサイトでは、下記方法で成功しています。

# プログラムを実行しているPCはドメインに参加しています。

With user_if
Call .Put("samAccountName", "Name")
Call .Put("userPrincipalName", "Name.domain.co.jp")
Call .SetInfo
Call .SetPassword("password")
.AccountDisabled = False
Call .SetInfo
End With

Q1.userPrincipalNameを設定してみてはどうでしょうか?
Q2.クライアントPCをドメインに参加させて試すことはできませんか?
Q3.ユーザーは作成された状態なのでしょうか?
よしまさ
常連さん
会議室デビュー日: 2003/11/04
投稿数: 20
投稿日時: 2003-11-04 18:48
ななさま、ご返答ありがとうございます。

Q1.userPrincipalNameを設定してみてはどうでしょうか?
 userPrincipalNameを設定して、SetInfoしようとすると、オートメーションエラーです。
 制限の違反が発生しました。というメッセージが表示されます。

Q2.クライアントPCをドメインに参加させて試すことはできませんか?
 ドメインに参加させた状況でも同じようにエラーが出ます。

Q3.ユーザーは作成された状態なのでしょうか?
 ユーザーは新規登録です。しかし、SetInfoしたあとにパスワードの設定をしようとしている ので、ユーザーは作成された状態ではあります。

LDAPプロバイダを使用するときに、ドメインに参加した状態で、サーバーを指定しなければうまくいっていました。

ちなみにuser_ifはどのように取得したオブジェクトなのでしょうか?

どうぞよろしくお願いします。
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-11-04 19:05
> ちなみにuser_ifはどのように取得したオブジェクトなのでしょうか?

Dim user_if As IADsUser
Set user_if = cont_if.Create("user", "CN=user")

と、型を明示的に指定しています。
よしまさ
常連さん
会議室デビュー日: 2003/11/04
投稿数: 20
投稿日時: 2003-11-05 14:09
ななさま、なんどもご返答ありがとうございます。

いろいろとやってみるのですがなかなかうまくいきません。

ユーザーを登録しようとしているドメインにPCが参加しなければ、やはりパスワードの設定は無理なのでしょうか?

ネットワークパスが見つかりませんというエラーが出るということは、パスワードの設定はLDAPで取得してきたセッション以外の個所に参照しに行くということなのでしょうか?

1

スキルアップ/キャリアアップ(JOB@IT)