web-dev-qa-db-ja.com

デフォルトで%UserProfile%ディレクトリで昇格したコマンドプロンプトを開始しますか?

Windows7またはWindowsVistaで管理者特権のコマンドプロンプトを起動すると、初期ディレクトリは_%SystemRoot%\system32_ディレクトリになります。

これはデフォルトのWindowsの動作であり、私のシステムに固有の問題ではないため、ここでは何らかの「バグ修正」を期待していませんが、デフォルトの動作を「修正」するための微調整を期待しています。

再現するには:

  • [開始]をクリックします
  • Cmd.exeと入力します
  • ヒット Ctrl+Shift+Enter
  • 標高プロンプトが表示されたら、Yesを選択します

期待:

  • 初期ディレクトリは私のユーザープロファイルディレクトリです。 _C:\Users\merlyn_

実際:

  • 初期ディレクトリはsystem32ディレクトリ_C:\Windows\system32_です。

これは扱いやすいものにしたいと思います。どこから始めたかに関係なく、すべてのcmd.exeプロンプト/ショートカットに適用したいと思います。例えば。特定のショートカットを変更せずに、Visual Studio Command Prompt (2010)に自動的に適用したいのですが。

修正によってバッチファイルが壊れないように、これを安全にしたいと思います。

昇格したコマンドプロンプトをデフォルトで_%UserProfile%_ディレクトリで開始する簡単で安全な方法はありますか?

昇格されたコマンドを開く-プロンプトは常に%systemroot%\System32で始まります。昇格された特権を必要とする何かをしている場合、ユーザー自身のファイルだけでなく、システムファイルで作業している可能性が高いという理由があります。昇格された特権。

あなたはそれを回避することができます:

  1. レジストリエディタを開きます(例:regedit
  2. HKEY_CURRENT_USER\Software\Microsoft\Command Processorに移動します
  3. Autorun値を編集してcd /d %userprofile%を読み取ります

これで、コマンドプロンプトを開くたびに、ユーザープロファイルディレクトリで起動するか、場合によってはユーザープロファイルディレクトリに切り替わります。また、HKCUの代わりに、HKLMブランチに値を設定して、システム上のすべてのユーザーに対してそれを行うことができます。

12
Synetech

Merlynログインに管理者権限があるとすると、UACプロンプトが処理されるまで、実際にはそれらの権限はありません。これらの権利には、昇格された権利を要求し、プロンプトが正しく渡されたときにそれらを受け取ることが含まれます。昇格されたトークンの下では、UACが承認する前のアカウントの標準レベルとは異なるセキュリティコンテキストで実行されています。これはすべて、期待される結果が誤りであり、実際の結果が実際に期待されることを意味します。

ユーザーアカウント制御の理解と構成

0
edusysadmin