Console2をUACとうまく連携させたい
私が取り組みたい特定の問題:
これを機能させるにはどうすればよいですか?これを機能させるにはソースコードを変更する必要がありますか、それとも別のタブ設定を使用したり、シェル実行可能ファイルでハックしたりできますか?
私はWindows7を使用していますが、動作するソリューションはVistaでも動作すると思います。
試してみませんか ConEm ?私はこのコンソールエミュレーターの作者です。選択したタブを昇格して、または指定した資格情報で実行できます。また、昇格されたコンソール(または指定されたアプリケーション)に異なるパレットを指定することもできます。
その一部を解決しました。
管理者と非管理者で異なる色を取得したい
何らかの理由で、Console2内で実行しているときにbcdedit.exeがsystem32ディレクトリに表示されません(理由がわかりませんか?)。そのため、質問のリンク で見つけたコマンド を使用する代わりに、別のコマンドを見つける必要がありました。 admin/non-adminを区別できる別の「do-nothing」コマンドを見つけました。これはがConsole2に表示されます。
Console2で、Shell
オプションを次のように設定しました。
%ComSpec%/ k secedit/validate%ComSpec:cmd.exe =%ieuinit.inf> nul 2> nul &&(color FC && title ADMIN)|| (カラー07 &&タイトルNONADMIN)
この質問に関しては...
上昇していない状態から始めた場合は、ランニング中に上昇する方法があります。個々のタブを上げることができれば特にいいでしょう
すでに計画されている機能と関連する機能のリクエストがあります。
現時点では、これを回避することはできません。 Console2はより高いレベルのアクセス権を持つアプリケーションを包含することができないため、アプリをLUAとして起動し、特定のプロンプトを上げることはできません。それは逆にしか機能しません。プログラムを昇格して実行する必要があると思いますが、昇格されていないプロセスを介して開始するため、昇格されていないプロセスを開始できます。これは、 ブートストラップ と呼ばれることもあります。
PsExecを試しましたが、うまくいきませんでした。一部の管理者権限が削除されましたが、それでも昇格されたトークンを使用していました。
基本的に、ソースを変更せずに、同じConsole2セッションのタブで昇格されたコンソールとLUAコンソールの両方を取得することはできません。ただし、タスクバーアイコンまたはCtrl + Shift + Click
のショートカットをクリックするだけで、別のセッションで管理者として起動できます。
編集:色を出力するコマンドラインツールと一緒に ansicon を使用している場合( git のように)、これは少し壊れます。代わりに次のコマンドを試してください。
%ComSpec:cmd.exe =%secedit.exe/validate%ComSpec:cmd.exe =%ieuinit.inf> nul 2> nul &&(color FC && title ADMIN)|| (色&&タイトルNONADMIN)
管理者モードの場合、赤い色はコマンドが出力する色を上書きしますが、これを修正する簡単な方法はありません。ただし、とにかく管理者モードで多くの作業を行うべきではないことがわかりました。したがって、UAC、したがって追加する特別な色。
タブを作成するたびにUACポップアップを処理する場合は、[編集]> [設定]> [タブ]に移動し、[シェル]セクションで[ユーザーとして実行]をオンにしてユーザー名を入力すると、ポップアップが表示されます。名前を変更します。管理者でログインしている場合は昇格されます。あなたが標準でログインしている場合、それは標準になります:)それが役立つことを願っています。