Le fait que PsExec puisse exécuter les processus à distance sans installation manuelle de logiciel sur le système éloigné, facilite le déploiement. Mais PsExec ne serait que bien peu utile s’il se bornait à lancer un programme sur un système distant.
Si l’outil est un utilitaire d’administration de
PsExec
systèmes polyvalent, c’est bien parce qu’il est capable de rediriger l’entrée et la sortie des applications de console. La figure 1 montre les options ligne de commande de PsExec et donne une bonne idée de ses possibilités. Beaucoup d’outils de console administrative Windows ne peuvent fonctionner que sur une machine locale. PsExec permet de les utiliser à distance. Par exemple, PsExec permet à Ipconfig, l’utilitaire Windows qui affiche la configuration TCP/IP pour les adaptateurs réseau d’un système, de montrer la configuration d’un système à distance. Voici un exemple de commande à cet effet
psexec \\remote ipconfig
où remote est le nom ou l’adresse IP du système que l’on veut interroger. La sortie d’Ipconfig vous apparaîtra comme si Ipconfig s’était exécuté sur la machine locale.
Si vous ne précisez pas le chemin du programme à exécuter, PsExec recherche dans le répertoire \windows\system32 du système distant. Si vous savez que le programme ne se trouve pas dans ce répertoire, entrez son chemin complet sur le système distant. S’il s’agit d’un exécutable sur le système local que vous voulez exécuter sur le système lointain, spécifiez le commutateur -c et le chemin local du fichier.
Le commutateur -c ordonne à PsExec de copier l’exécutable spécifié sur le système à distance pour exécution et supprime l’exécutable de ce système, quand le programme a fini de s’exécuter.
La faculté de redirection de la console de PsExec va plus loin : exécuter une invite de commande sur un système à distance comme si cette invite s’exécutait localement. Cette utilisation de PsExec est comparable à exécuter un client Telnet sur la machine locale et à se connecter à un service Telnet sur la machine distante. Mais ici, il n’est pas nécessaire que le service Telnet, ou tout autre service spécial, tourne sur le système à distance. Il suffit d’exécuter la commande :
psexec \\remote cmd
Si vous voulez exécuter une commande de console sur le système à distance, passez à l’invite de commande le commutateur /c suivi de la commande à exécuter. Ainsi, la commande
psexec \\remote cmd /c ver
affiche le numéro de version Windows du système à distance sur la console de la machine locale.
PsExec est aussi très intéressant pour déployer des correctifs à chaud qui supportent une interface non interactive sur le réseau. Pour faciliter encore plus cette tâche, PsExec prend de multiples noms d’ordinateurs, le nom d’un fichier texte contenant une liste des noms d’ordinateurs, ou le nom spécial de \\* qui recense tous les ordinateurs présents dans le domaine courant. Par exemple, pour exécuter l’outil de retrait Microsoft MyDoom sur les ordinateurs nommés Remote et Remote1 et pour journaliser l’état de sortie du nettoyage dans un fichier, vous pourriez utiliser la commande
psexec \\remote,remote1
-c doomcln.exe
-s 2> results.log
Après la sortie, un processus spécifie un entier que le processus parent du processus peut lire. Les programmes utilisent souvent le code exit pour signaler la réussite ou l’échec de leur exécution. Quand un processus exécuté avec PsExec est terminé, PsExec affiche son code exit et le renvoie comme son propre code exit. Il faut tester le comportement d’un programme ou consulter sa documentation pour savoir ce que signifient les codes d’erreur spécifiques du programme.
Mais, généralement, un code exit de 0 indique la réussite. La communication -s spécifie que PsExec devrait exécuter la commande sous le compte System. Nous reviendrons plus loin sur cette option.
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre dossier Green IT sur les actions engagés par inmac wstore pour réduire son impact environnemental