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 runas
não passará nos diretórios atuais; sempre começa C:\Windows\System32
. Portanto, qualquer programa que você especificar deve estar em um PATH
diretó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 runas
aceitará um .cmd
arquivo 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 .cmd
arquivo 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 runas
pode 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 su
como este .