Utilisation de PsTools pour contrôler d’autres PC à partir de la ligne de commande
Dans la leçon d'aujourd'hui de notre série Geek School couvrant SysInternals, nous allons vous montrer comment utiliser le jeu d'utilitaires PsTools pour effectuer toutes sortes de tâches d'administration à la fois localement et sur des ordinateurs distants..
NAVIGATION SCOLAIRE- Quels sont les outils SysInternals et comment les utilisez-vous??
- Comprendre Process Explorer
- Utilisation de Process Explorer pour résoudre et diagnostiquer
- Comprendre le moniteur de processus
- Utilisation de Process Monitor pour résoudre des problèmes et trouver des traces de registre
- Utiliser Autoruns pour gérer les processus de démarrage et les logiciels malveillants
- Utilisation de BgInfo pour afficher des informations système sur le bureau
- Utilisation de PsTools pour contrôler d’autres PC à partir de la ligne de commande
- Analyse et gestion de vos fichiers, dossiers et lecteurs
- Récapitulation et utilisation des outils ensemble
Si vous avez déjà voulu vous connecter à un autre ordinateur et exécuter une commande, obtenir rapidement des informations sur les processus en cours d'exécution et éventuellement les tuer, ou même arrêter un service sur un autre PC, vous pouvez utiliser les utilitaires PsTools pour effectuer toutes ces tâches et même plus.
Évidemment, vous pouvez utiliser le Bureau à distance ou un service similaire pour vous connecter à n’importe quel ordinateur Windows et voir le bureau et faire tout ce que vous feriez localement, mais les utilitaires PsTools vous permettent d’effectuer de nombreuses tâches à partir de la ligne de commande - ou, mieux encore, à partir de. un script que vous pourrez réutiliser plus tard.
C’est le type d’utilitaire qui fonctionne le mieux dans un environnement d’entreprise. Maîtriser ces outils vous aidera certainement à améliorer votre travail d’administrateur système, vous fera gagner du temps et vous permettra de faire les choses de façon plus intelligente. Faire les choses plus intelligemment et plus rapidement est une compétence essentielle pour être un bon administrateur système.
Les outils PsTools sont au nombre de douze et, si certains sont extrêmement utiles, d’autres ont été remplacés par des outils intégrés aux versions les plus récentes de Windows, et il en existe quelques autres qui ne sont pas utiles pour la plupart des utilisateurs. Nous les passerons tous en revue afin que vous compreniez comment ils fonctionnent et pourquoi vous voudrez peut-être les utiliser..
- PsExec - exécute des processus sur un ordinateur distant
- PsFile - affiche les fichiers ouverts sur l'ordinateur distant via le réseau
- PsGetSid - affiche l'identifiant de sécurité d'un ordinateur ou d'un utilisateur
- PsInfo - liste des informations sur un système
- PsKill - tue les processus par nom ou identifiant
- PsList - liste les informations sur les processus en ligne de commande
- PsLoggedOn - répertorie les comptes connectés sur la machine ou se connectant à distance
- PsLogList - extrait le journal des événements sur la ligne de commande
- PsPasswd - change le mot de passe pour les utilisateurs
- PsPing - un utilitaire de ping assez simple avec quelques fonctionnalités supplémentaires
- PsService - répertorie et apporte des modifications aux services Windows
- PsShutdown - éteindre, fermer la session ou suspendre un ordinateur
- PsSuspend - suspendre et reprendre les processus (plutôt que de les tuer)
Il est à noter que vous pouvez utiliser un outil tel que PsExec pour exécuter toutes sortes d’utilitaires de ligne de commande sur des ordinateurs distants… y compris des utilitaires vraiment utiles comme l’outil de ligne de commande Autoruns et bien d’autres. Les possibilités sont infinies une fois que vous avez adopté le pouvoir de PsTools.
Tous ces outils peuvent être utilisés sur des ordinateurs locaux, mais ils sont surtout utiles pour se connecter à des ordinateurs distants et y exécuter des commandes..
Connexion à des ordinateurs distants (Syntaxe pour tous les utilitaires)
Tous les utilitaires peuvent être exécutés sur l'ordinateur local ou distant, afin qu'ils aient tous le même premier argument pour le nom d'ordinateur si nécessaire. Notez que vous pouvez utiliser l'adresse IP si vous le souhaitez. Si vous omettez cet argument, la commande fonctionnera sur votre ordinateur local..
psinfo \\ nom_ordinateur
Vous pouvez également répertorier plusieurs ordinateurs tels que psinfo \\ computer1, computer2, computer3, ou vous pouvez placer tous les noms dans un fichier et une référence comme psinfo @ computerlist.txt. La syntaxe finale est psinfo \\ *, qui fonctionne sur tous les ordinateurs du domaine, ce que vous n'utiliserez probablement pas tous les jours..
Si vous devez vous connecter avec d'autres informations d'identification, car le compte de votre ordinateur local a un nom d'utilisateur et un mot de passe différents de ceux de l'autre ordinateur, vous pouvez utiliser les options -u et -p, bien que nous notions que vous pourriez ne pas vouloir utiliser -p sur la ligne de commande avec un mot de passe dans la commande pour des raisons de sécurité. Mise à jour: depuis la dernière version de PsExec, aucun outil ne transmet les mots de passe en texte clair. Le seul souci est donc de savoir si quelqu'un peut lire vos fichiers de script et voir le mot de passe..
psinfo \\ nomordinateur -u "utilisateur" -p "Mot de passe"
La partie "utilisateur" de la commande deviendrait "DOMAINE \ utilisateur" si vous êtes dans un environnement de domaine et devez changer de l'utilisateur en cours d'exécution..
Remarque: vous aurez généralement besoin de vous connecter aux ordinateurs distants avec un compte administrateur.
Configuration de l'accès à l'administration à distance
Si vous vous trouvez dans un environnement de domaine, comme la plupart des utilisateurs de PsTools, vous pouvez ignorer entièrement cette section, car tout devrait bien fonctionner. Si vous utilisez Windows 7, 8 ou Vista dans un environnement domestique ou utilisez quelques ordinateurs dans un bureau sans domaine, vous devez ajuster le contrôle de compte d'utilisateur sur l'ordinateur distant pour permettre à PsTools de fonctionner correctement..
Le problème est bien décrit par Microsoft:
Par exemple, lorsqu'un utilisateur membre du groupe d'administrateurs local sur l'ordinateur distant établit une connexion administrative à distance à l'aide de la commande net use * \\ remotecomputer \ Share $, il ne se connecte pas en tant qu'administrateur complet. L'utilisateur n'a aucun potentiel d'altitude sur l'ordinateur distant et ne peut pas effectuer de tâches administratives..
Pour l'expliquer différemment, lorsque vous essayez de vous connecter à un autre ordinateur et d'exécuter quelque chose qui nécessite un accès administrateur, il n'existe aucun moyen de déclencher l'invite UAC et de l'accepter à partir de votre ordinateur afin qu'il ne se connecte pas en tant qu'administrateur..
Et ce n'est pas une mauvaise chose. Vous ne devez pas modifier ce paramètre sans comprendre parfaitement que vous autoriserez une propagation du malware d’un ordinateur à un autre - en supposant que le malware ait votre nom d’utilisateur et votre mot de passe locaux, et que ce mot de passe soit le même que celui de l’autre ordinateur. les logiciels malveillants sont aussi difficiles que la plupart des logiciels malveillants. Mais ce n'est toujours pas quelque chose à prendre à la légère.
Et encore une fois, si vous êtes dans un environnement de domaine, ce problème n'existe pas et n'a pas besoin d'être changé. Et si vous testez uniquement avec plusieurs machines virtuelles, vous n'avez pas à vous soucier de.
Pour modifier le contrôle de compte d'utilisateur afin de permettre à PsTools de s'exécuter, vous devez ouvrir l'éditeur de registre et accéder à la clé suivante:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \
Windows \ CurrentVersion \ Policies \ System
Une fois que vous y êtes, créez un nouveau DWORD 32 bits sur le côté droit, nommez-le LocalAccountTokenFilterPolicy et la valeur 1. Vous n'avez pas besoin de redémarrer l'ordinateur pour que le paramètre prenne effet..
Remarque: juste pour préciser, ce paramètre doit se produire sur l’ordinateur distant auquel vous vous connectez.
PsExec
PsExec est probablement l’outil le plus puissant du kit, car vous pouvez exécuter n’importe quelle commande de votre invite de commande locale, tout comme l’exécuter sur l’ordinateur distant. Cela inclut tout ce qui peut être exécuté sur la ligne de commande: vous pouvez modifier les valeurs de registre, exécuter des scripts et des utilitaires ou vous connecter depuis ce PC à un autre. La sortie des commandes sera affichée sur votre PC local plutôt que sur celui distant..
La syntaxe est simple:
psexec \\ nom_ordinateur apptorun.exe
En réalité, vous voudriez également inclure le nom d'utilisateur et le mot de passe sur la ligne de commande. Par exemple, pour vous connecter à un autre PC et vérifier la liste des connexions réseau, utilisez quelque chose comme ceci:
psexec \\ nomordinateur -u Utilisateur -p Mot de passe ipconfig
Cette commande produirait une sortie similaire à celle-ci:
Page suivante: Utilisation de PsExec pour exécuter des commandes à distance