- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「管理者として実行」された場合の一時的な降格方法)
「管理者として実行」された場合の一時的な降格方法
このQ&Aのポイント
- Administrator以外のユーザでログオンし、プログラムを右クリックして「管理者として実行」をすると、問題が発生します。
- プログラム内で「subst」を行い、仮想ドライブを作成している場合、管理者として実行した場合には仮想ドライブにアクセスできなくなります。
- プログラム内で事前にログオンユーザとして実行し、その後substを行うか、管理者として実行できないようにする方法はありますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そうでっか じゃ これ参考になるかな? 下に下に http://dev.activebasic.com/egtra/?p=166 SetTokenInformation で・・・
その他の回答 (1)
- phoenix343
- ベストアンサー率15% (296/1946)
回答No.1
制限つきトークンを使えば出来るかな? CreateRestrictedToken の LUA_TOKEN で試してみてください Googleで検索してね
質問者
補足
回答ありがとうございます。 OpenProcessToken→ CreateRestrictedToken→ ImpersonateLoggedOnUser→ ShellExecute→ RevertToSelf という流れで、プログラムを組んでみましたが、 うまく行きませんでした。 (LUA_TOKENがどのheaderに定義されているのか不明だったので 0x4としてコーディングしましたが)
お礼
リンク先がアクセスできませんでした。。。 FireFoxのソースに参考になるものがあったので、 CreateProcessWithTokenWで、substを実行するように したらうまくいきました。 http://mxr.mozilla.org/firefox/source/toolkit/xre/nsWindowsRestart.cpp