2010-05-05 6 views
3

J'ai un fichier batch appelé a.bat sur un bureau winserver2008.Psexec, cmd et fichier de commandes

Ce fichier de traitement par lots n'écrit que l'identificateur SessionID (de la variable d'environnement) dans un journal des événements local. Je veux l'exécuter à distance en utilisant cmd (sinon le nom de session n'apparaît pas).

donc j'ai essayé

c:\PsTools\psexec.exe \\<Server> -u test2 -p <Password> -i 2 cmd "c:\Users\test-2\Desktop\a" 

ou

c:\PsTools\psexec.exe \\<server> -u test2 -p <Password> -i 2 "cmd \"c:\Users\test-2\Desktop\a\"";exit 

tous ces il suffit d'ouvrir un terminal sur la machine distante, mais ne pas exécuter le lot.

Des idées?

meilleures salutations

Répondre

5

utilisation a/c sur la ligne de commande après cmd.

Ainsi, votre première ligne ressemblerait à ceci:

c:\PsTools\psexec.exe \\<Server> -u test2 -p <Password> -i 2 cmd /c "c:\Users\test-2\Desktop\a" 
+0

Je vais essayer cela bien que mon problème n'était pas de terminer le processus à distance mais d'exécuter cette commande spécifique via cmd (et non "directement"). –

0

psexec \\<server> -s cmd.exe & whatever.bat

Si vous essayez d'exécuter un lot à distance puis quand cmd est ouvert sur la télécommande via votre connexion terminal, vous avez deux options:

  1. xcopy \\your_computer\filepath c:\wherever something.bat
  2. run \\computername\c$\wherever_it_is_located
Questions connexes