Argumento de linha de comando para executar como outro usuário no Windows?
9
No instalador do Windows .msi, se você especificar uma ação personalizada a ser executada no momento da instalação do aplicativo, ela será executada no usuário "SYSTEM". Posso enganá-lo passando um parâmetro de linha de comando para a ação personalizada (arquivo .exe) e executá-la no usuário conectado no momento ?
RUNAS
Execute a program under a different user account.
Syntax
RUNAS [/profile] [/env] [/netonly] /user:user Program
Key
/profile Option to load the user's profile (registry)
/env Use current environment instead of user's.
/netonly Use the credentials specified only for remote connections.
/user Username in form USER@DOMAIN or DOMAIN\USER
(USER@DOMAIN is not compatible with /netonly)
Program The command to execute
Digite a senha quando solicitado.
Quando você inicia um programa RunAs /netonly, o programa é executado no computador local como o usuário no qual você está conectado no momento, mas as conexões com outros computadores na rede serão feitas usando a conta de usuário especificada.
Sem /netonlytudo será executado sob a conta de usuário especificada.
Eu acredito que 'runas' é um comando shell. Preciso que o comando seja 'myexe.exe' seguido de algum argumento que o faça executar com credenciais diferentes. Alguma outra dica?
Kellogs
11
Qualquer modificador que vem depois do comando deve ser incorporado ao programa. Um exemplo é iexplore.exe / k Isso abre o Internet Explorer no modo quiosque e é incorporado ao executável. A menos que você escreva um script que execute o comando shell com o programa se você passar um modificador para o script como myscript.bat que executa o myfile.exe normalmente, mas myscript.bat / outro que executa o myfile.exe por meio do comando shell como outro usuário.
Stanley Williams
Você está certo. de jeito nenhum, eu acho. Obrigado
kellogs
muito bobo @kellogs, obviamente, você não pode dizer que não há maneira de contornar isso. De fato, definitivamente existe uma maneira de contornar isso. Certa vez, executei um script que executava runas e escrevi uma senha, e existe um programa que executará um shell cmd oculto. Portanto, é possível, em teoria, como uma solução combinada. O programa que executa as coisas ocultas é o HSTART ntwind.com/software/hstart.html
Se você deseja abrir qualquer aplicativo que não seja Administrador, faça o seguinte: - Mantenha pressionada a tecla Shift + Clique com o botão direito do mouse no aplicativo. Isso exibirá a opção "Executar como usuário diferente"
Eu acho que o OP quer que o programa seja executado como outro usuário (por exemplo, o administrador, isso é feito como você propõe) e, em seguida, o programa chama outro comando / programa que é executado como o usuário original. Então você responde a uma pergunta que não é feita.
No espaço de destino do atalho:
fonte
Se você deseja abrir qualquer aplicativo que não seja Administrador, faça o seguinte: - Mantenha pressionada a tecla Shift + Clique com o botão direito do mouse no aplicativo. Isso exibirá a opção "Executar como usuário diferente"
fonte