我正在尝试以其他用户身份运行正在调试的程序。现在,可以通过运行exe并从Visual Studio附加附件来完成此操作,但这很麻烦。
我尝试做的是使用“ RunAs”命令:
command.com /C runas /env /user:OtherUser DebugTarget.Exe
但这是附加到command.com的,Visual Studio需要一个exe。现在,我可以创建一个虚拟应用程序...。但是有人对此有更好的解决方案吗?
Answers:
如调试器以不同的用户身份运行应用程序(在上面链接)中所述,这是另一种非常简单的方法,不需要任何其他工具:
现在,当您调试解决方案时,它将具有其他用户的权限。
提示:如果您要运行Visual Studio的多个实例,请更改其主题(例如更改为“暗”),以便可以轻松跟踪哪个实例。
这有效(我觉得很蠢):
C:\Windows\System32\cmd.exe /C runas /savecred /user:OtherUser DebugTarget.Exe
上面的命令每次都会询问您的密码,因此为了减少麻烦,可以使用/ savecred。您只会被问到一次。(我认为,但仅适用于家庭版和入门版)
System.Diagnostics.Debugger.Launch();
您还可以使用VSCommands 2010以其他用户身份运行:
我正在基于@ Watki02的答案使用以下方法:
这样,您就可以将Visual Studio实例保留为自己的用户,而从另一个用户进行调试。
cmd.exe位于不同版本的Windows中的不同位置。为避免需要cmd.exe的位置,可以使用写的命令moogs而不调用“ cmd.exe / C”。
这是一个对我有用的例子:
因此,最后一步在命令提示符中将类似于以下内容:
C:\Projects\MyProject\bin\Debug>runas /user:domain\username Application.exe
注意:在我的情况下,域名是必需的。
我正在使用Visual Studio 2015,并尝试使用其他凭据调试网站。
(我目前正在开发网络上具有实时活动目录副本的网站上进行测试;我可以“劫持”用户帐户以安全方式测试权限)
进行一些快速测试真的很方便。完全控制访问权限可能会过大,但是我是在隔离的网络上开发的。如果有人添加有关更具体设置的注释,我将来会很乐意编辑此帖子。