ホーム
ホームページ
更新履歴
NOW!
チャット
ボイスチャット
ボイスメール
分身一覧
中継一覧
チャットメンバー
MSサポート情報検索
検索ページ
システム概要
パスワード変更
システム概要
ダウンロード
フォロー
一覧
WINTIS97
ツール、TIPS
Urlコンポーネント
Sessionモニタ
Excel作成
webinfo
きゃらメール
delold.vbs
rentoday.vbs
ASP TIPS
IRC伝言サービス
IRC計算サービス
プロファイル aspProfile
時間計測 TimeTool
MIMEマップ操作
電話番号11桁対応
ServerVariables
IPアドレス設定
Mediaモニタ
数式電卓
ファイル表示
CHOCOA URL紹介
お勧め
ソフトウェア
ハードウェア
リンク
WinNT WebRing
サイト一覧
前へ
次へ
ランダム
|
ブラウザからWindowsNTのパスワードを変更する機能を提供するために、開発しました。
VisaulBasic5.0で作成したコンポーネントとASPファイルからなります。
ソースファイル、インストールプログラムをあわせて公開しますので、ご利用ください。
特徴
- Win32APIのパスワード変更APIをNetUserChangePasswordをコンポーネントにしたことによって、ASP、IE、VBなどから容易に呼び出せるようになっている。
- NetUserChangePasswordは、管理者権限が必要ない。したがって、現在のパスワードがわかれば、一般ユーザでも変更することができる。
プログラム構成
- AspNet.DLL コンポーネント
- ASPファイル
稼働環境システム
AspNetコンポーネント
このプログラムは、VisualBasic 5.0SP2を利用してActiveX DLLとして開発しました。
- コンポーネント名:
- AspNet
- インターフェース:
- UserPassword
- メソッド:
- ChangePassword
- 引数:
- Domain : ドメCン名、または、サーバ名
Username: ユーザ名
OldPassword: 現在のパスワード
NewPassword: 変更後のパスワード
- 戻り値
- 0: 正常終了
53:ドメイン名、サーバ名が見つからない
86:OldPasswordが間違っている
その他: エラー(NetUserChangePasswordの仕様を参照)
- 詳細
- Domainには、ドメインのユーザの場合には、ドメイン名を指定します。
サーバのユーザの場合には、サーバ名を指定します。
UserPassword.clsのソースプログラム
Private Declare Function NetUserChangePassword
Lib "netapi32.dll" ( _
lpDomain As Any, bytUsername As Any, _
bytOldPassword As Any, bytNewPassword As Any) As Long
' パスワードを変更する
Public Function ChangePassword(Domain, Username,
OldPassword, NewPassword) As Long
Dim lngResult As Long
Dim bytDomain() As Byte
Dim bytUsername() As Byte
Dim bytOldPassword() As Byte
Dim bytNewPassword() As Byte
bytDomain = Domain & vbNullChar
bytUsername = Username & vbNullChar
bytOldPassword = OldPassword & vbNullChar
bytNewPassword = NewPassword & vbNullChar
Debug.Print bytOldPassword
For n = 0 To UBound(bytOldPassword)
Debug.Print Hex(bytOldPassword(n)) & "
";
Next
Debug.Print " = "; bytOldPassword
ChangePassword = NetUserChangePassword(bytDomain(0),
bytUsername(0), _
- bytOldPassword(0), bytNewPassword(0))
End Function
ASP処理
AspNet.UserPasswordをCreateObjectで作成し、ChangePasswordメソッドを呼び出す
ことによりパスワードを変更することができます。
Set objUserPassword = CreateObject("AspNet.UserPassword")
lngResult = objUserPassword.ChangePassword(Request("Domain"),
Request("Username"), Request("OldPassword"),
Request("NewPassword"))
注意
IIS の ASP としてパスワード変更を作成する場合、
パスワード変更後、10分〜15分の間、古いパスワードと新しいパスワードの
両方が使えるという現象があります。
この件については、マイクロソフトのサポート情報をごらんください。
[IIS] IIS におけるユーザー トークンのデフォルト インターバルの変更
|