web-dev-qa-db-ja.com

昇格されたcmdプロンプトではマップされたドライブを使用できないが、通常のcmdプロンプトでは使用できないのはなぜですか?

Windows 8で、マップされたドライブが管理者特権のコマンドプロンプトでは使用できないのに、通常のコマンドプロンプトでは使用できないのはなぜですか? Net Useを実行して利用できるようにすることはできますが、それでも奇妙なことに気づきました。

19
JimDel

管理ユーザーでUACを使用する場合、Windowsはログイン時に2つのトークンを作成します。 1つのトークン(昇格されたトークン)はフィルタリングされておらず、Administratorsグループが有効になっています。もう1つのトークンには、Administratorsグループ(およびPower Usersグループなどのその他の詳細)が含まれています。

これらの2つのトークンは別々のセキュリティコンテキストを持っているため、実際には同じユーザーであっても、一方のネットワーク接続は他方では利用できません。

したがって、エクスプローラーを使用してドライブをマップすると、昇格されたコマンドプロンプト(または他の昇格されたプロセス)はそれを表示できなくなります。

管理者特権のコマンドプロンプトで、Net Useコマンドを使用して、同じネットワークリソースを(同じドライブ文字を使用しても)マップできます。その後、昇格したプロセスもそれを見ることができます。

23
William

ウィリアムの答えは、なぜこれが起こるのかを説明し、1つの回避策を提供します。しかし、私はWindows 7でこの動作を調整するVistaからの レジストリ修正 を実際に追加したいと思います。これをレジストリに追加するだけです:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001

再起動後、マップされたドライブには管理者特権のコマンドプロンプトからアクセスできるはずです。

19
Craig W

コマンドプロンプトを別のユーザーとして昇格させているため、問題のマップされたドライブは、非管理ユーザーによってマップされました。プリンタ、マップされたネットワークドライブなど、ユーザーごとにユーザー設定は異なります。

3
HopelessN00b