プロが教えるわが家の防犯対策術!

管理者権限で起動した自作のC#アプリケーションから管理者権限をもたない形で
他のアプリケーションを実行することは可能でしょうか?

以下の内容の逆のことをやりたいです。
管理者としてほかのアプリケーションを実行するには? - @IT
http://www.atmarkit.co.jp/fdotnet/dotnettips/954 …

A 回答 (2件)

MSのKBに以下のようなものがあります。



How to create a low-integrity process in Visual C++, in Visual C#, and in Visual Basic.NET
https://support.microsoft.com/kb/2278183/

ここでは,Low Mandatory Level,つまりIEやChromeなどが動いているレベルへでプロセスを動作させるコードがダウンロードできます。
標準的な権限であるMedium Mandatory Levelで動作させるための手順はこれと同じで,
MainForm.csの205行目,SECURITY_MANDATORY_LOW_RIDをSECURITY_MANDATORY_MEDIUM_RIDにすればMeidum Mandatory Levelのプロセスを生成できます。
ちなみに,管理者権限はSECURITY_MANDATORY_HIGH_RIDになります。
# 上位の権限になるための手順は,これとは別の手順になるはず。
    • good
    • 0

>管理者権限で起動した自作のC#アプリケーションから管理者権限をもたない形で


>他のアプリケーションを実行することは可能でしょうか?

利用可能なユーザ名の列挙などが必要かも知れませんが……。

http://dobon.net/vb/dotnet/process/startwithuser …
こんなのでしょうかね?

この回答への補足

現在ログイン中のアカウント自身であってもProcess.StartInfoへ
ユーザーID、パスワードを追加することによって管理者権限なしで
実行することができました。
ただ、この場合は自作アプリケーションにWindowsパスワードを埋め
込む必要があるため新たな問題となりました。
後付けの条件となってしまいますが、パスワード等の重要な情報を
埋め込まない形で実現できる方法を引き続き待ちたいと思います。
しばらく待って回答がつかない場合はベストアンサーとさせて
いただきます。ご回答ありがとうございました。

補足日時:2014/12/27 16:45
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!