PSExec ouvrira un programme interactif sans utilisateur connecté

0

J'utilise PSExec pour ouvrir un programme de serveur doté d'une petite interface graphique sur un autre ordinateur. Les cibles locales et cibles sont Win7 64 bits. Je l'ouvre en utilisant

psexec \ myothercomputer -u Me -p mypass -i -d -h myapp.exe

Cela fonctionne bien lorsque je suis également connecté à l'autre ordinateur. Mais mon idée d'exécuter ce programme de cette manière est de ne pas avoir à se connecter à cet ordinateur.

Aujourd'hui, j'ai essayé d'exécuter l'application sans être connecté, juste pour voir ce qui s'est passé. Je pensais que ça allait retourner une erreur. Cependant, PSExec m'a renvoyé un ID de processus.

Ensuite, je me suis connecté à cet ordinateur et, à ma grande surprise, j’avais une sorte d’ombre "graphique", la forme de l’application que j’essayais de lancer! connecté.

Je pensais que c'était un problème de rafraîchissement de l'écran et j'ai essayé plusieurs façons de "réveiller" ou d'interagir avec cette application, elle ne s'affichait pas correctement. En utilisant le gestionnaire de tâches, j'ai remarqué que la consommation de mémoire de cette application était trop petite par rapport à ce qu'elle est censée être ... alors je suppose qu'à un moment donné, cela s'est simplement mal passé. Et c'est ce à quoi je m'attends vraiment, aller courir.

Questions: Pourquoi PSExec ouvre-t-il avec succès une application interactive sans être connecté? Pourquoi alors, mon application interactive ne fonctionne pas correctement?

Craig Stevensson
la source

Réponses:

0

Selon la page PSExec , le commutateur -i [session] effectue ceci:

Exécutez le programme afin qu’il interagisse avec le bureau de la session spécifiée sur le système distant. Si aucune session n'est spécifiée, le processus s'exécute dans la session de console.

Dans votre commande, vous ne spécifiez pas de session immédiatement après le -i, comme l'indiquent les pages de manuel.

Je note également que vous avez spécifié -d. Je ne pense pas que vous puissiez mélanger les options -i et -d, en particulier si l'utilisateur n'est pas connecté, car -u s'exécute dans la session de la console, mais -d indique de ne pas utiliser la session de la console pour déterminer la durée de vie du processus:

-d N'attendez pas que le processus se termine (non interactif).

Frank Thomas
la source