VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/06/13(Mon) 18:07
投稿者A3
Eメール
URL
タイトル別の方法で目的を達成できたので、ご報告いたします。

A3です。

質問の内容が解決出来たわけではありませんが
別の方法で目的を達成できたので、ご報告いたします。

よくよく考えてみると、私がやりたいことは
・VBプログラムから、別ユーザ権限でVBScriptを実行したい。
ということで、別にmsscript.ocxにこだわる必要がなかったことに気がつきました。


そこで、別ユーザでプロセスを起動するAPIをつかって
cscript.exe/wscript.exeを起動してみたところ、目的の動作が出来ました。
(NTでも動かす場合:LogonUser/CreateProcessAsUser/CloseHandle)
(2000以降専用なら:CreateProcessWithLogonW)

前者の場合は、実行ユーザに以下の特権が必要でした。
 ・SE_TBC_NAME オペレーションシステムの一部として動作
 ・SE_CHANGE_NOTIFY_NAME 走査チェックのバイパス
 ・SE_ASSIGNPRIMARYTOKEN_NAME プロセスレベルトークンの置き換え
 ・SE_INCREASE_QUOTA_NAME クォータの増加

後者の場合ですと、実行ユーザに特権は不要でした。
※別ユーザにローカルログオン特権は必要。

後者の場合、UNICODE文字列をAPIに渡さなければいけないことに
気付くのに時間がかかりましたが、なんとか動かすことができました。

以上、ご報告でした。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -