0

J'ai joué avec PowerShell Remoting et j'ai rencontré un problème que je suis incapable de résoudre. J'ai un script qui crée une session à distance et après la mise en place de certaines variables effectue les opérations suivantes:Exécution de commande externe Powershell Remote Session

Invoke-Command -Session $remote_session -ScriptBlock $block -ArgumentList $args 

Dans le bloc tout fonctionne bien sauf quand il s'agit d'une ligne spécifique, à quel point le script se bloque. La ligne est pertinente:

& '.\external_command.exe' $argument_list 

Lorsque je me connecte à l'ordinateur qui héberge la session de Powershell à distance, je peux voir external_command.exe dans la liste des processus, mais il ne fait rien. Quelqu'un at-il des idées sur la façon de résoudre le problème?

+0

Etes-vous sûr que external_command.exe n'est pas interactif ou peut fonctionner sans interface utilisateur? – JPBlanc

+0

@JPBlanc: Que voulez-vous dire par travailler sans interface utilisateur? Lorsqu'il est lancé sans arguments de ligne de commande, il affiche une interface graphique, mais lorsque certains arguments de ligne de commande sont présents, il est supposé fonctionner comme toute autre application console. – davidk01

+4

Selon [about_Remote_Troubleshooting] (http://technet.microsoft.com/en-us/library/dd347642.aspx) Certains programmes Windows natifs, tels que les programmes avec une interface utilisateur, les applications de console qui demandent une entrée et les applications de console qui utilisent l'API de console Win32, ne fonctionnent pas correctement dans l'hôte distant Windows PowerShell. – JPBlanc

Répondre

1

J'ai eu des problèmes similaires avec l'exécution à distance des installateurs. Pour contourner le problème, je crée d'abord un fichier de commandes cmd via powershell, puis j'exécute ce fichier batch. Quelque chose comme ceci:

"c:\external_command.exe argument1" > c:\run.cmd 
&"c:\Run.cmd" |Out-Null 
+0

J'ai trouvé PsExec et il semble que la plupart des gens l'utilisent comme une solution de contournement pour résoudre les problèmes à distance. – davidk01

Questions connexes