以另一个用户身份运行 Visual Studio 并提升

Posted

技术标签:

【中文标题】以另一个用户身份运行 Visual Studio 并提升【英文标题】:Running Visual Studio as another user AND elevated 【发布时间】:2017-07-25 02:06:25 【问题描述】:

我想以另一个用户的身份并以提升的本地权限运行(例如)Visual Studio 2015。这可以通过 SSMS 17.1(例如)转到快捷方式的属性,单击兼容性选项卡,选择“更改所有用户的设置”并勾选“以管理员身份运行此程序”框。

完成后,我可以作为另一个用户启动应用程序,输入凭据,确认 UAC 提示,一切都很好。

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

使用应用程序兼容性疑难解答并不能解决问题,因为设置似乎是特定于用户的,并且在以其他用户身份运行时不会应用。

让人抓狂。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

事实证明,这是一个添加注册表项以实现应用程序兼容性的问题。虽然快捷方式上没有兼容性选项卡,但我发现在 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] 下添加一个 reg sz 值,其中包含 Visual Studio 可执行文件的路径并添加“~ RUNASADMIN” flag 对 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"

一旦存在这些条目,可以从“开始”菜单中右键单击快捷方式并成功选择“以其他用户身份运行”。

【讨论】:

以上是关于以另一个用户身份运行 Visual Studio 并提升的主要内容,如果未能解决你的问题,请参考以下文章

visual studio中的exe以管理员身份运行

我想以另一个用户身份运行一个应用程序而无需编写密码

Golang如何让子进程以另一个用户身份运行

windows 中的类似于sudo的命令(在cmd中以另一个用户的身份运行命令)

为啥以“以管理员身份运行”运行 Visual Studio?

Windows 10 上强制Visual Studio以管理员身份运行