代码之家  ›  专栏  ›  技术社区  ›  moogs

在Visual Studio中调试时运行其他用户

  •  71
  • moogs  · 技术社区  · 15 年前

    我正在尝试以不同的用户身份运行正在调试的程序。现在,这可以通过运行exe并从Visual Studio附加来完成,但这很麻烦。

    我尝试使用“runas”命令:

    command.com /C runas /env /user:OtherUser DebugTarget.Exe 
    

    但它附加到command.com,Visual Studio需要一个exe。 现在我可以创建一个虚拟的应用程序了……但是有人有更好的解决方案吗?

    6 回复  |  直到 6 年前
        1
  •  71
  •   Watki02    12 年前

    另一种非常简单的方法(如中所述 a link above )不需要更多的工具:

    • 按住shift键并右键单击以打开新的Visual Studio实例。
    • 单击“以不同用户身份运行” Run as different user
    • 在下一个弹出窗口中输入其他用户的凭据
    • 打开您正在使用的解决方案

    现在,当您调试解决方案时,它将具有其他用户的权限。

    (提示:如果要运行多个Visual Studio实例,请将其主题(如“深色”)更改为便于跟踪的主题)。

        2
  •  28
  •   moogs    15 年前

    这很管用(我觉得很白痴):

    C:\Windows\System32\cmd.exe /C runas /savecred /user:OtherUser DebugTarget.Exe
    

    上面的命令每次都会要求您输入密码,所以为了减少挫折感,您可以使用/savecred。你只被问过一次。(但我想只适用于家庭版和入门版)

        3
  •  19
  •   Registered User    14 年前

    您也可以使用 VSCommands 2010 以不同用户身份运行:

    alt text

        4
  •  5
  •   Liam Joshua    6 年前

    我使用的方法基于 @Watki02's answer:

    1. 按住Shift R键单击要调试的应用程序
    2. 以不同用户身份运行
    3. 将调试器附加到应用程序

    这样,您可以将Visual Studio实例保留为自己的用户,同时从另一个实例进行调试。

        5
  •  2
  •   Michael    13 年前

    在不同版本的Windows中,cmd.exe位于不同的位置。为了避免需要cmd.exe的位置,可以使用moogs编写的命令而不调用“cmd.exe/c”。

    下面是一个对我有用的例子:

    1. 打开命令提示
    2. 将目录更改为应用程序的.exe文件所在的位置。
    3. 执行以下命令:runas/user:domain\username application.exe

    因此,最后一步在命令提示中将类似这样:

    C:\Projects\MyProject\bin\Debug>runas /user:domain\username Application.exe
    

    注释 :在我的情况下需要域名。

        6
  •  -1
  •   colinccook    9 年前

    我正在使用Visual Studio 2015并尝试使用不同的凭据调试网站。

    (我目前正在开发网络上测试一个拥有活动目录副本的网站;我可以“劫持”用户帐户以安全方式测试权限)

    1. 从普通用户开始调试,确保可以 http://localhost:8080 正常等
    2. 给予 其他用户 “完全控制”访问普通用户的主目录,即C:\user s\colin
    3. 使 其他用户 计算机上的管理员。右键单击“计算机”>“管理”>“将其他用户添加到管理员组”
    4. 将Internet Explorer作为 其他用户 (按住Shift键并右键单击Internet Explorer,以不同用户身份运行)
    5. 转到IE窗口中的本地主机URL

    做一些快速测试真的很方便。完全控制访问可能会被破坏,但我是在一个孤立的网络上开发的。如果有人添加关于更具体设置的注释,我会很乐意在将来编辑这篇文章。