- PR -

ADSIのSetPasswordでエラーとなる(ASP.NET)

1
投稿者投稿内容
う〜にん
会議室デビュー日: 2005/01/02
投稿数: 19
投稿日時: 2005-07-26 23:07
<環境>
Microsoft Windows Server 2003 Standard Edition
ASP.NET(VB)
.NET Framework 1.1
参照設定:ActiveDs(Active DS Type Libraryの事です)

<質問内容>
新規にユーザーアカウントを作成し、その時にパスワードの設定をします。
ADにはユーザーの追加は出来ています。
でも、パスワードの設定を行うとエラーが出てしまいうまくいきません。

どなたかご教授いただけませんでしょうか?

<発生事象>
エラー内容 : アクセスが拒否されました。

エラー内容 : HRESULTからの例外です : 0x80005008。。

<Source>
---------------------------------------------------------------------
これをみて作ってみたのですが(T_T)
http://www.vbdiamond.com/ViewSource.aspx?Type=VB&Code=1&ID=113926
---------------------------------------------------------------------
Dim objIADs As ActiveDs.IADsOpenDSObject 'ADSI(認証)
Dim objContainer As ActiveDs.IADsContainer 'コンテナ
Dim objUser As ActiveDs.IADsUser 'ユーザー

Try

'LDAP接続
objIADs = GetObject("LDAP:")
objContainer = objIADs.OpenDSObject("LDAP://CN=Users, DC=ZZZ, DC=co, DC=jp", "ログイン時のユーザー名", "ログイン時のパスワード", 0)

objUser = objContainer.Create("User", "CN=" & "Newユーザー名")

With objUser
.Put("sn", "New姓")
.Put("givenName", "New名")
.Put("samAccountName", "Newユーザーログオン名(Windows 2000 以前)")
'ユーザーログオン名
.Put("userPrincipalName", "Newユーザーログオン名" & "@ZZZ.co.jp")
.SetInfo()

'(注意)SetPasswordの際にはアカウントが存在している必要がある。

↓ ここでエラーとなります!

.SetPassword("999&abcp%")
.FullName = "Newフルネーム"
.Description = "New説明"
'該当ユーザーアカウントを有効にする(しない場合アイコンが×印)
.AccountDisabled = False
'ログイン時にパスワードがあっている場合だけログイン可能
.PasswordRequired = True
.SetInfo()

End With

Catch ex As Exception

Finally

objIADs = Nothing
objContainer = Nothing
objUser = Nothing

End Try

[ メッセージ編集済み 編集者: う〜にん 編集日時 2005-07-27 08:45 ]

[ メッセージ編集済み 編集者: う〜にん 編集日時 2005-07-27 08:52 ]
う〜にん
会議室デビュー日: 2005/01/02
投稿数: 19
投稿日時: 2005-07-28 09:36
objUser.SetPassword("999&abcp%")

ではなくて

objUser.ChangePassword("", "999&abcp%")

とすれば、出来ました。
ただ、SetPassword実行時のエラーはわかりません。
何かの設定等が欠落していたのでしょうか?
1

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