I'm trying to run the program I'm debugging as a different user. Now, this can be done by running the exe and attaching from Visual Studio, but this is cumbersome.
What I've tried to do is use the "RunAs" command:
command.com /C runas /env /user:OtherUser DebugTarget.Exe
But this is attached to command.com, Visual Studio wants an exe. Now I can create a dummy app....but anyone have a better solution for this?
To Run a program as a different user, simply press the Shift key and right-click on the shortcut or executable you wish to Run as different user. From the right-click context menu, select Run as different user.
Once you have your launch configuration set, start your debug session with F5. Alternatively, you can run your configuration through the Command Palette (Ctrl+Shift+P) by filtering on Debug: Select and Start Debugging or typing 'debug ' and selecting the configuration you want to debug.
Select the C++ project in Solution Explorer and click the Properties icon, press Alt+Enter, or right-click and choose Properties. In the <Project> Property Pages dialog box, expand Configuration Properties, and then select Debugging. Set Debugger Type to Mixed or Auto. Select OK.
Run Visual Studio as an administrator Open the Start menu, and scroll to Visual Studio. From the right-click or context menu of Visual Studio 2019 or Visual Studio 2022, select More > Run as administrator.
As mentioned in have debugger run application as different user (linked above), another extremely simple way to do this which doesn't require any more tools:
Click "Run as different user"
Enter credentials of the other user in the next pop-up window
Now when you debug the solution it will be with the other user's permissions.
Hint: if you are going to run multiple instances of Visual Studio, change the theme of it (like to "dark") so you can keep track of which one is which easily).
This works (I feel so idiotic):
C:\Windows\System32\cmd.exe /C runas /savecred /user:OtherUser DebugTarget.Exe
The above command will ask for your password everytime, so for less frustration, you can use /savecred. You get asked only once. (but works only for Home Edition and Starter, I think)
you can also use VSCommands 2010 to run as different user:
I'm using the following method based on @Watki02's answer:
That way you can keep your visual studio instance as your own user whilst debugging from the other.
cmd.exe is located in different locations in different versions of Windows. To avoid needing the location of cmd.exe, you can use the command moogs wrote without calling "cmd.exe /C".
Here's an example that worked for me:
So the final step will look something like this in Command Prompt:
C:\Projects\MyProject\bin\Debug>runas /user:domain\username Application.exe
Note: the domain name was required in my situation.
You can open your command prompt as the intended user:
You will be prompted with login and password
Once CommandP Prompt starts you can double check which user you are running as by the command whoami
.
Now you can change directory to your project and run
dotnet run
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With