运行 Visual Studio 作为另一个用户并提升

Running Visual Studio as another user AND elevated

我想 运行(例如)Visual Studio 2015 既是另一个用户又具有提升的本地权限。这对于 SSMS 17.1(例如)是可行的,方法是转到快捷方式的属性,单击兼容性选项卡,选择 "Change Settings For All Users" 并勾选 "Run this program as an administrator" 框。

完成后,我可以以另一个用户身份启动应用程序,输入凭据,确认 UAC 提示,一切正常。

但是,Visual Studio 2015 的快捷方式属性中没有兼容性选项卡。查看快捷方式,似乎有些有兼容性选项卡,有些没有,我无法发现大部分模式.

使用应用程序兼容性疑难解答程序无法解决问题,因为设置似乎是特定于用户的,并且在 运行作为另一个用户时不会应用。

令人抓狂。

我该如何解决这个问题?

事实证明,这是为应用程序兼容性添加注册表项的问题。虽然快捷方式上没有兼容性选项卡,但我发现在 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] 下添加一个 reg sz 值,其中包含 Visual Studio 可执行文件的路径并添加“~ RUNASADMIN”标志为 VS 2015 和 VS 2017 做这个技巧。从 SQL Server Management Studio 17.1 的 reg 设置向后工作,它也包含在下面。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe"="~ RUNASADMIN"
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"="~ RUNASADMIN"
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe"="~ RUNASADMIN"

一旦这些条目存在,就可以在“开始”菜单中右键单击快捷方式并选择"Run as another user"成功。