Pass parameters to program started with Runas

12,264

Solution 1

The correct syntax is to include both the target executable and its parameters in double quotes like this:

runas.exe /user:domain\username "perfmon.exe /res"
runas.exe /user:domain\username "perfmon.exe \"argument with spaces\" /res"

More Information: Runas command

Solution 2

For anyone stumbling upon this while searching for a way to use runas with an application where its own parameters may contain spaces.

The original accepted answer with \" did not work for me.

What works is to put a double quote to actually be able to pass arguments with spaces:

runas.exe /user:domain\username "perfmon.exe ""argument with spaces"" /res"

It is actually explained quite nicely here: https://ss64.com/nt/syntax-esc.html

Share:
12,264

Related videos on Youtube

JIV
Author by

JIV

Updated on September 18, 2022

Comments

  • JIV
    JIV over 1 year

    I am trying to start Performance monitor as different user. I found runas.exe but syntax for program arguments makes me go crazy. The following syntax works:

    C:\Windows\System32\runas.exe /user:domain\username perfmon.exe
    

    But since perfmon.exe has the argument */res* the following line doesn't work:

    C:\Windows\System32\runas.exe /user:domain\username perfmon.exe /res
    

    I tried to escape */res* but without any success. I tried:

    "/res"
    \"/res\""
    \"\/res\""
    

    Any ideas?