- PR -

WSHによるAD上アカウントパスワード変更方法について

1
投稿者投稿内容
naco
会議室デビュー日: 2008/12/24
投稿数: 3
投稿日時: 2008-12-24 11:33
初めて投稿いたします。
ご存知の方がいらっしゃいましたらぜひご教示ください。

ActiveDirectory環境で、特定OU配下のユーザアカウントのパスワードをWSHによって変更する仕組みにしています。
(ツール起動によりパスワードをランダムに作成し、それをADサーバ上のユーザアカウントへ書き込む方式です)

今回、ユーザアカウントが所属している特定OUの名称を変更することとなったため、現用と同じ環境の検証用ADサーバにて新OUを作成し、ユーザを新OUへ移動、およびスクリプト側で設定しているOU名を新OU名に変更して実行したところ、「書き込みできません(コード:800A0046)」というエラーが発生しました。

切り分けてみたところ、administrator権限のアカウントで実行した場合は上記でもうまくいくのですが、Domain Users権限のアカウントではエラーになってしまうことがわかりました。
また、今まで使用しているOUにおいて「名前の変更」によって新OU名称に変更すれば、うまくパスワード書き込みが実施できました。

そのため、どこかで単なるOU名称以外の部分でOU固有のパラメータのようなものがあり、それが残ってしまっていて、DomainUsers権限のアカウントではそれが書き換えられないのでは・・と考えたのですが、解決法が残念ながら自力では見けられなかった次第です。

DomainUsers権限アカウントでも、新規作成したOU内アカウントのパスワード変更ができるようにするにはどのような対処を行えばよいか、ご存知の方がいらっしゃいましたらぜひご教授いただけませんでしょうか。
何卒よろしくお願いいたします。
naco
会議室デビュー日: 2008/12/24
投稿数: 3
投稿日時: 2008-12-24 12:01
自己レスです。
使用するユーザアカウントへ「制御の委任」で権限を与えればOKでした。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-12-24 23:25
Password の変更は 2 種類の method があります。

おそらく後者を利用しているのでしょう。

SetPassword の場合 password の変更ではなく、"reset" を行っているので default の ACL では管理者以外認められないようになっています。また、password を "reset" しているので、EFS 等 user の password を利用しているものがあれば、復号できなくなったりします。

一般的な password の変更はその user で logon した上で ChangePassword を利用して行うべきです。
チャブーン
大ベテラン
会議室デビュー日: 2006/11/25
投稿数: 149
投稿日時: 2008-12-28 12:41
チャブーンです。

あれ?エライ方のコメントとはいえ、ちょっと気になったので。

> また、password を "reset" しているので、EFS 等 user の password を利用しているものがあれば、復号できなくなったりします。

これはワークグループ環境ベースのもので、ドメイン環境では起こらないように設計されています。EFS + ドメイン環境でパスワードリセットできないとなると、えらい問題なので。したのページにありますね。

http://support.microsoft.com/kb/309408/JA/
("DPAPI とパスワード変更" あたりをどうぞ)
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2009-01-05 23:52
引用:

これはワークグループ環境ベースのもので、ドメイン環境では起こらないように設計されています。EFS + ドメイン環境でパスワードリセットできないとなると、えらい問題なので。したのページにありますね。

http://support.microsoft.com/kb/309408/JA/
("DPAPI とパスワード変更" あたりをどうぞ)



ご指摘の通り、AD 環境下では起こりませんね。

今回の要件としては WSH を利用し、AD 環境下の password 一括変更の可能性が高いと思いますのである特定の account で変更が私も効率的だと思います。
そういう意味では、下手に Domain Admins を与えず委任で対応したのは実に望ましいと思います。

ただし、user の password を強制的に管理者が reset するのはどうかと思います。User に委ねるのが正しくないですか?
定期的な password 変更なら有効期限を設けておき、かつ password の policy を適切に構成しておけばいいのではないでしょうか? 独自の password policy を構成する方法としては password filter という方法も用意されているわけでして。

Password の変更を自動的に行うというのは FAQ ですが、安易に password を reset すればいいという考えを持っている人があまりにも多いので、それを踏まえこういう書きこみをしました。

q
ベテラン
会議室デビュー日: 2009/01/06
投稿数: 54
投稿日時: 2009-01-06 14:59
(利用規約違反のため削除いたしました。@ITクラブメンバーシップセンター)
1

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