Essas instruções estavam erradas e foram corrigidas. Aqui está o uso para runas:
RUNAS USAGE:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
/user:<UserName> program
RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
/smartcard [/user:<UserName>] program
RUNAS /trustlevel:<TrustLevel> program
Observe que nas três variações você pode especificar apenas um programa a ser executado, nada mais. Eles querem dizer isso: você não pode especificar nenhum argumento para o programa como palavras separadas. Quaisquer argumentos devem ser incorporados na cadeia de "programa" com aspas.
Também não ficou claro é que runasnão passará nos diretórios atuais; sempre começa C:\Windows\System32. Portanto, qualquer programa que você especificar deve estar em um PATHdiretório ou ser fornecido como um caminho completo. Você não pode usar um caminho relativo. E, é claro, quaisquer ACLs nesse executável ou nos diretórios em seu caminho devem permitir o acesso do usuário ao qual você deseja executá-lo.
A boa notícia é que runasaceitará um .cmdarquivo como um "programa".
Por uma questão prática, o que isso significa é que, para fazer o que você deseja, é provável que você deseje criar um .cmdarquivo em um diretório que ambos os usuários possam acessar e depois passar o caminho completo. Por exemplo:
runas /u:Fred "C:\Users\Public\foo.cmd"
A ruga final é que runaspode iniciar um programa como outro usuário, mas não pode elevar. Não há como gerar o prompt do UAC. Se você deseja executar algo "como administrador" runas, precisará habilitar a conta de administrador interna , que sempre é executada elevada de qualquer maneira, e especificar esse nome de usuário.
Se isso não funcionar para você e você precisar de uma capacidade generalizada de passar argumentos e / ou diretórios atuais ou se precisar executar algo elevado como algo diferente de Administrador, precisará de um genuíno sucomo este .