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 ?

kellogs
fonte

Respostas:

14

É isso que você está procurando?

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.

Stanley Williams
fonte
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
barlop
3

No espaço de destino do atalho:

C:\Windows\System32\runas.exe /profile /user:COMPUTERNAME_04\administrator C:\totalcmd\TOTALCMD64.EXE
robbot
fonte
-2

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"

Navneet
fonte
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.
Tim