掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ActiveDirectoryに登録されている全てのユーザーのパスワードを変更するには? (ID:144774)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ADに登録されている全てのユーザーのパスワードを強制的に変更したいのです。 開発環境は 開発機:WindowsXP Visual Studio 2008 開発言語:Visual Basic LDAPサーバー:Windows Server 2003 変更したいユーザーは OU:testOU CN:testuser1,testuser2,testuser3,testuser4 ソース Imports System.DirectoryServices Public Class START Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Passwd As String Dim ADMIN_NAME As String = "Admin" Dim ADMIN_PASSWORD As String = "AdminPass" For i = 0 To 3 testuser = "testuser" & i 'パスワードは10桁のランダム生成 Passwd = "ランダム生成" Dim entry As New DirectoryEntry Dim ldap As String = "LDAPサーバー/CN=" & testuser & ",OU=testOU,DC=test,DC=com" entry = New DirectoryEntry("LDAP://" & ldap, ADMIN_NAME, ADMIN_PASSWORD, 0) entry.RefreshCache() 'ここでパスワード変更 entry.Invoke("SetPassword", New Object() {Passwd}) '2回目のループで処理が止まる entry.CommitChanges() entry.Close() Next End Sub End Class 問題は、1回目の処理はパスワードが変更されます。つまり「testuser1」は変更されます。 しかし、2回目の処理に入るとパスワードを変更するInvokeで処理が止まります。つまり「testuser2,testuser3,testuser4」は変更されません。 まず、ループして処理(パスワード変更)することは出来ないのでしょうか。 理由はそれぞれのユーザーに対し、異なるパスワードを設定するためです。 ループして処理が可能であるならば、なぜ止まるのか原因を判明することが出来ません。 原因究明と解決をお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.