web-dev-qa-db-ja.com

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

以下から 別のユーザーとしてファイルエクスプローラーを開くことに関するこの質問 に移動して、C:\Windowsに移動し、Shiftキーを押しながらExplorer.exeを右クリックして、[別のユーザーとして実行]をクリックしました」ユーザーのログイン詳細を入力すると、2つの連続したエラーメッセージが表示されます。

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

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

編集

コメントに混乱がありました。 上記の質問で受け入れられた回答をフォローしようとしていますが機能しません。一部の人はそれを行うことができないと言っているので、3つの賛成票で承認された回答があるのは奇妙です

8
binaryfunt

このTechNetブログ投稿Explorer.exeは単一のように見えますスレッド化され、異なるユーザーアカウントで複数のスレッドを実行することはできません。

Windowsエクスプローラーは、同じデスクトップセッションで複数のセキュリティコンテキストで実行するように設計されていません。Windowsは、UACプロンプトをスローしてエクスプローラーの昇格されたインスタンスを起動することはできません。

Explorer.exeを使用する最も便利な代替方法は、その記事でも概説されているように、 Explorer ++ をダウンロードして、閲覧したいユーザーとして実行することですファイルとして。 Explorer ++でもExplorerと同じように簡単にUNCパスに接続できるため、十分な代替手段のようです。これは、昇格されたアクセス許可(レジストリを変更したり、追加のソフトウェアをインストールしたりするために必要なアクセス許可など)を必要としない、私が遭遇した最も簡単なアプローチでもあります。

6
John Eisbrener

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

別のユーザー(メモ帳など)として任意のプロセス/プログラムを生成します。使用するプログラムとフレームワークに応じて、 Common File Dialog Box API を使用して、通常の「エクスプローラ」シェルをたくさん実行できます。操作。

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

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

別のユーザーとしてプログラムを起動するには、コンテキストメニュー項目をインストールできる sysinternals shellrunas を使用します。または、 組み込みのWindows runas でcmdを生成し、次に Common File Dialog Box APIを使用するプログラムを起動します。

1
Hatebit

このトピックに関する他の質問( 12 )で読むことができるものから、通常はせいぜいハックであり、サポートされているシナリオではありません。さらに、2番目の質問にはいくつかの情報が含まれており、いくつかのリンクをたどると、ここに表示されます: これがVistaです...

その記事をチェックすると、次のようになります。

しかし、Vistaではさらに多くの変更があります。 Internet ExplorerもWindows Explorerも、同じデスクトップで複数のアカウントを利用することを望んでいません。デスクトップとは別のユーザーアカウントでIEを実行しようとすると、「RUNASコマンドはサポートされていません。」というエラーメッセージが表示されます。低整合性レベルで実行される保護モードのInternet Explorerでは、IEは、デスクトップユーザーとして実行され、選択された中型IL操作をゲート制御する中型ILブローカープロセス(ieuser.exe)も起動します。低ILプロセスの場合。その混合に複数のIDを許可すると、大幅な複雑さを回避できます。別のユーザーとしてWindowsエクスプローラーを実行しようとしても、何も表示されません。新しいプロセスは開始しますが、ウィンドウを表示せずに終了します。

...

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

彼らがWindows Vista、Windows 7、Windows 8、そして(おそらく)Windows 10でそうであったように、彼らがこの動作を維持することを期待することは理にかなっています。

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

回避策として、Total Commanderのような別のファイルエクスプローラー、別の資格情報で実行されているcmd、別のユーザーとして開始した他のいくつかのソフトウェアのファイルオープンダイアログ、またはウィンドウの「高速切り替え」を使用できます。一時的に他のユーザーに切り替えるだけです。

なぜこれを行おうとしているのか、実際には情報を提供していなかったので、別のアプローチがどのように見えるのかわかりません。ハックについては、上記の質問に複数あります。最初の質問でリンクした問題が解決されたものとしてマスクされた理由は、その人がさらに調査を行い、恐らくそれらのハックに遭遇したためだと思います。

1
Seth

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

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

コマンドプロンプトからエクスプローラーを起動すると、ウィンドウは表示されませんが、現在ログインしているデスクトップユーザーが所有する新しいエクスプローラープロセス。そのプロセスは最終的には自然になくなります。新しいExplorerプロセスを起動したユーザーとして起動し、そのプロセスがすぐに閉じ、デスクトップユーザーが所有する新しいプロセスが生成される(そして表示されず、ビットが自動的に強制終了された後)のを何度か見ました。 )。これは常に当てはまるのではないかと思いますが、通常、タスクマネージャーで観察するにはあまりにも迅速に発生します。プロセスモニターまたは類似のものはおそらくこれを証明するのに役立つでしょうが、とにかくそれを修正できないので、私は気にしていません。 :\

1
user705022