• ベストアンサー

他のユーザのログインパスワード取得/変更について

いつもお世話になっております。 今回ご質問させていただく内容は、[他のユーザのログインパスワード取得/変更]について実現可能かご教授いただきたいと思います。 実現可能な場合、参考HPや使用するWin32API等ご教授いただけたら幸いです。 ※実際に作成できても絶対に悪用しない事を誓います。  また、この質問に回答下さった方を裏切らない為に閲覧した方も悪用しないで頂きたいと思います。 環境:VB6.0 WindowsXP Professional 【 実現方法(手順) 】 (1):ログインするユーザ名:tarou パスワード:hanako (2):パスワード取得/変更を変更したいユーザ名:ichirou パスワード:jirou (3):(1)(2)共に管理者権限を保有しています。 (4):ユーザ名:tarouでWindowsXP Professionalへログインします。 (5):VB6.0で作成したプログラムを実行し、ユーザ名:ichirouの現在設定されているパスワードを取得します。 (6):ユーザ名:ichirouのパスワードを変更(saburou)し新たに設定します。 上記のようなパスワード取得/変更がセキュリティーの厳しいWindowsXP Professionalに対し、VB6.0で実現可能かご教授願います。 また、VB以外での実装方法を知っている方が居ましたら合わせてご教授願います。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.7

> Set objUser = GetObject("WinNT://./kenmyer") > objUser.SetPassword("i5A2sj*!") 上記のコードをWindows XP Proで試してみましたが、指定されたパスワードに変更されたように見えますが・・・ > 実行してみましたが、どうしても上手く動作しませんでした。 どういう風に「上手く動作しません」 のでしょうか? #エラー発生?変更したパスワードでログインできない?ログイン後ファイルが見えない? > このコマンドはwindowsNTでのコマンドみたいですので あれ? 「WindowsNT以降で採用されたログイン管理方式」に対するコマンドなのでは? #XPも同じ管理方式を利用しているので、使用できるのだと思ったんですが・・・

basket11
質問者

お礼

何度もご回答ありがとうございます。 ご指摘の通りパスワードの変更が確認できました。 私が記述したロジックは以下の通り間違っていました。 > Set objUser = GetObject("WinNT;//./kenmyer") (正)WinNT:(コロン) (誤)WinNT;(セミコロン) 確認もせずただ出来ないと捕捉説明をしたことを深く反省しています。 何度もご回答いただき本当にお手数をお掛け致しました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (6)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.6

No3です。 散々、「無理」とか「不可能」とか言ってたのに、こんな投稿するのは心苦しいのですが・・・ > 他のユーザのパスワードのみを変更する手段 MSのHPに、そのものずばりのの記事が公開されていますね・・・ 「Hey, Scripting Guy! ユーザーのパスワードを変更することはできますか」 (http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1015.mspx

basket11
質問者

補足

返信が遅くなりまして申し訳ございません。 早速参考HPを拝見し、実行してみましたが、どうしても上手く動作しませんでした。 Set objUser = GetObject("WinNT://atl-ws-01/kenmyer") objUser.SetPassword("i5A2sj*!") このコマンドはwindowsNTでのコマンドみたいですので、XP用に調べ XPでは[GetObject("winmgmts\\:")]を使用するらしい事を発見しました。 結局、Set objUser = GetObject("winmgmts\\:マシン名\ユーザ名")を実行しても、Set objUserは[Nothing]のままでしたので、objUser.SetPassword("i5A2sj*!")を実行しても当然パスワードは変更されませんでした。 何が悪いのでしょうか? 疑問は更に深まるばかりです... 以上、宜しくお願い致します。

すると、全ての回答が全文表示されます。
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.5

No3です。 > 私の力量不足で申し訳ございません。 > ご回答の内容が理解できませんでした。 > もう少し砕いた内容でご教授願います。 そんな難しい話はしていないですよ。 #期待度が大きすぎて、難しい話だと信じたいのでしょうか? 単純に、 No2で パスワードの参照は無理なので、代用策として 『パスワードのリセット』と『再設定』で代用」することを考えてみては? と言う話になって、 No4では、 『パスワードのリセット』を、やっちゃうと、色々問題が出るので >絶対に悪用しない事を誓います。 これが前提なら、代用策には使えないね。 と言う話をしているだけですね。 #ichirouさんが重要なファイルを暗号化して保存していたのを、 #tarouさんが、勝手に「パスワードのリセット」を行って、 #もうこのファイルを読めなくなった・・・なんて事になったら #きっとtarouさんは、ichirouさんに張り倒されますね。 つまり「無理」って事ですね。 そもそも、何で「他のユーザのログインパスワード(取得/)変更」が必要なんです? パスワードは、各個人が管理・変更するのがBESTだと思いますけど・・・

すると、全ての回答が全文表示されます。
回答No.4

No.2です。 今、管理ツールで見てみたのですが、 パスワードをリセットすると、 ユーザーの公開キーで暗号化された電子メール。 コンピュータに保存された、または記憶された、インターネット パスワード。 ユーザーが暗号化したファイル。 に対してアクセスできなくなるみたいですね。

basket11
質問者

補足

ご回答ありがとうございます。 私の力量不足で申し訳ございません。 ご回答の内容が理解できませんでした。 もう少し砕いた内容でご教授願います。 宜しくお願い致します。

すると、全ての回答が全文表示されます。
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.3

> 現在設定されているパスワードを取得します。 いかなる方法でも「技術的に不可能」だと思いますよ。 理由は 「パスワードに関する「よく寄せられる質問」」 (http://www.microsoft.com/japan/technet/community/columns/secmgmt/sm1005.mspx) に書いてあるように、パスワードそのものを記録していないからです。 もし、「取得可能な方法」が見つかったら大騒ぎでしょうね。

basket11
質問者

補足

ご回答ありがとうございます。 パスワードの取得が無理な事は、「パスワードに関する「よく寄せられる質問」を拝見し理解しました。 他のユーザのパスワードのみを変更する手段をご存知でしたらご教授願います。 宜しくお願いします。

すると、全ての回答が全文表示されます。
回答No.2

>No.1 それはそうなんですが、 この場合、管理者権限を持っている前提なので、 その時点で「セキュリティが厳しい」わけではない気が…。 とりあえず、「パスワードの取得」はできないと思います。 やるとしたら 「パスワードのリセット」→「再設定」ではないかと。 管理ツールではそういうことができたはずなので、 何らかのAPIを使えばできるのでは?

basket11
質問者

補足

ご回答ありがとうございます。 パスワードの取得が無理な事は、ANo.3 dsuekichi様からのご回答でもわかりました。 他のユーザのパスワードのみを変更する手段をご存知でしたらご教授願います。 宜しくお願いします。

すると、全ての回答が全文表示されます。
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

あなたの言うことを100%信じ、あなた自身は悪用しないとしてもこのような 公開の場所に情報を残したら誰かが悪用する可能性があるとはお思いになってはいるのですよね? しないでくださいなんてお願いは最初から悪意をもった第三者には無意味でしょう。

basket11
質問者

補足

早速のご回答ありがとうございます。 sakusaker7様のご意見は、「ごもっとも!」でございます。 私も投稿すべきか否か散々悩んだ末、皆さんのお力添えをいただけたらと安易に考えていた部分も有りました。 ご忠告ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A