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 em todas as três variações, você pode especificar apenas um programa a ser executado, nada mais. Eles significam isso: Você não pode especificar quaisquer argumentos para o programa como palavras separadas. Qualquer argumento deve ser incorporado na string "program" com aspas próximas.
Também não ficou claro que runas
não passará pelos diretórios atuais; sempre começa em C:\Windows\System32
. Portanto, qualquer programa especificado deve estar em um diretório PATH
ou ser fornecido como um caminho completo. Você não pode usar um caminho relativo. E, claro, qualquer ACL nesse executável ou nos diretórios em seu caminho deve permitir o acesso pelo usuário que você gostaria de executá-lo como.
A boa notícia é que runas
aceitará um arquivo .cmd
como um "programa".
Como uma questão prática, o que isto significa é que, para fazer o que você quer, você provavelmente desejará criar um arquivo .cmd
em um diretório que ambos os usuários possam acessar e, em seguida, 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 ser elevado. Não há como causar isso para gerar o prompt do UAC. Se você deseja executar algo como "administrador" usando runas
, precisará habilita a conta de administrador interna , que sempre é executada de qualquer maneira, e especifica o nome do usuário.
Se isso não funcionar para você e você precisar de uma habilidade generalizada para transmitir argumentos e / ou diretórios atuais ou se precisar executar algo elevado como algo diferente de Administrador, você precisará de um su
genuíno, como este .