¿Argumento de línea de comando para ejecutarse como otro usuario en Windows?

9

En el instalador .msi de Windows, si especifica una acción personalizada que se ejecutará en el momento de la instalación de una aplicación, se ejecutará bajo el usuario "SYSTEM". ¿Puedo engañarlo pasando un parámetro de línea de comando a la acción personalizada (archivo .exe) y hacer que se ejecute bajo el usuario actualmente conectado ?

Kellogs
fuente

Respuestas:

14

¿Es esto lo que estás buscando?

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

Ingrese la contraseña cuando se le solicite.

Cuando inicia un programa con RunAs /netonly, el programa se ejecutará en su computadora local como el usuario con el que inició sesión actualmente, pero cualquier conexión a otras computadoras en la red se realizará utilizando la cuenta de usuario especificada.

Sin /netonlytodo se ejecutará bajo la cuenta de usuario especificada.

Stanley Williams
fuente
Creo que 'runas' es un comando de shell. Necesito que el comando sea 'myexe.exe' seguido de algún argumento que lo haga funcionar con diferentes credenciales. ¿Alguna otra pista?
Kellogs
1
Cualquier modificador que viene después del comando debe integrarse en el programa. Un ejemplo es iexplore.exe / k. Esto abre Internet Explorer en modo quiosco y está integrado en el ejecutable. A menos que escriba un script que ejecute el comando shell con el programa si pasa un modificador al script como myscript.bat que ejecuta myfile.exe normalmente pero myscript.bat / otro que ejecuta myfile.exe a través del comando shell como otro usuario.
Stanley Williams el
Tienes razón. no hay forma de evitarlo, supongo. Gracias
kellogs
@kellogs muy tonto, obviamente, no se puede decir que no hay forma de evitarlo. De hecho, definitivamente hay una forma de evitarlo. Una vez ejecuté un script que ejecutaba runas y escribí una contraseña, y hay un programa que ejecutará un shell de cmd oculto. Por lo tanto, es posible en teoría, como una solución combinada. El programa que ejecuta cosas ocultas es HSTART ntwind.com/software/hstart.html
barlop
3

En el espacio objetivo de acceso directo:

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

Si desea abrir cualquier aplicación que no sea Administrador, haga lo siguiente: Mantenga presionada la tecla Mayús + clic derecho en la aplicación. Esto mostrará la opción "Ejecutar como un usuario diferente"

Navneet
fuente
Creo que el OP quiere que el programa se ejecute como otro usuario (por ejemplo, el administrador, esto se hace como usted propone) y luego hacer que el programa llame a otro comando / programa que se ejecuta como el usuario original. Entonces responde una pregunta que no se hace.
Tim