![在 Windows 10 中以管理员身份运行 Visual Studio 时出现问题](https://linux22.com/image/1500573/%E5%9C%A8%20Windows%2010%20%E4%B8%AD%E4%BB%A5%E7%AE%A1%E7%90%86%E5%91%98%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%20Visual%20Studio%20%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我正在为公司的一位开发人员构建一台新的 Win10 计算机,他对设置方式有点...挑剔...。
有一件事是绝对必要的,那就是他必须能够将文件拖放到 Visual Studio 中。这通常可以正常工作,但为了测试,他必须以管理员身份运行 Visual Studio,而这会由于某种原因禁用拖放功能。
我在 Google 上搜索了一下这个主题,基本上遇到了:
本地安全策略>本地策略>安全选项>管理员帐户状态:设置为已启用。-
或 -
在注册表而不是控制面板中关闭 UAC:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows \CurrentVersion\Policies\System。
这适用于能够以管理员身份运行 VS 并将文件拖放到 VS 中。
但是,现在所有 Windows 应用程序都无法运行,
即:Edge 无法在内置管理员帐户中运行。甚至计算器,FFS,也无法运行。
我找到了让 VS 按照我需要的方式工作的解决方案,以及让 Microsoft 应用程序正常运行的解决方案,但没有找到如何让它们同时工作的解决方案。
所以我的问题是:
有没有什么办法可以让 Windows 10 鱼与熊掌兼得,这样我就不必在我给他新电脑后听他抱怨?
答案1
从标准用户进程(中等完整性级别)拖放到提升进程(高完整性级别)永远行不通,因为它可能被用于特权升级攻击。普通用户可以在提升进程中打开文件,并可能以比他拥有的更高的权限执行一些代码。
当您需要调试进程时,有时需要以管理员身份运行 Visual Studio,此时用户需要权限才能将调试器附加到现有进程(如 Windows 服务)。在调试运行 IIS 的 ASP.Net 应用程序时,许多人也以管理员身份启动了 Visual Studio。
将文件拖到提升的 Visual Studio 上的唯一方法是将其从另一个提升的进程中拖出。因此,使用第三方文件管理器甚至 winfile.exe 都可以实现这一点,但它不适用于 Windows 文件资源管理器。
不过,我不建议一直使用高级文件管理器,如果您的开发人员真的喜欢拖放操作,他可以使用专用的文件管理器来实现此目的。
我使用提升的 PowerShell 会话,从中我可以启动所有需要提升运行的程序。