PsExec v2.40

Par Mark Russinovich

Publié : 19 juillet 2022

TéléchargerPsTools(3,5 Mo)

Introduction

Les utilitaires tels que Telnet et les programmes de contrôle à distance tels que le PC Symantec Anywhere vous permettent d’exécuter des programmes sur des systèmes distants, mais ils peuvent être difficiles à configurer et exiger que vous installiez des logiciels clients sur les systèmes distants auxquels vous souhaitez accéder. PsExec est un remplacement telnet léger qui vous permet d’exécuter des processus sur d’autres systèmes, avec une interactivité complète pour les applications console, sans avoir à installer manuellement les logiciels clients. Les utilisations les plus puissantes de PsExec incluent le lancement d’invites de commandes interactives sur des systèmes distants et des outils d’activation à distance tels que IpConfig qui, sinon, n’ont pas la possibilité d’afficher des informations sur les systèmes distants.

Remarque : certains scanneurs antivirus signalent qu’un ou plusieurs des outils sont infectés par un virus « administrateur distant ». Aucun des PsTools ne contient de virus, mais ils ont été utilisés par des virus, c’est pourquoi ils déclenchent des notifications de virus.

Installation

Copiez simplement PsExec sur votre chemin d’accès exécutable. La saisie de « psexec » affiche sa syntaxe d’utilisation.

Utilisation de PsExec

Consultez le numéro de juillet 2004 de Windows IT Pro Magazine pour Mark qui couvre l’utilisation avancée de PsExec.

Utilisation :

psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c executable [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
Paramètre Description
-a Processeurs distincts sur lesquels l’application peut s’exécuter avec des virgules où 1 est le processeur numéroté le plus bas. Par exemple, pour exécuter l’application sur le processeur 2 et le processeur 4, entrez : « -a 2,4 »
-c Copiez l’exécutable spécifié dans le système distant pour l’exécution. Si vous omettez cette option, l’application doit se trouver dans le chemin du système sur le système distant.
-d N’attendez pas que le processus se termine (non interactif).
-e Ne charge pas le profil du compte spécifié.
-f Copiez le programme spécifié même si le fichier existe déjà sur le système distant.
-i Exécutez le programme pour qu’il interagit 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. Cet indicateur est requis lorsque vous tentez d’exécuter des applications console de manière interactive (avec e/S standard redirigées).
-h Si le système cible est Vista ou version ultérieure, le processus est exécuté avec le jeton élevé du compte, s’il est disponible.
-l Exécutez le processus en tant qu’utilisateur limité (supprime le groupe Administrateurs et autorise uniquement les privilèges attribués au groupe Utilisateurs). Sur Windows Vista, le processus s’exécute avec une faible intégrité.
-n Spécifie le délai d’expiration en secondes de connexion aux ordinateurs distants.
-p Spécifie le mot de passe facultatif pour le nom d’utilisateur. Si vous omettez cela, vous serez invité à entrer un mot de passe masqué.
-r Spécifie le nom du service distant avec lequel créer ou interagir.
-s Exécutez le processus distant dans le compte système.
-u Spécifie le nom d’utilisateur facultatif pour la connexion à l’ordinateur distant.
-v Copiez le fichier spécifié uniquement s’il a un numéro de version supérieur ou s’il est plus récent que celui du système distant.
-w Définissez le répertoire de travail du processus (par rapport à l’ordinateur distant).
-x Affichez l’interface utilisateur sur le bureau sécurisé Winlogon (système local uniquement).
-priority Spécifie -low, -belownormal, -abovenormal, -high ou -realtime pour exécuter le processus à une priorité différente. Utilisez -background pour s’exécuter à faible mémoire et priorité d’E/S sur Vista.
ordinateur Direct PsExec pour exécuter l’application sur l’ordinateur distant ou les ordinateurs spécifiés. Si vous omettez le nom de l’ordinateur, PsExec exécute l’application sur le système local et si vous spécifiez un caractère générique (\\*), PsExec exécute la commande sur tous les ordinateurs du domaine actuel.
@file PsExec exécute la commande sur chacun des ordinateurs répertoriés dans le fichier.
cmd Nom de l’application à exécuter.
Arguments Arguments à transmettre (notez que les chemins d’accès aux fichiers doivent être des chemins absolus sur le système cible).
-accepteula Cet indicateur supprime l’affichage de la boîte de dialogue de licence.

Vous pouvez placer des applications qui ont des espaces dans leur nom avec des guillemets, par exemple

psexec \\marklap "c:\\long name app.exe"

L’entrée est transmise uniquement au système distant lorsque vous appuyez sur la touche Entrée. La saisie de Ctrl-C met fin au processus distant.

Si vous omettez un nom d’utilisateur, le processus s’exécute dans le contexte de votre compte sur le système distant, mais n’a pas accès aux ressources réseau (car il emprunte l’identité). Spécifiez un nom d’utilisateur valide dans la Domain\User syntaxe si le processus distant nécessite l’accès aux ressources réseau ou pour s’exécuter dans un autre compte. Notez que le mot de passe et la commande sont chiffrés en transit vers le système distant.

Les codes d’erreur retournés par PsExec sont spécifiques aux applications que vous exécutez, et non à PsExec.

Exemples

Cet article que j’ai écrit décrit le fonctionnement de PsExec et donne des conseils sur son utilisation :

La commande suivante lance une invite de commandes interactive sur \\marklap:

psexec -i \\marklap cmd

Cette commande exécute IpConfig sur le système distant avec le /all commutateur et affiche la sortie obtenue localement :

psexec -i \\marklap ipconfig /all

Cette commande copie le programme test.exe dans le système distant et l’exécute de manière interactive :

psexec -i \\marklap -c test.exe

Spécifiez le chemin d’accès complet à un programme déjà installé sur un système distant s’il n’est pas sur le chemin du système :

psexec -i \\marklap c:\bin\test.exe

Exécutez Regedit de manière interactive dans le compte système pour afficher le contenu des clés SAM et SECURITY :

psexec -i -d -s c:\windows\regedit.exe

Pour exécuter Internet Explorer comme avec des privilèges d’utilisateur limités, utilisez cette commande :

psexec -l -d "c:\program files\internet explorer\iexplore.exe"

TéléchargerPsTools(3,5 Mo)

PSTools

PsExec fait partie d’un kit croissant d’outils en ligne de commande Sysinternals qui facilitent l’administration des systèmes locaux et distants nommés PsTools.

S’exécute sur :

  • Client : Windows 8.1 et versions ultérieures.
  • Serveur : Windows Server 2012 et versions ultérieures.