Argument de ligne de commande pour exécuter en tant qu'un autre utilisateur sous Windows?

9

Sous le programme d'installation de Windows .msi, si vous spécifiez une action personnalisée à exécuter au moment de l'installation d'une application, elle sera exécutée sous l'utilisateur "SYSTEM". Puis-je le tromper en passant un paramètre de ligne de commande à l'action personnalisée (fichier .exe) et le faire fonctionner sous l' utilisateur actuellement connecté ?

kellogs
la source

Réponses:

14

Est-ce ce que vous recherchez?

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

Entrez le mot de passe lorsque vous y êtes invité.

Lorsque vous démarrez un programme avec RunAs /netonly, le programme s'exécutera sur votre ordinateur local en tant qu'utilisateur sous lequel vous êtes actuellement connecté, mais toutes les connexions à d'autres ordinateurs du réseau seront établies à l'aide du compte d'utilisateur spécifié.

Sans /netonlytout s'exécutera sous le compte d'utilisateur spécifié.

Stanley Williams
la source
Je crois que «runas» est une commande shell. J'ai besoin que la commande soit «myexe.exe» suivie d'un argument qui la ferait fonctionner sous différentes informations d'identification. D'autres indices?
kellogs
1
Tout modificateur qui vient après la commande doit être intégré au programme. Un exemple est iexplore.exe / k Cela ouvre Internet Explorer en mode kiosque et est intégré à l'exécutable. Sauf si vous écrivez un script qui exécute la commande shell avec le programme si vous passez un modificateur au script comme myscript.bat qui exécute normalement monfichier.exe mais myscript.bat / autre qui exécute myfile.exe via la commande shell en tant qu'autre utilisateur.
Stanley Williams
Tu as raison. aucun moyen de le contourner, je suppose. Merci
kellogs
très stupide @kellogs, vous ne pouvez évidemment pas dire qu'il n'y a aucun moyen de contourner cela. En fait, il existe certainement un moyen de le contourner. J'ai une fois exécuté un script qui a exécuté des runas et écrit un mot de passe, et il existe un programme qui exécutera un shell cmd caché. Il est donc possible en théorie, comme une solution combinée. Le programme qui exécute les choses cachées est HSTART ntwind.com/software/hstart.html
barlop
3

Dans l'espace cible du raccourci:

C:\Windows\System32\runas.exe /profile /user:COMPUTERNAME_04\administrator C:\totalcmd\TOTALCMD64.EXE
Robbot
la source
-2

Si vous souhaitez ouvrir une application autre que l'administrateur, veuillez procéder comme ci-dessous - Maintenez la touche Maj + clic droit sur l'application. Cela montrera l'option "Exécuter en tant qu'utilisateur différent"

Navneet
la source
Je pense que l'OP veut que le programme soit exécuté en tant qu'un autre utilisateur (par exemple l'administrateur, cela se fait comme vous le proposez), puis que le programme appelle une autre commande / un programme exécuté en tant qu'utilisateur d'origine. Vous répondez donc à une question qui ne se pose pas.
Tim