別のユーザーとしてファイルエクスプローラーを実行できない

別のユーザーとしてファイルエクスプローラーを実行できない

に続いて別のユーザーとしてファイルエクスプローラーを開くことに関する質問に移動してC:\Windows、Shift+右クリックしexplorer.exe、「別のユーザーとして実行」をクリックしてみました。ユーザーのログイン情報を入力すると、2つのエラーメッセージが連続して表示され、どちらも

Windows は指定されたデバイス、パス、またはファイルにアクセスできません。アイテムにアクセスするための適切な権限がない可能性があります。

現在ログインしているアカウントのログイン詳細を試しても機能しますが、他のアカウントでは機能しません。これは、私の PC 上の両方のアカウント (管理者) に当てはまります。

編集

コメントに混乱がありました。受け入れられた回答上にリンクされた質問で、それは機能しません。できないと言っている人もいるので、複数の賛成票が付いた承認済みの回答があるのは奇妙です (編集 2: まあ、その回答に対する、それが機能しないという私のコメントには、回答自体よりも多くの賛成票が付いています!)。

答え1

パーこのTechNetブログ投稿エクスプローラーシングルスレッドのようで、異なるユーザー アカウントで複数のスレッドを実行することはできません。

Windowsエクスプローラーは、同じデスクトップセッションで複数のセキュリティコンテキストで実行するように設計されていないため、WindowsはUACプロンプトを表示して、エクスプローラーの昇格インスタンスを起動するだけでは不十分です。

最も便利な代替手段はエクスプローラーその記事でも概説されているように、ダウンロードする方法はエクスプローラー++そして、ファイルを参照したいユーザーとしてそれを実行します。explorer++ では、explorer と同じように簡単に UNC パスに接続できるので、十分な代替手段であると思われます。これは、昇格された権限 (レジストリに干渉したり、追加のソフトウェアをインストールしたりするために必要な権限など) を必要としない、私が見つけた最も簡単な方法でもあります。

答え2

他の質問からわかるように(12) このトピックに関しては、たいていはせいぜいハッキーで、サポートされていないシナリオです。さらに、2 番目の質問にはさらに情報があり、いくつかのリンクをたどると、次の場所にたどり着きます。これが Vista です…

その記事を確認すると、次のことが分かります。

ただし、Vista では、さらに変更があります。Internet Explorer も Windows Explorer も、同じデスクトップで複数のアカウントを受け入れようとしません。デスクトップとは異なるユーザー アカウントで IE を実行しようとすると、「RUNAS コマンドはサポートされていません」というエラー メッセージが表示されます。私の理解では、主な理由は、保護モードの Internet Explorer では、低整合性レベルで実行されるため、IE が中 IL ブローカー プロセス (ieuser.exe) も起動し、デスクトップ ユーザーとして実行され、低 IL プロセス用に選択された中 IL 操作をゲートするためです。複数の ID をその組み合わせで許可すると、大幅な複雑さが生じるため、避けるのが最善です。別のユーザーとして Windows Explorer を実行しようとすると、何も表示されません。新しいプロセスは開始しますが、ウィンドウを表示せずに終了します。

...

エクスプローラーは少しトリッキーです。直接「管理者として実行」を適用してもうまくいきませんが、管理者特権のコマンドシェルから実行するとうまくいくことがよくあります。「explorer /e,c:\」のようなコマンドラインは機能しますが、「explorer」だけを実行するとうまくいかないことがあります。しかし従来通り: 仮にそれが機能したとしても、それは現在の実装による意図しない副作用であり、いつでも変更される可能性があります。

Windows Vista、Windows 7、Windows 8、そしておそらく現在の Windows 10 でもこの動作が維持されると予想するのは妥当です。

したがって、ハックを使用するか、回避策を検討するか、問題を再評価して別のユーザーとしてエクスプローラーを実行する必要があるようです。

回避策としては、Total Commander などの別のファイル エクスプローラー、cmd別の資格情報で実行されているもの、別のユーザーとして起動した他のソフトウェアのファイル オープン ダイアログ、または Windows の「高速スイッチ」を使用して一時的に他のユーザーに切り替えることができます。

なぜこれをやろうとしているのか、具体的な情報を提供していないので、別のアプローチがどのようなものになるのか私にはわかりません。また、ハックについては、上記の質問に複数あります。最初の質問でリンクしたものが解決済みとしてマスクされたのは、その人がさらに調査を行い、おそらくそれらのハックの 1 つに偶然出会ったためだと思います。

答え3

最近私が自分で発見した興味深い回避策ですが、ここではまだ誰も言及していません。

任意のプロセス/プログラムを別のユーザーとして起動し(例:メモ帳)、使用するプログラムとフレームワークに応じて、共通ファイルダイアログボックス API通常の「エクスプローラ」シェル操作を多数実行します。

(メニューから [名前を付けて保存] または [開く] を選択し、コンテキスト メニューを使用してコピー/貼り付けなどを実行し、ダイアログを「キャンセル」します)。

そもそも別のユーザーとして実行する方法

プログラムを別のユーザーとして起動するには、sysinternals シェルrunasはコンテキストメニュー項目をインストールできます。または、組み込みの Windows 実行ファイル、その後、共通ファイルダイアログボックス API

答え4

エクスプローラーでフォルダを別のプロセスで開くように設定する慣れているこれを 1511 で動作できるようにします。たとえば、user1 として実行されているコマンド プロンプトで「explorer c:\somePath」を実行すると、user1 として実行されているエクスプローラー ウィンドウが開きますが、UserZ として実行されているコマンド プロンプトでは、同じコマンドを実行すると、UserZ として実行されているエクスプローラー ウィンドウが開きます。

1607 にアップグレードした後、それが壊れました。右クリックして別のユーザーとして実行すると、上記と同じエラーが発生します。

コマンド プロンプトからエクスプローラーを起動すると、ウィンドウは表示されませんが、現在ログインしているデスクトップ ユーザーが所有する新しいエクスプローラー プロセスが表示されます。そのプロセスは、やがて自然に消えます。新しいエクスプローラー プロセスがそれを呼び出したユーザーとして起動し、そのプロセスがすぐに閉じられ、デスクトップ ユーザーが所有する新しいプロセスが生成される (そして、表示されることはなく、しばらくすると自動的に終了する) のを何度か見ました。これは常に当てはまると思いますが、通常はタスク マネージャーで確認するには速すぎるだけです。プロセス モニターまたは同様のものを使用すると、おそらくこれを証明するのに役立ちますが、どうせ修正できないので、私は気にしていません。:\

関連情報