- 締切済み
C# 管理者権限で起動したアプリケーションについて
管理者権限で起動した自作のC#アプリケーションから管理者権限をもたない形で 他のアプリケーションを実行することは可能でしょうか? 以下の内容の逆のことをやりたいです。 管理者としてほかのアプリケーションを実行するには? - @IT http://www.atmarkit.co.jp/fdotnet/dotnettips/954uacrunas/uacrunas.html
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Yune-Kichi
- ベストアンサー率74% (465/626)
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になります。 # 上位の権限になるための手順は,これとは別の手順になるはず。
- Wr5
- ベストアンサー率53% (2173/4061)
>管理者権限で起動した自作のC#アプリケーションから管理者権限をもたない形で >他のアプリケーションを実行することは可能でしょうか? 利用可能なユーザ名の列挙などが必要かも知れませんが……。 http://dobon.net/vb/dotnet/process/startwithusername.html こんなのでしょうかね?
補足
現在ログイン中のアカウント自身であってもProcess.StartInfoへ ユーザーID、パスワードを追加することによって管理者権限なしで 実行することができました。 ただ、この場合は自作アプリケーションにWindowsパスワードを埋め 込む必要があるため新たな問題となりました。 後付けの条件となってしまいますが、パスワード等の重要な情報を 埋め込まない形で実現できる方法を引き続き待ちたいと思います。 しばらく待って回答がつかない場合はベストアンサーとさせて いただきます。ご回答ありがとうございました。