Categories: PowerShell

Récupérer la liste des imprimantes et des processus

J’ai récemment dû auditer plusieurs postes d’une entreprise pour récupérer certaines informations en vue de l’intégration de ces postes sur une offre cloud computing d’Orange. Il était nécessaire de récupérer des informations réseaux assez classiques tels que les adresses IP… mais aussi des informations plus spécifiques concernant les postes de travail comme les logiciels installés ou les différents processus exécutés à un moment donné (avec la consommation CPU et RAM).

Pour faciliter et accélérer la prise d’informations, j’ai donc réalisé un script batch qui devait récupérer l’ensemble des informations attendues. L’idéal aurait de pouvoir lancer cet exécutable sur l’ensemble des postes de travail de l’entreprise de manière automatique mais le réseau actuel de l’entreprise ne nous a pas permis de faire autrement que de manuellement faire le tour de chacun des postes de travail avec notre fichier exécutable.

Mais le point que je voulais aborder aujourd’hui correspondait aux lignes de commandes WMIC. La ligne de commande WMIC, Windows Management Instrumentation Command-line, fournit une interface de ligne de commande simple dans l’Infrastructure de gestion Windows) qui vous permet de tirer parti de WMI pour gérer les ordinateurs exécutant un système d’exploitation de la famille Windows Server 2003. WMIC interagit avec les commandes d’utilitaire et les environnements existants, et la ligne de commande peut facilement être affinée à l’aide de scripts ou d’applications d’administration.

C’est ce que j’ai notamment utilisé pour pouvoir récupérer des informations comme la liste des imprimantes réseaux / locales installées sur un poste de travail. La première version créera un fichier CSV que vous pourrez directement exploiter avec Excel pour éventuellement réaliser des statistiques :

wmic product get /format:csv Softwares.csv
wmic product get Software.csv

Ou bien encore, la liste des processus démarrés sur un poste :

wmic /output:ProcessList.txt path win32_process get Caption,Processid,Commandline

A noter que pour la liste des processus, je voulais quelque chose que je puisse rajouter directement dans mon programme batch mais il existe plusieurs autres solutions.

En PowerShell, vous pouvez également utiliser la commande suivante :

get-process

Ou bien encore, directement via l’invite de commandes :

tasklist

Ceci vous permettra de disposer de l’équivalent des informations que vous auriez pu obtenir via le gestionnaire de tâches avec notamment la consommation des ressources que génère un process.

Share
Published by
thibault

Recent Posts

Adobe Firefly Video : L’outil de génération vidéo accessible à tous

Adobe Firefly Video : L’outil de génération vidéo accessible à tous Adobe a récemment annoncé…

6 jours ago

En France, les messageries chiffrées bientôt sous surveillance : un débat entre sécurité et libertés individuelles

Les messageries chiffrées telles que WhatsApp et Signal pourraient bientôt faire face à des obligations…

3 semaines ago

TikTok et les États-Unis : Une saga entre interdictions, rachats et rebondissements politiques

Logo tikTok Depuis son lancement international en 2018, TikTok a conquis des millions d’utilisateurs à…

3 semaines ago

DeepSeek : Le nouveau titan de l’IA chinoise qui ébranle la Silicon Valley

L’écosystème de l’intelligence artificielle (IA) est en perpétuelle évolution, mais l’arrivée de DeepSeek, un modèle…

3 semaines ago

Microsoft introduit une connexion automatique controversée : quels enjeux pour votre sécurité ?

Microsoft introduit une connexion automatique controversée Microsoft semble s’engager dans une direction qui suscite la…

4 semaines ago

OpenAI dévoile Operator : ChatGPT surfe sur Internet pour vous

OpenAI dévoile Operator : ChatGPT surfe sur Internet pour vous OpenAI dévoile Operator : L’IA…

4 semaines ago