继关于以其他用户身份打开文件资源管理器的问题,我尝试导航到C:\Windows
,按住 Shift 键并单击鼠标右键explorer.exe
,然后单击“以其他用户身份运行”。当我输入用户的登录详细信息时,我收到 2 条连续的错误消息,均显示
Windows 无法访问指定的设备、路径或文件。您可能没有适当的权限来访问该项目
如果我尝试当前登录的帐户的登录详细信息,它可以工作,但另一个则不行。我的电脑上的两个帐户(管理员)都是这种情况。
编辑
评论中有些混乱。我正在尝试跟进接受的答案在上面链接的问题中,它不起作用。有些人说这是不可能的,所以奇怪的是有一个被接受的答案有多个赞成票(编辑 2:好吧,我对那个答案的评论说它不起作用,现在赞成票比答案本身还多!)。
答案1
每这篇 TechNet 博客文章,浏览器看起来是单线程的,并且不允许在不同的用户帐户下运行多个线程:
Windows 资源管理器并非设计为在同一桌面会话中的多个安全上下文中运行,Windows 不能简单地抛出 UAC 提示,然后启动提升权限的资源管理器实例
使用最有用的替代方法浏览器,正如该文章中概述的那样,下载探索者++并以您希望浏览文件的用户身份运行它。您可以在 explorer++ 中像使用 explorer 一样轻松地连接到 UNC 路径,因此它似乎是一个足够的替代方案。这也是我遇到的最简单的方法,不需要提升权限(例如干预注册表或安装其他软件所需的权限)。
答案2
从您在其他问题中读到的内容(1,2) 关于这个主题,它通常充其量只是黑客行为,而且肯定不受支持。此外,第二个问题包含更多信息,如果您点击几个链接,您将到达这里:这就是 Vista……
如果你查看该文章,你会看到以下内容:
然而,在 Vista 上,变化更多。Internet Explorer 和 Windows Explorer 都不允许在同一桌面上同时使用多个帐户。如果您尝试使用与桌面不同的用户帐户运行 IE,它将显示一条错误消息:“不支持 RUNAS 命令。”据我了解,主要原因是在保护模式下 Internet Explorer 以低完整性级别运行,IE 还会启动一个中等 IL 代理进程 (ieuser.exe),该进程以桌面用户身份运行,并为低 IL 进程控制选定的中等 IL 操作。允许多个身份混合在一起会带来极大的复杂性,最好避免。如果您尝试以不同的用户身份运行 Windows Explorer,您将看不到任何内容 - 新进程启动但退出时不显示窗口。
...
Explorer 有点棘手。直接应用“以管理员身份运行”不会起作用,但从提升的命令 shell 运行它通常可以。我发现像“explorer /e,c:\”这样的命令行可以工作,而仅仅运行“explorer”可能不行。但是像之前一样:如果它真的起作用,那也是当前实现的一个无意的副作用,并且随时可能发生变化。
有理由期待他们会保留这种行为,就像在 Windows Vista、Windows 7、Windows 8 以及现在(可能)Windows 10 中一样。
因此,看起来您要么必须使用黑客技术,要么考虑解决方法,要么重新评估导致您必须以其他用户身份运行资源管理器的问题。
作为一种解决方法,您可以使用不同的文件资源管理器(例如 Total Commander),cmd
它以不同的凭据运行,使用您以不同用户身份启动的其他软件的文件打开对话框或使用 Windows“快速切换”来暂时切换到其他用户。
你并没有提供任何信息来说明你为什么要这样做,所以我不知道其他方法会是什么样子,至于黑客攻击……上面的问题有多个。我猜你在最初问题中链接的那个问题被伪装成已解决的原因是,这个人做了更多的研究,可能偶然发现了其中一个黑客攻击。
答案3
我最近发现了一个有趣的解决方法,但这里还没有人提到:
以不同的用户身份生成任何进程/程序(例如记事本),并且根据所使用的程序和框架,您可以使用通用文件对话框 API执行大量常规的“explorer”shell 操作。
(只需从菜单中选择另存为..或打开...,然后使用上下文菜单执行复制/粘贴等,然后“取消”对话框)。
首先如何以不同的用户身份运行
要以不同用户身份运行任何程序,请使用sysinternals shellrunas,它可以安装上下文菜单项。或者,使用以下命令生成 cmd内置 Windows 运行方式,然后启动一个使用通用文件对话框 API。
答案4
将资源管理器设置为在单独的进程中打开文件夹习惯允许它在 1511 下工作。例如,在以 user1 身份运行的命令提示符下,“explorer c:\somePath”将打开以 user1 身份运行的资源管理器窗口,而在以 UserZ 身份运行的命令提示符下,相同的命令将打开以 UserZ 身份运行的资源管理器窗口。
升级到 1607 后,这个问题就解决了。右键单击并以其他用户身份运行会导致上述相同的错误。
从命令提示符启动 explorer,不会显示任何窗口,但会显示一个由当前登录的桌面用户拥有的新 explorer 进程。该进程最终会自行消失。我曾多次看到,新的 explorer 进程以调用它的用户身份启动,然后该进程立即关闭,并生成一个由桌面用户拥有的新进程(并且从未出现,过一会儿就会自动终止)。我怀疑这种情况总是如此,只是通常发生得太快而无法在任务管理器中观察到。进程监视器或类似程序可能有助于证明这一点,但我没有费心,因为我可能无论如何都无法修复它。:\