Microsoft Windows XP上で、別アカウントでアプリケーション起動

RunAsでいいじゃないかと言われるかもしれないが、それだと、手でパスワードを入力しなければならないので、バッチ処理ができない。
Windows系のOSには sudo 相当のコマンドや、setuid 相当の機能もない。

Googleでいろいろと検索してみると、まず見つかったのが、RunAsXというアプリケーション。
RunAsを拡張して、パスワードをコマンドラインから指定する機能などを付与したものらしい。
が、ソースの公開されていないソフトに対してパスワードを入力するのは気がひける(といいながらWindowsに対してパスワードを入力していたりするのだから、やや自己矛盾だな)。
それに、オプトメディアとかいって、他のソフトも抱き合わせでインストールされるらしく、このようなものを会社内で使ったらヒンシュクを買うこと間違いないので使用を諦める。

RunAsをスクリプトで起動して、標準入力からパスワードを入力する方法や、VBでアプリケーション(内部でCreateProcessWithLogonW関数を呼び出す)を構築する方法などが見つかったが、どれもしっくりこない。

自作するしかないか。

参考になるのは、VBで別アカウントでアプリケーションを起動する方法

http://support.microsoft.com/kb/285879/ja

これをCに移植すれば何とかなりそうな気がする。

何か車輪の再発明をやっているようで釈然としないが、まあ、あるものは使う、ないものは作るでやっていくしかないのだろう。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

gpg user
2007年07月14日 20:34
SourceForge.net にバイナリがアップされたようなので bsdtar 2.2.5 を試しましたが、
やはり以前と同じようにエラーが出て、パイプは使えないようです。
kazuyoshikakihara
2007年07月14日 23:20
情報ありがとうございます。
そうですか、まだ駄目そうですか。
私にバグレポートを書けるだけの英語力があれば...
それ以前に、Windows版固有の現象の場合、どこにレポートすればいいのか分からないという問題があるのですが。

もうしばらく、KageHinataを暖めながら待つことにします。

この記事へのトラックバック