これは、WindowsNT 用ツールです。


変更履歴



目的
ASP(COM コンポーネントを利用できるもの)などから簡単に ADSI を利用する事でユーザのパスワード変更ができます。
つまり、ASP から、Web を介して、ユーザのパスワードを変更する事ができます。
WindowsNT で、ISP を運営している場合、重宝すると思います。

経緯
IIS 4.0 をデフォルトでインストールすると、Web を介して、ユーザーのパスワードを変更するプログラム類が、仮想ディレクトリ "IISADMIN" などにサンプルとしてインストールされます。
しかし、それは、htr という IIS3.0 時代の一世代前のプログラムで書かれている。
さらに、そのプログラムは、セキュリティホールになりかねないような作りになっている。
それらを書きかえて、セキュリティホールをなくそうにも、htr とか言う一世代前の技術など習得したくないし、だからといって、Web を介してパスワード変更させたいなぁ。

ASP でなんとかならないものか?
と思っていたあなた!
ADSI(Active Directory Service Interface) という技術があります。しかも、COM になっている。
しかし、ADSI の理解は、ちくっと入り組んでいて複雑ですね。

っつーー事で、その部分をアルミホイルのように包んだ DLL ファイルを作ったので、この DLL を利用する事で、ASP から簡単に ADSI を介してユーザのパスワード変更ができるようになります。
(サンプルの ASP ファイルも添付していますので、良かったら利用してください)

動作環境
WindowsNT4.0 のドメイン、ワークグループの環境で動作すると思います。
(すいません、開発環境が貧弱なもので......m(_ _)m)

動作環境2
ワークグループな方
global.asa 内の変数「domain」には「ワークグループ名/ホスト名」を指定
ドメイン(ActiveDirectory)な方
ドメイン・コントローラ上で動かす必要があります
global.asa 内の変数「domain」には「ドメイン名」を指定



動作環境3 (委任について)
多分、ActiveDirectory 環境で Keroberos 認証をしていて、かつ「委任」を設定していれば、ドメインコントローラ外のドメインメンバ上の IIS でも動作すると思う


使用方法
  1. まず、VisualBASIC6.0 のランタイムを Vector などからダウンロードしてインストールします。
    すでに、VisualBASIC6.0 がインストールされていれば結構です。
  2. ADSI(Active Directory Service Interface) を、マイクロソフトなどからダウンロードしてインストールします。
  3. ダウンロードしたファイルを解凍しします。
    (LHAは、吉崎栄泰氏が、著作権を所有)
  4. 解凍した出来たディレクトリの、"ASP\PasswordChange" 以下のファイル(ASP ファイル群)は、サンプル ASP です。
    (この DLL を介して、ユーザのパスワードを変更します)
  5. 解凍した出来たディレクトリの、"VB6\DLL" 以下にある、PassChg.DLL を適切な場所(ex:%SystemRoot%\System32)へコピー(移動)し、
    適切なアクセス権(ASP で利用する場合、インターネット匿名ユーザーに読み取り権限を付けてください)
  6. コマンドプロンプト で、PassChg.DLL のあるディレクトリで、"RegSvr32.exe PassChg.DLL" を実行し、レジストリに登録します。
    PassChg.dll と同一ディレクトリに "regsvr32.bat" をコピーして実行しても同様の結果を得られます。
  7. 以上で、COM コンポーネントとしての、PassChg.DLL は登録が完了です。
    COM アクセスが可能なものなら、PassChg.DLL を介して、ADSI へアクセスできるようになります。
  8. 詳しくは、ダウンロードした、Read1st.txt を読んでください。

免責など
著作権は放棄します。
このソフトを使用したことによって生じた、
いかなる損害についても責任は持ちません。
ソースコードについても、各自の責任において、
自由にいじってくれてもいいです。

DownLoad(adsi.lzh as 30,366byte) (adsi.lzh.base64)

私の ADSI プログラミング・メモ


mail to active@window.goukaku.com