Windows OS Hub
  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu
  • Home
  • About

Windows OS Hub

  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu

 Windows OS Hub / Windows 10 / How to Run a Program as a Different User (RunAs) in Windows

June 8, 2023 Windows 10Windows 11Windows Server 2019

How to Run a Program as a Different User (RunAs) in Windows

Any Windows user can run a program in his current session on behalf of another user using RunAs. This allows you to run a script (.bat, .cmd, .vbs, .ps1), an executable .exe file, or install an application (.msi, .cab) with the permissions of another user.

For example, you can use RunAs to install apps or run MMC snap-ins under the administrator account in a non-elevated (unprivileged) user session. Also, you can use RunAs to run an application configured in another user’s profile (the application will load its settings from another user’s profile).

There are several ways to run a program or process as another user in Windows.

Contents:
  • How to Run Apps as Different User from File Explorer?
  • RunAs Command: Run a Program Under a Different User from CMD
  • Using RunAs in PowerShell
  • How to Use RunAs Without Password Prompt?
  • How to Create a Shortcut to Run as Different User?
  •  “Run As Different User” Option is Missing in Windows
  • Add “Run As” Option to Start Menu in Windows 10

The Secondary Log-on service (seclogon) is responsible for allowing programs to run as different users in Windows. If this service is stopped, all of the described RunAs methods won’t work. You can check that the service is started with the following PowerShell command:

Get-Service seclogon

secondary logon service needs to use runas feature on windows

How to Run Apps as Different User from File Explorer?

The easiest way to run an application under another user is to use the Windows File Explorer GUI. Just find an application (or a shortcut) you want to start, hold the Shift key, and right-click on it. Select Run as different user in the context menu.

Note. If the menu item “Run as different user” is missing, scroll down the article. 

Run as different user option

In the Windows Security window that appears, you need to specify the name and password of the user under whose account you want to run the application and click OK.

Note.

  • If you want to run the program as an Active Directory user, you must specify its name in the userPrincipalName ( [email protected] ) or samAccountName ( DomainName\UserName ) format ;
  • If your computer is joined to an AD domain, then to run the program on behalf of a local user account, specify its name in the following format: .\localusername .

windiows security dialog - enter different user's password

Important. You can run the program as another user only if a password has been set for that user. You won’t be able to use Runas for a user with an empty password

Open the Task Manager and make sure that the application is running under the specified user account.

taskmanager the application is running under different user

 

RunAs Command: Run a Program Under a Different User from CMD

You can use the Windows built-in runas.exe CLI tool to run apps as a different user from the command prompt. The runas command also allows you to save the user’s password to the Windows Credential Manager so that you don’t have to enter it every time.

Open the command prompt (or the Run window by pressing Win+R). To start the Notepad.exe under the administrator account, run this command:

runas /user:admin "C:\Windows\notepad.exe"

Tip. If the username contains spaces, it must be enclosed in quotation marks:

runas /user:"antony jr" notepad.exe

using runas in command prompt

In the next window, the prompt “Enter the password for admin” appears, where you have to enter the user’s password and press Enter.

Enter the password for admin

Your application should start. In my case, this is cmd.exe. The window title says “running as PCName\username“:

cmd running as different user in windows 10

For example, you can open the Control Panel under a different user:

runas /user:admin control

If you need to run a program as a domain user, use the following name format UserName@DomainName or DomainName\UserName. For example, to open a text file using notepad on behalf of a domain user account, use the command:

runas /user:corp\server_admin "C:\Windows\system32\notepad.exe C:\ps\region.txt"

Attempting to start an app as different user

Enter the password for corp\server_admin:
Attempting to start C:\Windows\system32\notepad.exe C:\ps\region.txt as user "corp\server_admin " ...
If you specified a non-existent username or an invalid password, an error will appear:

RUNAS ERROR: Unable to run - yourcommand
1326: The user name or password is incorrect.

or

RUNAS ERROR: Unable to acquire user password

Sometimes you need to run a program as a domain user from a computer that is not joined to the Active Directory domain. In this case, you need to use the following command (it is assumed that the DNS server that can resolve this domain is specified in the network settings of your computer):

runas /netonly /user:contoso\bmorgan cmd.exe

If you don’t want to load the user profile when starting the program as a different user, use the /noprofile parameter. In this case, the application starts much faster but may cause incorrect operation of programs that store data in the user’s profile.

Using RunAs in PowerShell

If you need to run programs/processes as another user from PowerShell scripts, you can use the Start-Process cmdlet (Managing Windows processes with PowerShell). First, you need to get the user’s credentials:

$Cred = (Get-Credential)

To start the process, command, or app as another user you can use the PowerShell command:

Start-Process -FilePath "powershell.exe" -Credential $Cred

Or you can get user credentials interactively through Windows Security prompt:

# Run as Administrator
Start-Process -FilePath "powershell.exe" -Verb RunAs
# Run as from another user
Start-Process -FilePath "powershell.exe" -Verb RunAsUser

powershell: run process as different user

If you need to run a program as an administrator in elevated mode (by default, UAC runs the program in a not-elevated user context), you can use the following PowerShell command:

Start-Process powershell -Credential woshub\jsmith -ArgumentList '-noprofile -command &{Start-Process "cmd.exe" -verb runas}'

Or a third-party ShelExec tool:

ShelExec /Verb:runas cmd.exe

How to Use RunAs Without Password Prompt?

You can save the user credentials (with password) that you enter. The /savecred parameter is used for this.

runas /user:admin /savecred “C:\Windows\cmd.exe”

After specifying the password, it will be saved to the Windows Credential Manager.

The next time you run the runas command under the same user with the /savecred key, Windows will automatically use the saved password from the Credential Manager without prompting to enter it again.

To display a list of saved credentials in Credential Manager, use the following command:

rundll32.exe keymgr.dll, KRShowKeyMgr

windows runas with savecred option

However, it is not safe to use the /savecred parameter. A user whose profile has saved someone else’s password can use it to run any app or command under those privileges or even change another user’s password. Also, it is easy to steal passwords saved in the Credential Manager so it is recommended to prevent a Windows from saving passwords (and never save the password of the privileged administrative accounts).

Note. In addition, /savecred option doesn’t work in the Windows Home edition versions.

You can use the RunAs command to run mmc snap-ins as a different user. For example, if you want to run the Active Directory Users and Computers snap-in (from the RSAT administration toolkit) as a different user, you can use this command:

runas.exe /user:DOMAIN\USER "cmd /c start \"\" mmc %SystemRoot%\system32\dsa.msc"

In the same way, you can run any other snap-in (if you know its name).

How to Create a Shortcut to Run as Different User?

You can create a shortcut on your desktop that allows you to run the program as a different user. Just create a new shortcut, and specify the runascommand with the necessary parameters in the Location field:

runas /user:admin  “C:\Windows\notepad.exe”

shortcut with runas command

When you run such a shortcut, you will be prompted to enter a user password.

If you additionally add the /savecred parameter in the runas shortcut, then the password will be prompted only once. The password will be saved in Credential Manager and automatically used when you run the shortcut on behalf of another user without prompting for a password.

Such shortcuts are quite often used to run programs that require elevated permissions to run. However, there are safer ways to run a program without administrator privileges or disable the UAC prompt for a specific application.

 “Run As Different User” Option is Missing in Windows

If the “Run as different user” option is missing from the application’s context menu in File Explorer, you need to check the values of two Windows registry parameters.

On Windows, you can hide or show the RunAs menu item in File Explorer using two registry parameters:

  • The HideRunAsVerb parameter (REG_DWORD) under the registry key HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer (1 – hide the RunAs item, 0 – show it);
  • EnableSecureCredentialPrompting (REG_DWORD) under HKLM\ Software\Microsoft\Windows\CurrentVersion\Policies\CredUI (1 – hide, 0 – show).

If Windows does not display the right-click menu option “Run as another user”, check the values of these registry settings and change them to 0. In a domain environment, you can deploy these registry parameters to computers using Group Policy Preferences.

The EnableSecureCredentialPrompting parameter corresponds to a separate GPO option. Open the Local Group Policy Editor (gpedit.msc) and make sure that the Require trusted path for credential entry policy is disabled (or not configured) in Computer Configuration -> Administrative Templates -> Windows Components -> Credential User Interface.

GPO: Require trusted path for credential entry

 

Add “Run As” Option to Start Menu in Windows 10

By default, items in Windows Start Menu do not have a  “Run As” option. In order to add the “Run as different user” option, enable the “Show Run as different user command on Start” policy in User Configuration -> Administrative Templates ->Start Menu and Taskbar section of the Local Group Policy Editor (gpedit.msc).

Show “Run as different user” command on Start

Or, if the gpedit.msc is missing, create a new DWORD parameter with the name ShowRunasDifferentuserinStart and value 1 under the registry key HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer. You can use the following PowerShell command to add the registry parameter:

New-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Explorer" -Name ShowRunasDifferentuserinStart -Value 1 -PropertyType DWORD -Force

ShowRunasDifferentuserinStart registry

Update the Group Policy settings (gpupdate /force) and make sure that a new context menu More -> Run as different user has appeared for the programs in the Start menu.

windows 11 start menu item to runas another user

The “run as different user” option is missing from the context menu of Universal Windows Platform (UWP, Microsoft Store ) apps. You can run a UWP app as a different user from the command prompt using runas.exe.

List the Microsoft Store apps on your computer using PowerShell:

Get-AppxPackage|select Name

You can find a specific app:

Get-AppxPackage|where {$_.Name -like '*teams*'} |select Name

Find the name of the desired application in the list. For example, to run the built-in Microsoft Teams Chat client as another user, do the following:

runas /user:user1 "explorer.exe MicrosoftTeams:"

10 comments
10
Facebook Twitter Google + Pinterest
previous post
FAQ: Licensing Microsoft Exchange Server 2019/2016
next post
Configuring SSH Public Key Authentication on Windows

Related Reading

Zabbix: How to Get Data from PowerShell Scripts

October 27, 2023

Tracking Printer Usage with Windows Event Viewer Logs

October 19, 2023

How to Use Ansible to Manage Windows Machines

September 25, 2023

Installing Language Pack in Windows 10/11 with PowerShell

September 15, 2023

How to View and Change BIOS (UEFI) Settings...

September 13, 2023

10 comments

Tariq March 26, 2020 - 7:11 pm

Great write up. It worked like a charm.

Reply
Mo May 19, 2020 - 9:04 am

perfect! thank you!

Reply
Akram Naeem August 20, 2020 - 6:29 am

This is perfect article

Reply
saif October 27, 2020 - 3:49 pm

i use run command for different user and it ask me for writing password on new cmd window but i am unable to write . i have checked runas.exe properties in which administrator have only read and execute persmission .kindly suggest me solution

Reply
kid119 March 9, 2021 - 2:08 pm

Great write up. Everything is working as described. When I use runas the application is launching in the specified users background how do I launch to the foreground so the application opens on top for the user?

Reply
MATT@OSCO March 9, 2021 - 3:35 pm

The last option was perfect thanks, I can see why that might be disabled by default but I wish it wasn’t!

Reply
Pavel March 25, 2021 - 2:07 pm

works well, would it be possible to specify the password within this shortcut so there is no need to type it all the time?

Reply
Thorsten Schöning April 28, 2021 - 4:03 pm

Beware, while “runas” creates a new user context, especially in case of admins the created processes ARE NOT elevated the same kind like when “Run as Administrator” is used.

> Do Not Use Runas to Launch an Elevated Process

> Be aware that runas does not provide the ability to launch an application with an elevated access token, regardless of whether it is a
> standard user with privileges like a Backup Operator or an administrator. The runas command grants the user the ability to launch
> an application with different credentials. The best method to use to launch an application with a different account is to perform the
> action programmatically by using a service and not rely on the user to run the component as a different user. If your program
> programmatically uses the runas command, ensure that it is not intended to launch an elevated process.

https://msdn.microsoft.com/en-us/library/bb756922.aspx

That limitation can be worked around by using additional tools like “ShelExec” the verb “runas”, which seems to behave differently and elevate a process as well.

> ShelExec /Verb:runas cmd.exe

Reply
Karthick January 25, 2022 - 1:46 pm

A very useful article, thanks!

Reply
JC August 15, 2022 - 7:42 pm

Is it possible to perform a reg query for another user via the runas command?

Reply

Leave a Comment Cancel Reply

Categories

  • Active Directory
  • Group Policies
  • Exchange Server
  • Microsoft 365
  • Azure
  • Windows 11
  • Windows 10
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • PowerShell
  • VMWare
  • Hyper-V
  • Linux
  • MS Office

Recent Posts

  • Zabbix: How to Get Data from PowerShell Scripts

    October 27, 2023
  • Tracking Printer Usage with Windows Event Viewer Logs

    October 19, 2023
  • PowerShell: Configure Certificate-Based Authentication for Exchange Online (Azure)

    October 15, 2023
  • Reset Root Password in VMware ESXi

    October 12, 2023
  • How to Query and Change Teams User Presence Status with PowerShell

    October 8, 2023
  • How to Increase Size of Disk Partition in Ubuntu

    October 5, 2023
  • How to Use Ansible to Manage Windows Machines

    September 25, 2023
  • Installing Language Pack in Windows 10/11 with PowerShell

    September 15, 2023
  • Configure Email Forwarding for Mailbox on Exchange Server/Microsoft 365

    September 14, 2023
  • How to View and Change BIOS (UEFI) Settings with PowerShell

    September 13, 2023

Follow us

  • Facebook
  • Twitter
  • Telegram
Popular Posts
  • How to Allow Multiple RDP Sessions on Windows 10 and 11
  • How to Repair EFI/GPT Bootloader on Windows 10 or 11
  • How to Restore Deleted EFI System Partition in Windows
  • Network Computers are not Showing Up in Windows 10/11
  • How to Run Program without Admin Privileges and Bypass UAC Prompt
  • Fix: BSOD Error 0x0000007B (INACCESSABLE_BOOT_DEVICE) on Windows
  • Fixing ‘The Network Path Was Not Found’ 0x80070035 Error Code on Windows
Footer Logo

@2014 - 2023 - Windows OS Hub. All about operating systems for sysadmins


Back To Top