WMI est l'abréviation de Windows Management Instrumentation en anglais. Ses principales fonctions sont : accéder à certaines informations et services de l'hôte local, et pouvoir gérer des ordinateurs distants (bien sûr, vous devez disposer des autorisations suffisantes), telles que : redémarrer, arrêter, fermer. processus et créer des processus attendre.
Bien sûr, cet article s'applique à vbscript
Informations officielles de Microsoft :
Les exemples sont les suivants :
Pour utiliser WMI, projetez d'abord - reportez-vous à la bibliothèque Microsoft WMI Scripting V1.1.
Obtenir des informations sur la carte graphique/carte son/mémoire/système d'exploitation
Informations sur la carte son
Private Sub wmiSoundDeviceInfo()Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectSet wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate}). SousInformations sur la carte graphique
Private Sub wmiVideoControllerInfo()Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectSet wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate}). _InstancesOf(Win32_VideoController)On Local Error Reprendre NextFor Chaque obj dans wmiObjSetMsgBox. obj.VideoProcessorNextEnd Subinformations sur la mémoire
Private Sub wmiPhysicalMemoryInfo()Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectSet wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate}). _InstancesOf(Win32_PhysicalMemory)On Local Error Reprendre NextFor Chaque objItem dans wmiObjSetDebug.Print BankLabel : & objItem.BankLabelDebug.Print Capacité : & objItem.CapacityDebug.Print Légende : & objItem.CaptionDebug.Print CreationClassName : & objItem.CreationClassNameDebug.Print DataWidth : & objItem.DataWidthDebug.Print Description : & objItem.DescriptionDebug.Print DeviceLocator : & objItem.DeviceLocatorDebug.Print FormFactor : & objItem.FormFactorDebug.Print HotSwappable : & objItem.HotSwappableDebug.Print InstallDate : & objItem.InstallDateDebug.Print InterleaveDataDepth : & objItem.InterleaveDataDepthDebug.Print InterleavePosition : & objItem.InterleavePositionDebug.Print Fabricant : & objItem.ManufacturerDebug.Print MemoryType : & objItem.MemoryTypeDebug.Print Modèle : & objItem.ModelDebug.Print Nom : & objItem.nameDebug.Print OtherIdentifyingInfo : & objItem.OtherIdentifyingInfoDebug.Print PartNumber : & objItem.PartNumberDebug.Print PositionInRow : & objItem.PositionInRowDebug.Print PoweredOn : & objItem.PoweredOnDebug.Print Amovible : & objItem.RemovableDebug.Print Remplaçable : & objItem.ReplaceableDebug.Print SerialNumber : & objItem.SerialNumberDebug.Print SKU : & objItem.SKUDebug.Print Vitesse : & objItem.SpeedDebug.Print Statut : & objItem.StatusDebug.Print Balise : & objItem.TagDebug.Print TotalWidth : & objItem.TotalWidthDebug.Print TypeDetail : & objItem.TypeDetailDebug.Print Version : & objItem. VersionSuivantFin SousInformations sur le système d'exploitation
Private Sub Command1_Click()Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectDim msg As StringDim dtb As StringDim d As StringDim t As StringDim biais As LongOn Erreur locale Reprendre NextSet wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate}).InstancesOf(Win32_OperatingSystem)For Each obj In wmiObjSetMsgBox Le système que vous utilisez actuellement est & obj.CaptionNextEnd Subillustrer:
Vous pouvez trouver une règle. En fait, WMI utilise le nom de la bibliothèque WIN32_class pour extraire des informations. Le tableau suivant est la description des différentes classes matérielles du système d'exploitation de Microsoft.
Les informations sur les autres classes gérées par WMI se trouvent dans
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/accessing_hardware_and_software_through_wmi.asp
Vous pouvez le trouver, qui contient également un exemple de code.
Table de classe simple Win_32
Cours Win32
Les classes Microsoft® Windows® vous permettent de manipuler une variété d'objets. Le tableau suivant identifie les catégories de classes Windows.
Description de la catégorie
Matériel du système informatique Classes qui représentent des objets liés au matériel.
Système d'exploitation Classes qui représentent des objets liés au système d'exploitation.
Applications installées Classes qui représentent des objets liés aux logiciels.
Gestion des services WMI Classes utilisées pour gérer WMI.
Compteurs de performances Classes qui représentent des données de performances formatées et brutes.
Matériel
Classes de matériel informatique
La sous-catégorie Appareils de refroidissement regroupe les classes qui représentent les ventilateurs instrumentables, les sondes de température et les appareils de réfrigération.
Description de la classe
Win32_Fan Représente les propriétés d'un périphérique de ventilateur dans le système informatique.
Win32_HeatPipe Représente les propriétés d'un dispositif de refroidissement par caloduc.
Win32_Refrigeration Représente les propriétés d'un appareil de réfrigération.
Win32_TemperatureProbe Représente les propriétés d'un capteur de température (thermomètre électronique).
Classes de périphériques d'entrée
La sous-catégorie Périphériques d'entrée regroupe les classes qui représentent les claviers et les périphériques de pointage.
Description de la classe
Win32_Keyboard Représente un clavier installé sur un système Windows.
Win32_PointingDevice Représente un périphérique d'entrée utilisé pour pointer et sélectionner des régions sur l'écran d'un système informatique Windows.
Classes de stockage de masse
Les classes de la sous-catégorie Stockage de masse représentent les périphériques de stockage tels que les lecteurs de disque dur, les lecteurs de CD-ROM et les lecteurs de bande.
Description de la classe
Win32_AutochkSetting Représente les paramètres pour l'opération de vérification automatique d'un disque.
Win32_CDROMDrive Représente un lecteur de CD-ROM sur un système informatique Windows.
Win32_DiskDrive Représente un lecteur de disque physique tel que vu par un ordinateur exécutant le système d'exploitation Windows.
Win32_FloppyDrive Gère les capacités d'un lecteur de disquettes.
Win32_PhysicalMedia Représente tout type de documentation ou support de stockage.
Win32_TapeDrive Représente un lecteur de bande sur un ordinateur Windows.
Classes de carte mère, de contrôleur et de port
La sous-catégorie Carte mère, Contrôleurs et Ports regroupe les classes qui représentent les périphériques système. Les exemples incluent la mémoire système, la mémoire cache et les contrôleurs.
Description de la classe
Win32_1394Controller Représente les capacités et la gestion d'un contrôleur 1394.
Win32_1394ControllerDevice Met en relation le contrôleur de bus série haut débit (IEEE 1394 Firewire) et l'instance CIM_LogicalDevice qui y est connectée.
Win32_AllocatedResource Associe un périphérique logique à une ressource système.
Win32_AssociatedProcessorMemory Met en relation un processeur et sa mémoire cache.
Win32_BaseBoard Représente une carte mère (également appelée carte mère ou carte système).
Win32_BIOS Représente les attributs des services d'entrée/sortie de base (BIOS) du système informatique installés sur l'ordinateur.
Win32_Bus Représente un bus physique vu par un système d'exploitation Windows.
Win32_CacheMemory Représente la mémoire cache (interne et externe) sur un système informatique.
Win32_ControllerHasHub Représente les hubs en aval du contrôleur de bus série universel (USB).
Win32_DeviceBus Met en relation un bus système et un périphérique logique utilisant le bus.
Win32_DeviceMemoryAddress Représente une adresse mémoire de périphérique sur un système Windows.
Win32_DeviceSettings Met en relation un périphérique logique et un paramètre qui peut lui être appliqué.
Win32_DMAChannel Représente un canal d'accès direct à la mémoire (DMA) sur un système informatique Windows.
Win32_FloppyController Représente les capacités et la capacité de gestion d'un contrôleur de lecteur de disquette.
Win32_IDEController Représente les capacités d’un périphérique contrôleur Integrated Drive Electronics (IDE).
Win32_IDEControllerDevice Classe d'association qui associe un contrôleur IDE et le périphérique logique.
Win32_InfraredDevice Représente les capacités et la gestion d'un périphérique infrarouge.
Win32_IRQResource Représente un numéro de ligne de demande d'interruption (IRQ) sur un système informatique Windows.
Win32_MemoryArray Représente les propriétés de la matrice de mémoire du système informatique et les adresses mappées.
Win32_MemoryArrayLocation Met en relation une matrice de mémoire logique et la matrice de mémoire physique sur laquelle elle existe.
Win32_MemoryDevice Représente les propriétés du périphérique de mémoire d'un système informatique ainsi que ses adresses mappées associées.
Win32_MemoryDeviceArray Met en relation un périphérique de mémoire et la matrice de mémoire dans laquelle il réside.
Win32_MemoryDeviceLocation Classe d'association qui relie un périphérique de mémoire et la mémoire physique sur laquelle il existe.
Win32_MotherboardDevice Représente un périphérique qui contient les composants centraux du système informatique Windows.
Win32_OnBoardDevice Représente les périphériques adaptateurs courants intégrés à la carte mère (carte système).
Win32_ParallelPort Représente les propriétés d'un port parallèle sur un système informatique Windows.
Win32_PCMCIAController Gère les capacités d’un périphérique contrôleur PCMCIA (Personal Computer Memory Card Interface Adapter).
Win32_PhysicalMemory Représente un périphérique de mémoire physique situé sur un ordinateur et disponible pour le système d'exploitation.
Win32_PhysicalMemoryArray Représente des détails sur la mémoire physique du système informatique.
Win32_PhysicalMemoryLocation Relie un tableau de mémoire physique et sa mémoire physique.
Win32_PNPAllocatedResource Représente une association entre les périphériques logiques et les ressources système.
Win32_PNPDevice Met en relation un périphérique (connu dans Configuration Manager sous le nom de PNPEntity) et la fonction qu'il exécute.
Win32_PNPEntity Représente les propriétés d'un périphérique Plug and Play.
Win32_PortConnector Représente les ports de connexion physiques, tels que DB-25 broches mâle, Centronics et PS/2.
Win32_PortResource Représente un port d'E/S sur un système informatique Windows.
Win32_Processor Représente un périphérique capable d'interpréter une séquence d'instructions machine sur un système informatique Windows.
Win32_SCSIController Représente un contrôleur SCSI (Small Computer System Interface) sur un système Windows.
Win32_SCSIControllerDevice Met en relation un contrôleur SCSI et le périphérique logique (lecteur de disque) qui y est connecté.
Win32_SerialPort Représente un port série sur un système Windows.
Win32_SerialPortConfiguration Représente les paramètres de transmission de données sur un port série Windows.
Win32_SerialPortSetting Relie un port série et ses paramètres de configuration.
Win32_SMBIOSMemory Représente les capacités et la gestion des périphériques logiques liés à la mémoire.
Win32_SoundDevice Représente les propriétés d'un périphérique audio sur un système informatique Windows.
Win32_SystemBIOS Relie un système informatique (y compris des données telles que les propriétés de démarrage, les fuseaux horaires, les configurations de démarrage ou les mots de passe administratifs) et un BIOS système (services, langues, propriétés de gestion du système).
Win32_SystemDriverPNPEntity Met en relation un périphérique Plug and Play sur le système informatique Windows et le pilote qui prend en charge le périphérique Plug and Play.
Win32_SystemEnclosure Représente les propriétés associées à un boîtier système physique.
Win32_SystemMemoryResource Représente une ressource de mémoire système sur un système Windows.
Win32_SystemSlot Représente les points de connexion physiques, notamment les ports, les emplacements et périphériques de la carte mère, ainsi que les points de connexion propriétaires.
Win32_USBController Gère les capacités d'un contrôleur de bus série universel (USB).
Win32_USBControllerDevice Met en relation un contrôleur USB et les instances CIM_LogicalDevice qui y sont connectées.
Win32_USBHub Représente les caractéristiques de gestion d'un hub USB.
Classes de périphériques réseau
La sous-catégorie Networking Devices regroupe les classes qui représentent le contrôleur d'interface réseau, ses configurations et ses paramètres.
Description de la classe
Win32_NetworkAdapter Représente une carte réseau sur un système Windows.
Win32_NetworkAdapterConfiguration Représente les attributs et les comportements d'une carte réseau. Il n'est pas garanti que la classe soit prise en charge après la ratification de la spécification réseau CIM du Distributed Management Task Force (DMTF).
Win32_NetworkAdapterSetting Relie une carte réseau et ses paramètres de configuration.
Classes de puissance
La sous-catégorie Alimentation regroupe les classes qui représentent les alimentations, les batteries et les événements liés à ces appareils.
Description de la classe
Win32_AssociatedBattery Met en relation un périphérique logique et la batterie qu'il utilise.
Win32_Battery Représente une batterie connectée au système informatique.
Win32_CurrentProbe Représente les propriétés d'un capteur de surveillance de courant (ampèremètre).
Win32_PortableBattery Représente les propriétés d'une batterie portable, telle que celle utilisée pour un ordinateur portable.
Win32_PowerManagementEvent Représente les événements de gestion de l'alimentation résultant de modifications de l'état de l'alimentation.
Win32_UninterruptiblePowerSupply Représente les capacités et la capacité de gestion d'une alimentation sans interruption (UPS).
Win32_VoltageProbe Représente les propriétés d'un capteur de tension (voltmètre électronique).
Cours d'impression
La sous-catégorie Impression regroupe les classes qui représentent les imprimantes, les configurations d'imprimante et les travaux d'impression.
Description de la classe
Win32_DriverForDevice Associe une imprimante à un pilote d'imprimante.
Win32_Printer Représente un périphérique connecté à un système informatique Windows capable de reproduire une image visuelle sur un support.
Win32_PrinterConfiguration Définit la configuration d'un périphérique d'impression.
Win32_PrinterController Met en relation une imprimante et le périphérique local auquel l'imprimante est connectée.
Win32_PrinterDriver Représente les pilotes d'une instance Win32_Printer.
Win32_PrinterDriverDll Relie une imprimante locale et son fichier de pilote (pas le pilote lui-même).
Win32_PrinterSetting Relie une imprimante et ses paramètres de configuration.
Win32_PrintJob Représente un travail d'impression généré par une application Windows.
Win32_TCPIPPrinterPort Représente un point d'accès au service TCP/IP.
Cours de téléphonie
La sous-catégorie Téléphonie regroupe les classes qui représentent les anciens modems téléphoniques et leurs connexions série associées.
Description de la classe
Win32_POTSModem Représente les services et les caractéristiques d'un modem POTS (Plain Old Telephone Service) sur un système Windows.
Win32_POTSModemToSerialPort Relie un modem et le port série utilisé par le modem.
Cours vidéo et moniteur
La sous-catégorie Vidéo et Moniteurs regroupe les classes qui représentent les moniteurs, les cartes vidéo et leurs paramètres associés.
Description de la classe
Win32_DesktopMonitor Représente le type de moniteur ou de périphérique d'affichage connecté au système informatique.
Win32_DisplayConfiguration Représente les informations de configuration du périphérique d'affichage sur un système Windows. Cette classe est obsolète. À la place de cette classe, utilisez les propriétés des classes Win32_VideoController, Win32_DesktopMonitor et CIM_VideoControllerResolution.
Win32_DisplayControllerConfiguration Représente les informations de configuration de la carte vidéo d'un système Windows. Cette classe est obsolète. À la place de cette classe, utilisez les propriétés des classes Win32_VideoController, Win32_DesktopMonitor et CIM_VideoControllerResolution.
Win32_VideoConfiguration Cette classe a été supprimée de Windows XP et versions ultérieures ; les tentatives de son utilisation généreront une erreur fatale. À la place de cette classe, utilisez les propriétés contenues dans les classes Win32_VideoController, Win32_DesktopMonitor et CIM_VideoControllerResolution.
Win32_VideoController Représente les capacités et la capacité de gestion du contrôleur vidéo sur un système informatique Windows.
Win32_VideoSettings Relie un contrôleur vidéo et les paramètres vidéo qui peuvent lui être appliqués.
Chaque classe a une structure de données correspondante telle que
carte graphique
classe Win32_VideoController : CIM_PCVideoController
{
uint16 AcceleratorCapabilities[];
chaîne AdapterCompatibility ;
stringAdapterDACType ;
AdaptateurRAM uint32 ;
uint16 Disponibilité ;
chaîne CapabilityDescriptions[];
Légende de la chaîne ;
uint32 ColorTableEntries ;
uint32 ConfigManagerErrorCode ;
booléen ConfigManagerUserConfig ;
chaîne CreationClassName ;
uint32 CurrentBitsPerPixel ;
uint32 RésolutionHorizontaleActuelle ;
uint64 CurrentNumberOfColors ;
uint32 CurrentNumberOfColumns ;
uint32 CurrentNumberOfRows ;
uint32 CurrentRefreshRate ;
uint16 CurrentScanMode ;
uint32 RésolutionVerticaleActuelle ;
chaîne Description ;
chaîne ID de périphérique ;
uint32 DeviceSpecificPens ;
uint32 Type de tramage ;
dateheure DriverDate ;
chaîne Version du pilote ;
booléen ErrorCleared ;
chaîne DescriptionErreur ;
uint32 ICMIntent ;
uint32 Méthode ICM ;
chaîne InfFilename ;
chaîne InfSection ;
dateheure Date d'installation ;
chaîne InstalledDisplayDrivers ;
uint32 LastErrorCode ;
uint32 MaxMemorySupported ;
uint32 MaxNumberControlled ;
uint32 MaxRefreshRate ;
uint32 MinRefreshRate ;
booléen Monochrome ;
nom de chaîne ;
uint16 NumberOfColorPlanes ;
uint32 Nombre de pages vidéo ;
chaîne PNPDeviceID ;
uint16 PowerManagementCapabilities[];
booléen PowerManagementSupported ;
Protocole uint16 pris en charge ;
uint32 ReservedSystemPaletteEntries ;
Version de spécification uint32 ;
état de chaîne ;
uint16 StatusInfo ;
chaîne SystemCreationClassName ;
chaîne NomSystème ;
uint32 SystemPaletteEntries ;
dateheure TimeOfLastReset ;
uint16 Architecture vidéo ;
uint16 Type de mémoire vidéo ;
uint16 Mode Vidéo ;
chaîne VideoModeDescription ;
chaîne VideoProcessor ;
} ;
Carte son, etc.
classe Win32_SoundDevice : CIM_LogicalDevice
{
uint16 Disponibilité ;
Légende de la chaîne ;
uint32 ConfigManagerErrorCode ;
booléen ConfigManagerUserConfig ;
chaîne CreationClassName ;
chaîne Description ;
chaîne ID de périphérique ;
uint16 DMABufferSize;
booléen ErrorCleared ;
chaîne DescriptionErreur ;
dateheure Date d'installation ;
uint32 LastErrorCode ;
Fabricant de chaînes ;
uint32 MPU401Adresse ;
nom de chaîne ;
chaîne PNPDeviceID ;
uint16 PowerManagementCapabilities[];
booléen PowerManagementSupported ;
chaîne NomProduit ;
état de chaîne ;
uint16 StatusInfo ;
chaîne SystemCreationClassName ;
chaîne NomSystème ;
} ;
classe Win32_PrintJob : CIM_Job
{
Légende de la chaîne ;
chaîne Type de données ;
chaîne Description ;
chaîne Document ;
chaîne Nom du pilote ;
dateheure ElapsedTime ;
chaîne HostPrintQueue ;
dateheure Date d'installation ;
uint32 ID de travail ;
chaîne JobStatus ;
nom de chaîne ;
chaîne Notifier ;
chaîne Propriétaire ;
uint32 PagesImprimées ;
Paramètres de chaîne ;
chaîne PrintProcessor ;
uint32 Priorité ;
uint32 Taille ;
dateheure Heure de début ;
état de chaîne ;
Masque d'état uint32 ;
dateheure HeureSoumise ;
uint32 TotalPages ;
dateheure Jusqu'à l'heure ;
} ;
comme
Définissez wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate}).
Instances de (Win32_PrintJob)
Vous pouvez obtenir des informations telles que l'impression de listes de tâches
Pour VB, l'API est principalement utilisée pour obtenir des informations sur le matériel et les logiciels du système. Nous pouvons désormais utiliser WMI pour atteindre rapidement nos objectifs. Par exemple, obtenir des informations sur les pilotes/cartes graphiques/partagées, etc. deviendra pratique et efficace.