バッチファイル・実行ファイルなどを他のユーザで実行するには?

解決


どら  2004-12-17 03:07:40  No: 55740  IP: [192.*.*.*]

久々に書き込みます。

ボタンを押すと、それに対応した実行ファイルやバッチファイルを実行するようなプログラムを作っています。
このプログラムは、Local Administrators グループに所属しているActiveDirectoryのユーザで実行させたいのですが・・・

行いたいことは
    ①このプログラムを実行するときにユーザ名とパスワードを入力させる
    ②①格納させたユーザ名とパスワードがLocal Administrators グルー
      プに所属しているいるかを判別させる
    ③②を通過したら、各種bat、exeファイルを実行させる
といった流れです。

ここで、
    ☆②の判別を入力した時点でチェックする方法はあるのでしょうか?
    ☆③のように、指定したユーザでbat、exeファイルを実行させるには
      どうしたら良いのでしょうか?

相変わらず無知で申し訳ありません。
ご存じの方いらっしゃいましたら、ご教授いただけないでしょうか?

よろしくお願いします。

編集    削除
シャノン  2004-12-17 03:46:34  No: 55741  IP: [192.*.*.*]

まず、Web で丸文字は使わないでください。
Mac の人には正常に見えませんから。
と、一応決まり文句を言ってから…

3は CreateProcessAsUser を使います。
2も何か方法があると思います。調べてみます。

編集    削除
なーめ  2004-12-17 03:58:11  No: 55742  IP: [192.*.*.*]

CreateProcessAsUser() を調べてみては?

編集    削除
なーめ  2004-12-17 03:59:26  No: 55743  IP: [192.*.*.*]

かぶってしまった(^^;;

編集    削除
なーめ  2004-12-17 04:16:36  No: 55744  IP: [192.*.*.*]

>> 2も何か方法があると思います。
調べ中に、横入りで申し訳ないですが。

Net*** 系のAPIを一通り調べてみては。
NetLocalGroupGetMembers()
ってありますよ。

編集    削除
どら  2004-12-17 06:24:30  No: 55745  IP: [192.*.*.*]

あ、丸文字を使って申し訳なかったです・・・。

なーめさん、シャノンさん、ありがとうございます。
教えていただいた情報をもとに、私も色々試してみます。

解決したら、またカキコしマッス!!

編集    削除
どら  2005-01-07 22:08:56  No: 55746  IP: [192.*.*.*]

CreateProcessAsUser、CreateProcessWithLogonW関数などで解決できました☆
このふたつの関数って、結局やってること一緒なんですかね?
であれば、Win 2K以上を使っているなら、後者を使った方がずっと楽ですよね?
全社はトークンハンドルをつかって、LogonUser関数を実行して、ハンドルを渡す分、手間がありますよね(^^;
MSDN見ても「似ています」という曖昧な表記だったような・・・。

とにかく、解決しましたので!!
シャノンさん、なーめさん、ありがとうございました!!

編集    削除