PostHeaderIcon Scripts d'inventoriage Réseau avec la commande WMIC

memos
Scripts d'inventoriage Réseau avec la commande WMIC
 
 
 
Introduction
 La commande WMIC permet d'inventorier des tas de choses dans une domaine Microsoft.
Alliée à une boucle, elle permet de réaliser des inventaires en .batch.
Il faut juste avoir un mot de passe admin du domaine pour le faire fonctionner.
C'est surtout silencieux et fonctionne en temps réel!
 
 
 
1. Inventorier un seul poste:

 
 
Changer la variable%nom% pour qu'elle s'adapte au nom du pc.
 

@echo off

color 7f

echo -------------------------------------------------------------------------------
echo    Bienvenue dans le programme d'inventaire des applications dun seul poste
echo --------------------------------------------------------------------------------


set /p password= Entrez le mot de passe du compte administrateuractivedirectory
set /p nom= Entrez le nom de lordinateur a scanner ordinateur

 echo Les applications de l'ordinateur %nom% sont comptabilisees
echo Veuillez patienter...

wmic /node:%nom% /user:administrateur /password:%password% /output:c:\ListeApps.xls product get name,version
wmic quit

call c:\ListeApps.xls

pause

 

 

2. inventorier toustes les applications  des postes d'un parc informatique Active directory:


Ce programme fonctionne 

 

 

NEW 

J'ai modifié le script afin qu'il s'exécute tout seul via une tache planifiée.

(Seul problème, il faut laisser le mdp administrateur en clair, donc on utilise une petite astuce pour le masquer .)

Le script va créer un fichier texte temporaire ou il deverse les resultats de la commande WMIC. Puis à chaque itération, il écrit les resultats du fichier temporaire dans le vrai fichier txt, qui lui sera publié dans le site intranet Joomla par l'intermédiaire d'un Wrapper.

 

 

 

 

 

 

 

Le script:

 

 

// INTRO DU SCRIPT

@echo off

color 7f

del ApplicationsPoste.txt

echo ------------------------------------------------------------------------------- >> ApplicationsPoste.txt

echo Bienvenue dans le programme d\\\'inventaire des applications des postes . >> ApplicationsPoste.txt

echo -------------------------------------------------------------------------------- >> ApplicationsPoste.txt

echo Liste des applications tournant sur les pcs clients du parc au %date% >> ApplicationsPoste.txt


// Pseudo Masquage du mot de passe administrateur. (il faudrait trouver mieux ou compiler)

SET mdp=xxxxbz

SET mdp=%mdp:b=a%

SET mdp=%mdp:u=f%

SET mdp=%mdp:m=l%

 

// On fixe la variable de commencement du scan ip à zéro. 

set ip=0

 

 

 // Cette boucle va compter jusqu'à l'ip 136

:inventaire

set /a ip=%ip%+1
if %ip%==136 goto finboucle 

 

// Petite introduction dans le fichier txt.

echo Les applications de l'ordinateur numero %ip% sont comptabilisees 

echo Veuillez patienter...

echo ...............................>> ApplicationsPoste.txt

echo ...............................>> ApplicationsPoste.txt

echo ordinateur numéro 10.41.1.%ip% >> ApplicationsPoste.txt

echo ...............................>> ApplicationsPoste.txt

 

 

//utilisation de wmic à l'intérieur de la boucle, qui compte de l'ip 1 à 136 ... et remplit le fichier texte, à chaque fois avec les logiciels installés sur la machine.

 

 wmic /node:10.41.1.%ip% /user:xxxxxx /password:%mdp% /output:ApplicationsPoste.tmp product get name,version

type ApplicationsPoste.tmp >> ApplicationsPoste.txt

 

wmic quit

goto inventaire

 

 

:finboucle

 

 

 

 

 

 

 Le but est d'utiliser Wmic, avec une boucle qui compte de pc01 à pc136 et qui liste toutes les applications des postes dans un fichier .Il est facile de le faire par GPO, mais plus dur de le faire comme cela à distance.

Le fichier texte apparait dans l'intranet, et se renouvelle tous les 3 jours avec la tâche planifiée... Idéal pour vraiment savoir ce qui est installé sur les machines du parc. 

 

 

 

 

3. les options de Wmic


 

 VIsualiser les commutateurs de WMIC

http://technet.microsoft.com/fr-fr/library/cc787035(WS.10).aspx

Manipuler les variables avec WMIC

http://www.robvanderwoude.com/wmic.php

Voici les options de WMIC

Recueillir des informations avec WMIC

wmic   BIOS   GET    /VALUE

Afficher  les  informations concernant le processus  « calc »

PROCESS WHERE (Name="cmd.exe") GET /value

Lister tous les processus dont le nom contient la chaine de caractère « svc »

PROCESS WHERE "NAME LIKE '%svc%'"

Pour ouvrir un processus

PROCESS CALL CREATE calc.exe

Pour fermer un processus

PROCESS WHERE (Name="notepad.exe") DELETE  OU

PROCESS WHERE CALL TERMINATE

Vous pouvez aussi  lister les informations mais en redirigeant  la sortie vers  un fichier

Wmic  /OUTPUT :C:\Sortie.txt  PROCESS GET Processid

Liste des alias

Wmic  / ?

BASEBOARD – Gestion de la carte de base (Carte mère).
BIOS – Gestion des services d’entrées/sorties (E/S) de base (BIOS).
BOOTCONFIG – Gestion de la configuration du démarrage.
CDROM – Gestion des CD-ROM.
COMPUTERSYSTEM – Gestion de systèmes informatiques.
CPU – Gestion de l’unité centrale.
DATAFILE – Gestion des fichiers de données.
DCOMAPP – Gestion d’applications.
DESKTOP – Gestion du Bureau de l’utilisateur.
DESKTOPMONITOR – Gestion du moniteur de bureau.
DEVICEMEMORYADDRESS – Gestion des adresses mémoire pour périphériques.
DISKDRIVE – Gestion des disques durs physiques.
DISKQUOTA – Gestion de l’utilisation de l’espace disque sur les volumes NTFS.
DMACHANNEL – Gestion du canal DMA (Accès direct à la mémoire).
ENVIRONMENT – Gestion des paramètres d’environnement système.
FSDIR – Gestion des entrées de répertoires du système de fichiers.
GROUP – Gestion des comptes de groupes.
IDECONTROLLER – Gestion de contrôleurs IDE.
IRQ – Gestion des requêtes d’interruption (IRQ).
LOADORDER – Gestion des services système définissant les dépendances d’exécution.
LOGICALDISK – Gestion des périphériques de stockage locaux.
MEMCACHE – Gestion de la mémoire cache.
MEMLOGICAL – Gestion de la mémoire système (configuration, disposition et disponibilité de la mémoire).
MEMPHYSICAL – Gestion de la mémoire physique d’un ordinateur.
NETCLIENT – Gestion des clients réseau.
NETLOGIN – Gestion des informations d’ouverture de session réseau (d’un utilisateur précis).
NETPROTOCOL – Gestion des protocoles et de leurs caractéristiques réseau.
NETUSE – Gestion des connexion réseau actives.
NIC – Gestion des contrôleurs réseau NIC (Network Interface Controller).
NICCONFIG – Gestion des cartes réseau.
NTDOMAIN – Gestion de l’arborescence du domaine.
NTEVENTLOG – Gestion du fichier journal d’événements NT.
ONBOARDDEVICE – Gestion des périphériques carte communs intégrés dans la carte mère.
OS – Gestion des systèmes d’exploitation installés.
PAGEFILE – Gestion des paramètres du fichier d’échange de mémoire virtuelle.
PAGEFILESET – Gestion des paramètres de fichier d’échange.
PARTITION – Gestion des zones partitionnées d’un disque physique.
PORT – Gestion des ports d’E/S.
PORTCONNECTOR – Gestion des ports de connexion physique.
PRINTER – Gestion des périphériques d’impression.
PRINTERCONFIG – Gestion de la configuration des périphériques d’impression.
PRINTJOB – Gestion des tâches d’impression.
PROCESS – Gestion des processus.
PRODUCT – Gestion des tâches des packages d’installation.
QUOTASETTING – Gestion des informations de quotas de disque sur un volume.
REGISTRY – Gestion du Registre système.
SCSICONTROLLER – Gestion de contrôleurs SCSI.
SERVER – Gestion des informations sur le serveur.
SERVICE – Gestion des applications de services.
SHARE – Gestion des ressources partagées.
SOFTWAREELEMENT – Gestion des éléments d’un logiciel installé sur un ordinateur.
SOFTWAREFEATURE – Gestion des logiciels sous-ensembles de SoftwareElement.
SOUNDDEV – Gestion des périphériques audio.
STARTUP – Gestion des commandes qui s’exécutent dès que l’utilisateur ouvre une session sur l’ordinateur.
SYSACCOUNT – Gestion des comptes système.
SYSDRIVER – Gestion du pilote système pour un service de base.
SYSTEMENCLOSURE – Gestion de la mise en armoire du système.
SYSTEMSLOT – Gestion de des points de connexion physiques : ports, connecteurs et périphériques, et points de connexion propriétaires.
TAPEDRIVE – Gestion de lecteurs de bandes.
TEMPERATURE – Gestion d’un capteur de température (thermomètre électronique).
TIMEZONE – Gestion des données de fuseau horaire.
UPS – Gestion de l’alimentation de secours (UPS).
VOLTAGE – Gestion des données de capteurs de tension (tensiomètre électronique).
WMISET – Gestion des paramètres opérationnels du service WMI.

.

 

Mis à jour (Mardi, 18 Septembre 2012 19:56)