管理者権限からそれ以外の権限で実行するには?

解決


cat  2013-11-28 21:21:43  No: 45642

お世話になります。

管理者権限で起動したアプリからそれ以下のユーザー権限で

別アプリを実行したいのですがうまくいきません。

runas のコマンドにより、別ユーザーや/trustlevel:0x20000 を適用して

実行したのですが管理者権限と同じ操作ができてしまいます。

管理者権限がない状態から管理者権限での方法の情報はたくさんあるのですが

上記の方法に関して情報が少なく、いろいろ試しましたがうまくいきませんでした。

この点、どなたかご教示いただけないでしょうか。

実行環境は、Windows8以上

開発環境
Windows8
Delphi XEもしくはD7

以上、よろしくお願い致します。


おかぽん  2013-11-29 18:09:19  No: 45643

ここ(http://homepage3.nifty.com/k-takata/diary/2007-08.html 2007/08/28のVista, 権限の降格)によると、

Firefox のインストーラのソース(?)
ttp://mxr.mozilla.org/seamonkey/source/toolkit/xre/nsWindowsRestart.cpp
ここの、LaunchAsNormalUser を見ればいいそうですが、試されましたか?

うまくいったら、そのソースを書いてほしいという邪な気持ちがないとは言い切れません。


おかぽん  2013-11-29 18:10:39  No: 45644

すいません、アドレスがつながってしまいました
http://homepage3.nifty.com/k-takata/diary/2007-08.html


cat  2013-11-30 19:49:09  No: 45645

おかぽんさん

ありがとうございます。

ヒントとなるような事でもアドバイスいただければ

助かります。

私のレベルで解読し、delphiに置き換えきれるかわかりませんが(^_^;)


cat  2013-12-10 19:25:53  No: 45646

遅くなりましたが、ヒントをいただき一応解決できましたので
下記に記載しておきます。

コード自体は、ネット上にあるものを利用し同じソースコードが
いろんなサイトにありましたが、そのうちの一つのサイトを下記に
記載致します。

http://stackoverflow.com/questions/514968/how-to-run-a-process-non-elevated-with-delphi2007

管理者権限の降格による実行を行えたのですが、実行するユーザー権限の
パスワードが必要となります。

パスワードなしにしたければ、Windows側で空のパスワードを有効に設定を変えれば
大丈夫かと思います。

ちなみに私が試したかった環境では、エンドユーザーがパスワードを設定して
いるかもしれない事を考え、管理者降格権限で実行する前に管理者権限にて
パスワード付の別ユーザーを作成し、そのユーザーで実行後にユーザーを
消す、もしくは作業用にそのまま残す?事でできました。

しかし、私の場合ネットワークの共有フォルダにログインする用に
利用したかったのでそのユーザーでログインするとプロファイルフォルダが
作成され、後で削除すればいいのですがゴミを作り出す事に納得いかなかったため
この方法は取りませんでした^^;
(Unixでは、ホームフォルダを作成しないようにできると思うのですがWindowsでの方法を見つけきれませんでした^^;)

ちなみにユーザーを削除してもプロファイルフォルダがそのままの場合、毎回同じユーザーアカウントを作成したつもりでもプロファイルフォルダは先頭名が同じユーザー名の別フォルダが毎回作成されていきます^^;

という事で今回、避けたかったのですが  結局スタートアップに
ショートカット作って再起動という事ですませました^^;

時間がある時にまたツッコんで調べたいと思います。

以上、ありがとうございました。


cat  2013-12-10 19:27:44  No: 45647

解決チェック忘れてました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加