Amesam Posted May 8, 2016 Posted May 8, 2016 (edited) Hi, I present to you an example of research material and system with the help of Script-o-matic by exploiting the objects selected. Some details of the Win32 classes may be interesting to develop. in this example are worked:Win32_OperatingSystemWin32_BIOSWin32_BaseBoardWin32_ProcessorWin32_PhysicalMemoryWin32_VideoController for example with the classes Win32_BIOS Script-o-matic returns for BiosCharacteristics:BiosCharacteristics:7 With WMI Hardwares.au3 for my PC and with some objects selected UDF in french and English WMI Hardwares.au3 expandcollapse popup#cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.14.2 Author: Amesam Script Function: WMI Hardwares Request Purpose: Get informations from the Hardwares Note: Every Function returns a MsgBox client pris en charge minimum ;==> Windows Vista serveur minimale prise en charge ;==> Windows Server 2008 namespace ;==> Root \ CIMV2 MOF ;==> CIMWin32.mof DLL ;==> Cimwin32.dll ;==> Support AutoIt ScriptOMatic _WinClaasOperatingSystem() _OperatingSystem() _FreeMem() _WinClassesBios() _BIOS() _SMBIOSP() _BIOS_SoftwareElementState() _BIOSCharacteristics() _WinClassesBaseBoard() _BaseBoard() _HostingBoard() _HotSwappable() _Removable() _Replaceable() _WinClassesProcessor() _Processor() _TypeProc() _VirtualFirWareProc() _VMVirtualProcess() _StatuInfoProc() _PhysicalMemory() _GETDOSOUTPUT($COMMAND) _WinClassesVideoController() _VideoController() WMIDateStringToDate($dtmDate) _VideoArchitecture() _AcceleratorCapabilities() _Availability() _VideoMemoryType() _ConfigVideoUser() _ConfigManagerErrorCode() #ce ---------------------------------------------------------------------------- AutoItSetOption("MustDeclareVars", 1) Global $Fabr, $SortieWMI_OperatingSystem, $NumberOfLicensedUsers, $NumberOfProcesses, $NumberOfUsers, $Produit, $Caption, $SWMI, $SortieWMIRF, $SortieWMI_Bios, $Statut, $FreePhysicalMemory, $FreeSpaceInPagingFiles, $FreeVirtualMemory Global $Bios, $Bios_LangageEdit, $Bios_NumSerie, $Bios_Statut, $Bios_Caracteristique, $Bios_OutSWMI, $Bios_OutOBJ, $FPMem, $ResutFreePhyMem, $FSpacePF, $ResultFreeSpacePF, $FreeVirtualMem, $ResultFreeVirtualMem Global $Bios_SMBIOSDispo, $SMBIOS_VSysMesure, $SMBIOS_NDispo, $Bios_ELIDepl, $Bios_ELIInst, $Bios_ELIExectable, $Bios_ELIExecution, $SortieWMI_Video Global $OutputBios_0, $OutputBios_1, $OutputBios_2, $OutputBios_3, $OutputBios_4, $OutputBios_5, $OutputBios_6, $OutputBios_7, $OutputBios_8, $OutputBios_9, $OutputBios_10, $OutputBios_11, $OutputBios_12, $OutputBios_13, $OutputBios_14 Global $OutputBios_15, $OutputBios_16, $OutputBios_17, $OutputBios_18, $OutputBios_19, $OutputBios_20, $OutputBios_21, $OutputBios_22, $OutputBios_23, $OutputBios_24, $OutputBios_25, $OutputBios_26, $OutputBios_27, $OutputBios_28 Global $OutputBios_29, $OutputBios_30, $OutputBios_31, $OutputBios_32, $OutputBios_33, $OutputBios_34, $OutputBios_35, $OutputBios_36, $OutputBios_37, $OutputBios_38, $OutputBios_39, $OutputBios_40_47, $OutputBios_48_63 Global $BBoard_SWMI, $SortieWMI_BaseBoard, $VersBoard, $HostingBoard_true, $HostingBoard_false, $HotSwappable_true, $HotSwappable_false, $Removable_true, $Removable_false, $Replaceable_true, $Replaceable_false Global $Name, $NamePorcess, $DWitch_Process, $NbCoreProcess, $NbCorePermis, $NbCoreLogique, $IDProcess, $TypeProcess, $OutputProc_1, $OutputProc_2, $OutputProc_3, $OutputProc_4, $OutputProc_5, $OutputProc_6 Global $ProcVirtuel, $ProcVirtuelNot, $WMProcess, $SortieWMI_Proc, $WMProcessInfo, $Autres, $Autre, $Inconnu, $Enabled, $Disabled, $Sansobjet, $ConfigOption, $Speed Global $CMEC0, $CMEC1, $CMEC2, $CMEC3, $CMEC4, $CMEC5, $CMEC6, $CMEC7, $CMEC8, $CMEC9, $CMEC10, $CMEC11, $CMEC12, $CMEC13, $CMEC14, $CMEC15, $CMEC16, $CMEC17, $CMEC18, $CMEC19, $CMEC20, $CMEC21, $CMEC22, $CMEC23, $CMEC24, $CMEC25, $CMEC26, $CMEC27, $CMEC28, $CMEC29, $CMEC30, $CMEC31 Global $Accelerateur3D, $AccelerateurGraph, $ArchVideo, $Availability3, $Availability4, $Availability5, $Availability6, $Availability7, $Availability8, $Availability9, $Availability10, $Availability11, $Availability12, $Availability13, $Availability14, $Availability15, $Availability16, $Availability17, $Availability18, $Availability19, $Availability20, $Availability21 Global $SortieWMI_PhysicalMemory, $VideoMemoryType, $ControlVideo, $Capacity, $CMECWIN32, $ConfigUserVideo, $CurrentBitsPerPixel, $CurrentRefreshRate, $DeviceID, $DispoVideoControl, $DriverInstall, $Used, $False, $True, $FileINF, $Free, $MemVideo, $NumSerie, $Proprio, $Reference Global $objWMIService = "" Global $colItems = "" Global $strComputer = "localhost" Global $OutputTitle = "" Global $Output = "" Global $SLANGUE = "" $OutputTitle &= "Computer: " & $strComputer & @CRLF $OutputTitle &= "==========================================" & @CRLF Select Case StringInStr("040c,080c,0c0c,100c,140c,180c", @OSLang) ; http://www.autoitscript.fr/autoit3/docs/appendix/OSLangCodes.htm $SLANGUE = "Francais" Case Else $SLANGUE = "Anglais" EndSelect Select Case $SLANGUE = "Francais" $Accelerateur3D = "Accélérateur 3D (3)" $AccelerateurGraph = "Accélérateur graphique (2)" $ArchVideo = "Type d'architecture vidéo : " $Autre = "Autre : " $Autres = "Statut Info : Autres (1)" $Availability10 = "Dégradé (10)" $Availability11 = "Non installé (11)" $Availability12 = "Erreur d'installation (12)" $Availability13 = "Économie d'énergie - Inconnu (13)" $Availability14 = "Économie d'énergie - Mode faible consommation (14)" $Availability15 = "Économie d'énergie - Veille (15)" $Availability16 = "Cycle d'alimentation (16)" $Availability17 = "Économie d'énergie - Avertissement (17)" $Availability18 = "Le dispositif est mis en pause (18)" $Availability19 = "Le dispositif est pas prêt (19)" $Availability20 = "Non configuré (20)" $Availability21 = "Suspendu (21)" $Availability3 = "Exécution / Full Power (3)" $Availability4 = "Avertissement (4)" $Availability5 = "Dans l'essai (5)" $Availability6 = "Sans objet (6)" $Availability7 = "Hors tension (7)" $Availability8 = "Hors ligne(8)" $Availability9 = "Hors service (9)" $BBoard_SWMI = " Sortie WMI pour la classe Win32_BaseBoard " $Bios = "BIOS : " $Bios_Caracteristique = "Caractéristiques du BIOS : " $Bios_ELIDepl = "État du logiciel d'installation : Déployable (0)" $Bios_ELIExectable = "État du logiciel d'installation : Executable (2)" $Bios_ELIExecution = "État du logiciel d'installation : Démarré (3)" $Bios_ELIInst = "État du logiciel d'installation : Installable (1)" $Bios_LangageEdit = "Langage Édition : " $Bios_NumSerie = "Numéro de série : " $Bios_OutOBJ = "Aucun objets WMI trouvés pour la Classe :" & "Win32_BIOS" $Bios_OutSWMI = "Aucune sortie WMI pour cette classe" $Bios_SMBIOSDispo = "SMBIOS : Disponible " $Capacity = "Capacité : " $Caption = "Légende : " $CMEC0 = "Cet appareil fonctionne correctement. (0) " $CMEC1 = "Ce dispositif est pas configuré correctement. (1) " $CMEC10 = "Ce dispositif ne peut pas démarrer. (10) " $CMEC11 = "Ce dispositif a échoué. (11) " $CMEC12 = "Ce dispositif ne peut pas trouver suffisamment de ressources libres qu'il peut utiliser. (12) " $CMEC13 = "Windows ne peut pas vérifier les ressources de ce dispositif. (13) " $CMEC14 = "Cet appareil peut ne pas fonctionner correctement jusqu'à ce que vous redémarrez votre ordinateur. (14) " $CMEC15 = "Ce dispositif ne fonctionne pas correctement car il y a probablement un problème ré-énumération. (15) " $CMEC16 = "Windows ne peut pas identifier toutes les ressources utilisées par ce périphérique. (16) " $CMEC17 = "Ce dispositif demande un type de ressource inconnu. (17) " $CMEC18 = "Réinstaller les pilotes de ce périphérique. (18) " $CMEC19 = "Défaut d' utiliser le chargeur VxD. (19) " $CMEC2 = "Windows ne peut pas charger le pilote de ce périphérique. (2) " $CMEC20 = "Votre Registre est peut - être corrompu. (20) " $CMEC21 = "Défaillance du système: Essayez de changer le pilote de ce périphérique. Si cela ne fonctionne pas, consultez la documentation de votre matériel. Windows supprime ce périphérique. (21) " $CMEC22 = "Ce périphérique est désactivé. (22) " $CMEC23 = "Défaillance du système: Essayez de changer le pilote de ce périphérique. Si cela ne fonctionne pas, consultez la documentation de votre matériel. (23)" $CMEC24 = "Ce dispositif est pas présent, ne fonctionne pas correctement, ou ne possède pas tous ses pilotes installés. (24) " $CMEC25 = "Windows est toujours en place ce dispositif. (25) " $CMEC26 = "Windows est toujours en place ce dispositif. (26) " $CMEC27 = "Ce dispositif n'a pas la configuration de journal valide. (27) " $CMEC28 = "Les pilotes de ce périphérique ne sont pas installés. (28) " $CMEC29 = "Ce périphérique est désactivé car le firmware de l'appareil ne lui donne pas les ressources nécessaires. (29) " $CMEC3 = "Le pilote de ce périphérique peut être endommagé ou votre système peut être à court de mémoire ou d' autres ressources. (3) " $CMEC30 = "Cet appareil utilise une demande d' interruption (IRQ) ressources qu'un autre périphérique utilise. (30) " $CMEC31 = "Ce dispositif ne fonctionne pas correctement car Windows ne peut pas charger les pilotes requis pour ce périphérique. (31) " $CMEC4 = "Ce dispositif ne fonctionne pas correctement. L' un de ses pilotes ou votre registre peut - être endommagé. (4) " $CMEC5 = "Le pilote de ce périphérique a besoin d' une ressource que Windows ne peut pas gérer. (5) " $CMEC6 = "La configuration de démarrage de ce périphérique est en conflit avec d' autres appareils. (6) " $CMEC7 = "Vous ne pouvez pas filtrer. (7) " $CMEC8 = "Le chargeur de pilote pour le périphérique est manquant. (8) " $CMEC9 = "Ce dispositif ne fonctionne pas correctement parce que le firmware de contrôle signale les ressources de l'appareil de manière incorrecte. (9) " $CMECWIN32 = "Win32 Configuration Manager code d'erreur : " $ConfigOption = "Options de configuration" $ConfigUserVideo = "Configuration définie par l' utilisateur : " $ControlVideo = "Contrôleur vidéo et graphiques : " $CurrentBitsPerPixel = "Nombre de bits utilisés pour afficher chaque pixel : " $CurrentRefreshRate = "Fréquence à laquelle le contrôleur vidéo rafraîchit l'image : " $DeviceID = "Référence de l'appareil : " $Disabled = "Statut Info : Désactivé (4)" $DispoVideoControl = "Disponibilité et état de l'appareil : " $DriverInstall = "Nom du pilote de périphérique d'affichage installé : " $DWitch_Process = "Processeur : " $Enabled = "Statut Info : Activé (3)" $Fabr = "Fabriquant : " $False = "Faux" $FileINF = "Fichier .inf : " $Free = "Libre : " $FreePhysicalMemory = "Mémoire physique actuellement inutilisée et disponible : " $FreeSpaceInPagingFiles = "Mappage dans les fichiers d'échange du système d'exploitation sans provoquer d'autres pages à être échangé :" $FreeVirtualMemory = "Mémoire virtuelle actuellement inutilisée et disponible : " $HostingBoard_false = "la carte n'est une carte mère, ou une carte de base dans un châssis : " $HostingBoard_true = "la carte est une carte mère, ou une carte de base dans un châssis : " $HotSwappable_false = "le paquet ne peut pas être remplacé à chaud : " $HotSwappable_true = "le paquet peut être remplacé à chaud : " $IDProcess = "Identifiant du processeur : " $Inconnu = "Statut Info : Inconnu (2)" $MemVideo = "Taille de la mémoire de la carte vidéo : " $Name = "Nom : " $NbCoreLogique = "Nombre de Processeurs Logiques : " $NbCorePermis = "Nombre de coeurs admis : " $NbCoreProcess = "Nombre de coeurs : " $NumberOfLicensedUsers = "Nombre de licences utilisateur pour le système d'exploitation. Si illimité, 0 (zéro). Si inconnu, -1 : " $NumberOfProcesses = "Nombre de contextes de processus actuellement chargé ou exécuté sur le système d'exploitation : " $NumberOfUsers = "Nombre de sessions utilisateur pour lequel le système d'exploitation est le stockage des informations d'état actuellement : " $NumSerie = "Numéro de série :" $OutputBios_0 = "- Réservé (0)" $OutputBios_1 = "- Réservé (1)" $OutputBios_10 = "- APM est pris en charge (10)" $OutputBios_11 = "- BIOS est actualisable (Flash) (11)" $OutputBios_12 = "- Observation du BIOS est autorisé (12)" $OutputBios_13 = "- VL-VESA est pris en charge (13)" $OutputBios_14 = "- Support ESCD est disponible (14)" $OutputBios_15 = "- Boot from CD est pris en charge (15)" $OutputBios_16 = "- Boot sélectionnable est pris en charge (16)" $OutputBios_17 = "- BIOS ROM est connectable (17)" $OutputBios_18 = "- Boot De PC Card (PCMCIA) est prise en charge (18)" $OutputBios_19 = "- EDD (Enhanced Disk Drive) Spécification est prise en charge (19)" $OutputBios_2 = "- Inconnu (2)" $OutputBios_20 = "- Int 13h - Floppy japonais pour NEC 9800 1.2mb (3,5 \ , 1k octets / secteur, 360 RPM) est pris en charge(20) " $OutputBios_21 = "- Int 13h - Floppy japonais pour Toshiba 1.2mb (3,5 \ , 360 RPM) est pris en charge(21) " $OutputBios_22 = "- Int 13h - 5,25 \ / 360 KB Floppy services sont pris en charge(22) " $OutputBios_23 = "- Int 13h - 5,25 \ / 1.2MB services Floppy sont pris en charge(23) " $OutputBios_24 = "- Int 13h - 3,5 \ / 720 KB Floppy services sont pris en charge(24) " $OutputBios_25 = "- Int 13h - 3,5 \ / 2.88 MB Floppy services sont pris en charge(25) " $OutputBios_26 = "- Int 5h, service d' impression écran est prise en charge (26)" $OutputBios_27 = "- Int 9H, 8042 services de clavier sont pris en charge (27)" $OutputBios_28 = "- Int 14h, services de série sont pris en charge (28)" $OutputBios_29 = "- Int 17h, les services d'impression sont pris en charge (29)" $OutputBios_3 = "- BIOS Caractéristiques non pris en charge (3)" $OutputBios_30 = "- Int 10h, CGA / Mono services vidéo sont pris en charge (30)" $OutputBios_31 = "- NEC PC-98 (31)" $OutputBios_32 = "- ACPI pris en charge (32)" $OutputBios_33 = "- Legacy USB est prise en charge (33)" $OutputBios_34 = "- AGP est prise en charge (34)" $OutputBios_35 = "- I2O boot est prise en charge (35)" $OutputBios_36 = "- LS-120 boot est prise en charge (36)" $OutputBios_37 = "- ATAPI lecteur ZIP boot est pris en charge (37)" $OutputBios_38 = "- 1394 boot est pris en charge (38)" $OutputBios_39 = "- Smart Battery prise en charge (39)" $OutputBios_4 = "- ISA est pris en charge (4)" $OutputBios_40_47 = "- Réservé aux fournisseurs de BIOS (40 - 47)" $OutputBios_48_63 = "- Réservé aux fournisseurs Système (48 - 63)" $OutputBios_5 = "- MCA est pris en charge (5)" $OutputBios_6 = "- EISA est pris en charge (6)" $OutputBios_7 = "- PCI est pris en charge (7)" $OutputBios_8 = "- PC Card (PCMCIA) est pris en charge (8)" $OutputBios_9 = "- Plug and Play est pris en charge (9)" $OutputProc_1 = "Autres (1)" $OutputProc_2 = "Inconnu (2)" $OutputProc_3 = "Processeur central (3)" $OutputProc_4 = "Math Processeur (4)" $OutputProc_5 = "DSP Processeur (5)" $OutputProc_6 = "Processeur vidéo (6)" $ProcVirtuel = "Le firmware a permis les extensions de virtualisation : " $ProcVirtuelNot = "Le firmware n'est pas permis pour les extensions de virtualisation : " $Produit = "Produit : " $Proprio = "Propriètaire : " $Reference = "Référence : " $Removable_false = "L'emballage physique n'est pas amovible : " $Removable_true = "L'emballage physique est amovible : " $Replaceable_false = "Paquet physique non remplaçable : " $Replaceable_true = "Paquet physique remplaçable : " $Sansobjet = "Statut Info : Sans objet (5)" $SMBIOS_NDispo = "SMBIOS Non disponible : " $SMBIOS_VSysMesure = "SMBIOS : Version du système de mesure : " $SortieWMI_BaseBoard = "Sortie WMI : Aucun objets WMI trouvés pour la Classe : Win32_BaseBoard" $SortieWMI_Bios = "Sortie WMI : Aucun objets WMI trouvés pour la Classe : Win32_BIOS" $SortieWMI_OperatingSystem = "Sortie WMI : Aucun objets WMI trouvés pour la Classe : Win32_OperatingSystem" $SortieWMI_PhysicalMemory = "Sortie WMI : Aucun objets WMI trouvés pour la Classe : PhysicalMemory" $SortieWMI_Proc = "Sortie WMI : Aucun objets WMI trouvés pour la Classe : Win32_Processor" $SortieWMI_Video = "Sortie WMI : Aucun objets WMI trouvés pour la Classe : Win32_VideoController" $SortieWMIRF = "Sortie WMI refusée" $Speed = "Vitesse mémoire : " $Statut = "Statut : " $SWMI = " Sortie WMI pour la classe : " $True = "Vrai" $TypeProcess = "Type du processeur : " $Used = "Utilisée : " $VersBoard = "Version : " $VideoMemoryType = "Type de mémoire vidéo : " $WMProcess = "le processeur prend en charge les machines virtuelles pour Intel ou AMD Virtual Machine Monitor extensions : " $WMProcessInfo = "Information : Cette propriété n'est pas supportée avant Windows 8 et Windows Serveur 2012. " EndSelect Select Case $SLANGUE = "Anglais" $CMECWIN32 = "Win32 Configuration Manager error code : " $Accelerateur3D = "3D Accelerator (3)" $AccelerateurGraph = "Graphics Accelerator (2)" $ArchVideo = "Type of video architecture. : " $Autre = "Other : " $Autres = "Status Info : Other (1)" $Availability10 = "Degraded (10)" $Availability11 = "Not Installed (11)" $Availability12 = "Install Error (12)" $Availability13 = "Power Save - Unknown (13)" $Availability14 = "Power Save - Low Power Mode (14)" $Availability15 = "Power Save - Standby (15)" $Availability16 = "Power Cycle (16)" $Availability17 = "Power Save - Warning (17)" $Availability18 = "Paused (18)" $Availability19 = "Paused (18)" $Availability20 = "Not Configured (20)" $Availability21 = "Quiesced (21)" $Availability3 = "Running/Full Power (3)" $Availability4 = "Warning (4)" $Availability5 = "DIn Test (5)" $Availability6 = "Not Applicable (6)" $Availability7 = "Power Off (7)" $Availability8 = "Off Line (8)" $Availability9 = "Off Duty (9)" $BBoard_SWMI = " WMI class output for Win32_BaseBoard " $Bios = "BIOS : " $Bios_Caracteristique = "BIOS Features : " $Bios_ELIDepl = "State of the installation software : Déployable (0)" $Bios_ELIExectable = "State of the installation software : Executable (2)" $Bios_ELIExecution = "State of the installation software : Running (3)" $Bios_ELIInst = "State of the installation software : Installable (1)" $Bios_LangageEdit = "Language Edition : " $Bios_NumSerie = "Numéro de série : " $Bios_OutOBJ = "No items found for WMI Class :" & "Win32_BIOS" $Bios_OutSWMI = "No WMI output for this class" $Bios_SMBIOSDispo = "SMBIOS : Available " $Capacity = "Capacity : " $Caption = "Legend : " $CMEC0 = "This device is working properly. (0) " $CMEC1 = "This device is not configured correctly. (1) " $CMEC10 = "This device cannot start. (10) " $CMEC11 = "This device failed. (11) " $CMEC12 = "This device cannot find enough free resources that it can use. (12) " $CMEC13 = "Windows cannot verify this device's resources. (13) " $CMEC14 = "This device cannot work properly until you restart your computer. (14) " $CMEC15 = "This device is not working properly because there is probably a re-enumeration problem. (15) " $CMEC16 = "Windows cannot identify all the resources this device uses. (16) " $CMEC17 = "This device is asking for an unknown resource type. (17) " $CMEC18 = "Reinstall the drivers for this device. (18) " $CMEC19 = "Failure using the VxD loader. (19) " $CMEC2 = "Windows cannot load the driver for this device. (2) " $CMEC20 = "Your registry might be corrupted. (20) " $CMEC21 = "System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device. (21) " $CMEC22 = "This device is disabled. (22) " $CMEC23 = "System failure: Try changing the driver for this device. If that doesn't work, see your hardware documentation. (23) " $CMEC24 = "This device is not present, is not working properly, or does not have all its drivers installed. (24) " $CMEC25 = "Windows is still setting up this device. (25) " $CMEC26 = "Windows is still setting up this device. (26) " $CMEC27 = "This device does not have valid log configuration. (27) " $CMEC28 = "The drivers for this device are not installed. (28) " $CMEC29 = "This device is disabled because the firmware of the device did not give it the required resources. (29) " $CMEC3 = "The driver for this device might be corrupted, or your system may be running low on memory or other resources. (3) " $CMEC30 = "This device is using an Interrupt Request (IRQ) resource that another device is using. (30) " $CMEC31 = "This device is not working properly because Windows cannot load the drivers required for this device. (31) " $CMEC4 = "This device is not working properly. One of its drivers or your registry might be corrupted. (4) " $CMEC5 = "The driver for this device needs a resource that Windows cannot manage. (5) " $CMEC6 = "The boot configuration for this device conflicts with other devices. (6) " $CMEC7 = "Cannot filter. (7) " $CMEC8 = "The driver loader for the device is missing. (8) " $CMEC9 = "This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly. (9) " $ConfigOption = "Config Options: " $ConfigUserVideo = "Configuration définie par l' utilisateur : " $ControlVideo = "Capabilities of the video controller : " $CurrentBitsPerPixel = "Number of bits used to display each pixel : " $CurrentRefreshRate = "Frequency at which the video controller refreshes the image : " $DeviceID = "Reference of the device : " $Disabled = "Status Info : Disabled (4)" $DispoVideoControl = "Availability and status of the device : " $DriverInstall = "Name of the installed display device driver : " $DWitch_Process = "Processor : " $Enabled = "Status Info : Enabled (3)" $Fabr = "Manufacturer : " $FileINF = "File .inf : " $Free = "Free : " $FreePhysicalMemory = "Number, in GB, of physical memory currently unused and available : " $FreeSpaceInPagingFiles = "Number, in GB, that can be mapped into the operating system paging files without causing any other pages to be swapped out : " $FreeVirtualMemory = "Number, in GB, of virtual memory currently unused and available : " $HostingBoard_false = "The card is not a motherboard, or a baseboard in a chassis : " $HostingBoard_true = "The card is a motherboard, or a baseboard in a chassis : " $HotSwappable_false = "The packet can not be hot-swapped : " $HotSwappable_true = "The package can be hot-swapped : " $IDProcess = "Processor Id : " $Inconnu = "Status Info : Unknown (2)" $MemVideo = "Memory size of the video adapter : " $Name = "Name : " $NbCoreLogique = "Number Of Logical Processors : " $NbCorePermis = "Number Of Enabled Core : " $NbCoreProcess = "Number Of Cores : " $NumberOfLicensedUsers = "Number of user licenses for the operating system. If unlimited, enter 0 (zero). If unknown, enter -1 : " $NumberOfProcesses = "Number of process contexts currently loaded or running on the operating system : " $NumberOfUsers = "Number of user sessions for which the operating system is storing state information currently : " $NumSerie = "SerialNumber: " $OutputBios_0 = "- Reserved (0)" $OutputBios_1 = "- Reserved (1)" $OutputBios_10 = "- APM is supported (10)" $OutputBios_11 = "- BIOS is Upgradeable (Flash) (11)" $OutputBios_12 = "- BIOS shadowing is allowed (12)" $OutputBios_13 = "- VL-VESA is supported (13)" $OutputBios_14 = "- ESCD support is available (14)" $OutputBios_15 = "- Boot from CD is supported (15)" $OutputBios_16 = "- Selectable Boot is supported (16)" $OutputBios_17 = "- BIOS ROM is socketed (17)" $OutputBios_18 = "- Boot From PC Card (PCMCIA) is supported (18)" $OutputBios_19 = "- EDD (Enhanced Disk Drive) Specification is supported (19)" $OutputBios_2 = "- Unknown (2)" $OutputBios_20 = "- Int 13h - Floppy japonais pour NEC 9800 1.2mb (3,5 \ , 1k octets / secteur, 360 RPM) is supported (20) " $OutputBios_21 = "- Int 13h - Floppy japonais pour Toshiba 1.2mb (3,5 \ , 360 RPM) is supported (21) " $OutputBios_22 = "- Int 13h - 5,25 \ / 360 KB Floppy Services are supported (22) " $OutputBios_23 = "- Int 13h - 5,25 \ / 1.2MB Floppy Services are supported (23) " $OutputBios_24 = "- Int 13h - 3,5 \ / 720 KB Floppy Services are supported (24) " $OutputBios_25 = "- Int 13h - 3,5 \ / 2.88 MB Floppy Services are supported (25) " $OutputBios_26 = "- Int 5h, Print Screen Service is supported (26)" $OutputBios_27 = "- Int 9h, 8042 Keyboard services are supported (27)" $OutputBios_28 = "- Int 14h, Serial Services are supported (28)" $OutputBios_29 = "- Int 17h, printer services are supported (29)" $OutputBios_3 = "- BIOS Characteristics Not Supported (3)" $OutputBios_30 = "- Int 10h, CGA/Mono Video Services are supported (30)" $OutputBios_31 = "- NEC PC-98 (31)" $OutputBios_32 = "- ACPI supported (32)" $OutputBios_33 = "- Legacy USB is supported (33)" $OutputBios_34 = "- AGP is supported (34)" $OutputBios_35 = "- I2O boot is supported (35)" $OutputBios_36 = "- LS-120 boot is supported (36)" $OutputBios_37 = "- ATAPI ZIP Drive boot is supported (37)" $OutputBios_38 = "- 1394 boot is supported (38)" $OutputBios_39 = "- Smart Battery supported (39)" $OutputBios_4 = "- ISA is supported (4)" $OutputBios_40_47 = "- Reserved for BIOS vendor (40 - 47)" $OutputBios_48_63 = "- Reserved for system vendor (48 - 63)" $OutputBios_5 = "- MCA is supported (5)" $OutputBios_6 = "- EISA is supported (6)" $OutputBios_7 = "- PCI is supported (7)" $OutputBios_8 = "- PC Card (PCMCIA) is supported (8)" $OutputBios_9 = "- Plug and Play is supported (9)" $OutputProc_1 = "Other (1)" $OutputProc_2 = "Unknown (2)" $OutputProc_3 = "Central Processor (3)" $OutputProc_4 = "Math Processor (4)" $OutputProc_5 = "DSP Processor (5)" $OutputProc_6 = "Video Processor (6)" $ProcVirtuel = "The Firmware has enabled virtualization extensions : " $ProcVirtuelNot = "Le Firmware has not enabled virtualization extensions : " $Produit = "Product : " $Proprio = "Proprietary : " $Reference = "PartNumber : " $Removable_false = "package is not removable : " $Removable_true = "Package is removable : " $Replaceable_false = "Package is not removable : " $Replaceable_true = "Package is removable : " $Sansobjet = "Status Info : Not Applicable (5)" $SMBIOS_NDispo = "SMBIOS Not available : " $SMBIOS_VSysMesure = "Version of the measuring system : " $SortieWMIRF = "WMI exit denied" $SortieWMI_BaseBoard = "WMI Released: No WMI items found for the class: Win32_BaseBoard" $SortieWMI_Bios = "WMI Released: No WMI items found for the class: Win32_BIOS" $SortieWMI_OperatingSystem = "WMI Released: No WMI items found for the class: Win32_OperatingSystem" $SortieWMI_PhysicalMemory = "WMI Released: No WMI items found for the class: PhysicalMemory" $SortieWMI_Proc = "WMI Released: No WMI items found for the class: Win32_Processor" $SortieWMI_Video = "WMI Released: No WMI items found for the class: Win32_VideoController" $Speed = "Speed : " $Statut = "Status : " $SWMI = " WMI class output for : " $TypeProcess = "Processor Type : " $Used = "Used : " $VersBoard = "Version: " $VideoMemoryType = "Type of video memory : " $WMProcess = "The processor supports Intel or AMD Virtual Machine Monitor extensions. : " $WMProcessInfo = "Information : This property is not supported before Windows 8 and Windows Server 2012" EndSelect If @OSVersion > "WIN_VISTA" and "WIN_2008" Then MsgBox(0, "WMI Hardwares", "Vista ou Windows Server 2008 minimum") EndIf #cs ---------------------------------------------------------------------------- Win32_BIOS class _Win32_BIOS() Functions: _WinClaasOperatingSystem() _OperatingSystem() _FreeMem() "BootDevice: " & $objItem.BootDevice & @CRLF "BuildNumber: " & $objItem.BuildNumber & @CRLF "BuildType: " & $objItem.BuildType & @CRLF "Caption: " & $objItem.Caption & @CRLF "CodeSet: " & $objItem.CodeSet & @CRLF "CountryCode: " & $objItem.CountryCode & @CRLF "CreationClassName: " & $objItem.CreationClassName & @CRLF "CSCreationClassName: " & $objItem.CSCreationClassName & @CRLF "CSDVersion: " & $objItem.CSDVersion & @CRLF "CSName: " & $objItem.CSName & @CRLF "CurrentTimeZone: " & $objItem.CurrentTimeZone & @CRLF "DataExecutionPrevention_32BitApplications: " & $objItem.DataExecutionPrevention_32BitApplications & @CRLF "DataExecutionPrevention_Available: " & $objItem.DataExecutionPrevention_Available & @CRLF "DataExecutionPrevention_Drivers: " & $objItem.DataExecutionPrevention_Drivers & @CRLF "DataExecutionPrevention_SupportPolicy: " & $objItem.DataExecutionPrevention_SupportPolicy & @CRLF "Debug: " & $objItem.Debug & @CRLF "Description: " & $objItem.Description & @CRLF "Distributed: " & $objItem.Distributed & @CRLF "EncryptionLevel: " & $objItem.EncryptionLevel & @CRLF "ForegroundApplicationBoost: " & $objItem.ForegroundApplicationBoost & @CRLF "FreePhysicalMemory: " & $objItem.FreePhysicalMemory & @CRLF "FreeSpaceInPagingFiles: " & $objItem.FreeSpaceInPagingFiles & @CRLF "FreeVirtualMemory: " & $objItem.FreeVirtualMemory & @CRLF "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF "LargeSystemCache: " & $objItem.LargeSystemCache & @CRLF "LastBootUpTime: " & WMIDateStringToDate($objItem.LastBootUpTime) & @CRLF "LocalDateTime: " & WMIDateStringToDate($objItem.LocalDateTime) & @CRLF "Locale: " & $objItem.Locale & @CRLF "Manufacturer: " & $objItem.Manufacturer & @CRLF "MaxNumberOfProcesses: " & $objItem.MaxNumberOfProcesses & @CRLF "MaxProcessMemorySize: " & $objItem.MaxProcessMemorySize & @CRLF $strMUILanguages = $objItem.MUILanguages(0) "MUILanguages: " & $strMUILanguages & @CRLF "Name: " & $objItem.Name & @CRLF "NumberOfLicensedUsers: " & $objItem.NumberOfLicensedUsers & @CRLF "NumberOfProcesses: " & $objItem.NumberOfProcesses & @CRLF "NumberOfUsers: " & $objItem.NumberOfUsers & @CRLF "OperatingSystemSKU: " & $objItem.OperatingSystemSKU & @CRLF "Organization: " & $objItem.Organization & @CRLF "OSArchitecture: " & $objItem.OSArchitecture & @CRLF "OSLanguage: " & $objItem.OSLanguage & @CRLF "OSProductSuite: " & $objItem.OSProductSuite & @CRLF "OSType: " & $objItem.OSType & @CRLF "OtherTypeDescription: " & $objItem.OtherTypeDescription & @CRLF "PAEEnabled: " & $objItem.PAEEnabled & @CRLF "PlusProductID: " & $objItem.PlusProductID & @CRLF "PlusVersionNumber: " & $objItem.PlusVersionNumber & @CRLF "PortableOperatingSystem: " & $objItem.PortableOperatingSystem & @CRLF "Primary: " & $objItem.Primary & @CRLF "ProductType: " & $objItem.ProductType & @CRLF "RegisteredUser: " & $objItem.RegisteredUser & @CRLF "SerialNumber: " & $objItem.SerialNumber & @CRLF "ServicePackMajorVersion: " & $objItem.ServicePackMajorVersion & @CRLF "ServicePackMinorVersion: " & $objItem.ServicePackMinorVersion & @CRLF "SizeStoredInPagingFiles: " & $objItem.SizeStoredInPagingFiles & @CRLF "Status: " & $objItem.Status & @CRLF "SuiteMask: " & $objItem.SuiteMask & @CRLF "SystemDevice: " & $objItem.SystemDevice & @CRLF "SystemDirectory: " & $objItem.SystemDirectory & @CRLF "SystemDrive: " & $objItem.SystemDrive & @CRLF "TotalSwapSpaceSize: " & $objItem.TotalSwapSpaceSize & @CRLF "TotalVirtualMemorySize: " & $objItem.TotalVirtualMemorySize & @CRLF "TotalVisibleMemorySize: " & $objItem.TotalVisibleMemorySize & @CRLF "Version: " & $objItem.Version & @CRLF "WindowsDirectory: " & $objItem.WindowsDirectory & @CRLF #ce ---------------------------------------------------------------------------- ;~ _OperatingSystem() Func _WinClaasOperatingSystem() $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", 0x10 + 0x20) EndFunc ;==>WinClaasOperatingSystem Func _OperatingSystem() _WinClaasOperatingSystem() If IsObj($colItems) Then Local $Object_Flag = 0 For $objItem In $colItems $Object_Flag = 1 $Output &= $SWMI & "Win32_OperatingSystem" & @CRLF $Output &= "-----------------------------------------" & @CRLF & @CRLF $Output &= $Name & $objItem.Name & @CRLF $Output &= "OS Architecture : " & $objItem.OSArchitecture & @CRLF $Output &= $Fabr & $objItem.Manufacturer & @CRLF Local $strMUILanguages = $objItem.MUILanguages(0) $Output &= "MUI Languages : " & $strMUILanguages & @CRLF $Output &= "Version : " & $objItem.Version & @CRLF $Output &= "SystemDrive : " & $objItem.SystemDrive & @CRLF $Output &= "-----------------------------------------" & @CRLF & @CRLF _FreeMem() $Output &= "-----------------------------------------" & @CRLF & @CRLF $Output &= $NumberOfLicensedUsers & $objItem.NumberOfLicensedUsers & @CRLF $Output &= $NumberOfProcesses & $objItem.NumberOfProcesses & @CRLF $Output &= $NumberOfUsers & $objItem.NumberOfUsers & @CRLF If $Object_Flag = 0 Then $Output &= $SortieWMIRF & $OutputTitle & @CRLF If $Output = "" Then $Output &= $SortieWMI_OperatingSystem & @CRLF If MsgBox(64, "", $Output) = 2 Then ExitLoop Next EndIf EndFunc ;==>_OperatingSystem Func _FreeMem() _WinClaasOperatingSystem() For $objItem In $colItems $FPMem = $objItem.FreePhysicalMemory / 1024 ^ 2 $ResutFreePhyMem = StringLeft($FPMem, 5) $Output &= $FreePhysicalMemory & $ResutFreePhyMem & " - GO" & @CRLF $FSpacePF = $objItem.FreeSpaceInPagingFiles / 1024 ^ 2 $ResultFreeSpacePF = StringLeft($FSpacePF, 5) $Output &= $FreeSpaceInPagingFiles & $ResultFreeSpacePF & " - GO" & @CRLF $FreeVirtualMem = $objItem.FreeVirtualMemory / 1024 ^ 2 $ResultFreeVirtualMem = StringLeft($FreeVirtualMem, 5) $Output &= $FreeVirtualMemory & $ResultFreeVirtualMem & " - GO" & @CRLF Next EndFunc ;==>FreeMem #cs ---------------------------------------------------------------------------- Win32_BIOS class _Win32_BIOS() Functions: _WinClassesBios() _Win32_BIOS() _SMBIOSP() _BIOS_SoftwareElementState() _BIOSCharacteristics() $strBiosCharacteristics = $objItem.BiosCharacteristics(0) "BiosCharacteristics: " & $strBiosCharacteristics & @CRLF $strBIOSVersion = $objItem.BIOSVersion(0) "BIOSVersion: " & $strBIOSVersion & @CRLF "BuildNumber: " & $objItem.BuildNumber & @CRLF "Caption: " & $objItem.Caption & @CRLF "CodeSet: " & $objItem.CodeSet & @CRLF "CurrentLanguage: " & $objItem.CurrentLanguage & @CRLF "Description: " & $objItem.Description & @CRLF "EmbeddedControllerMajorVersion: " & $objItem.EmbeddedControllerMajorVersion & @CRLF "EmbeddedControllerMinorVersion: " & $objItem.EmbeddedControllerMinorVersion & @CRLF "IdentificationCode: " & $objItem.IdentificationCode & @CRLF "InstallableLanguages: " & $objItem.InstallableLanguages & @CRLF "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF "LanguageEdition: " & $objItem.LanguageEdition & @CRLF $strListOfLanguages = $objItem.ListOfLanguages(0) "ListOfLanguages: " & $strListOfLanguages & @CRLF "Manufacturer: " & $objItem.Manufacturer & @CRLF "Name: " & $objItem.Name & @CRLF "OtherTargetOS: " & $objItem.OtherTargetOS & @CRLF "PrimaryBIOS: " & $objItem.PrimaryBIOS & @CRLF "ReleaseDate: " & WMIDateStringToDate($objItem.ReleaseDate) & @CRLF "SerialNumber: " & $objItem.SerialNumber & @CRLF "SMBIOSBIOSVersion: " & $objItem.SMBIOSBIOSVersion & @CRLF "SMBIOSMajorVersion: " & $objItem.SMBIOSMajorVersion & @CRLF "SMBIOSMinorVersion: " & $objItem.SMBIOSMinorVersion & @CRLF "SMBIOSPresent: " & $objItem.SMBIOSPresent & @CRLF "SoftwareElementID: " & $objItem.SoftwareElementID & @CRLF "SoftwareElementState: " & $objItem.SoftwareElementState & @CRLF "Status: " & $objItem.Status & @CRLF "SystemBiosMajorVersion: " & $objItem.SystemBiosMajorVersion & @CRLF "SystemBiosMinorVersion: " & $objItem.SystemBiosMinorVersion & @CRLF "TargetOperatingSystem: " & $objItem.TargetOperatingSystem & @CRLF "Version: " & $objItem.Version & @CRLF #ce ---------------------------------------------------------------------------- ;~ _BIOS() Func _WinClassesBios() $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_BIOS", "WQL", 0x10 + 0x20) EndFunc ;==>_WinClassesBios Func _BIOS() _WinClassesBios() If IsObj($colItems) Then Local $Object_Flag = 0 For $objItem In $colItems $Object_Flag = 1 $Output &= $SWMI & "Win32_BIOS" & @CRLF $Output &= "-----------------------------------------" & @CRLF & @CRLF $Output &= $Bios & $objItem.BIOSVersion(0) & @CRLF $Output &= $Bios_LangageEdit & $objItem.CurrentLanguage & @CRLF $Output &= $Fabr & $objItem.Manufacturer & @CRLF $Output &= $Bios_NumSerie & $objItem.SerialNumber & @CRLF _SMBIOSP() _BIOS_SoftwareElementState() $Output &= $Statut & $objItem.Status & @CRLF & @CRLF $Output &= $Bios_Caracteristique & @CRLF $Output &= "-------------------------" & @CRLF _BIOSCharacteristics() If $Object_Flag = 0 Then $Output &= $SortieWMIRF & $OutputTitle & @CRLF If $Output = "" Then $Output &= $SortieWMI_Bios & @CRLF If MsgBox(64, "", $Output) = 2 Then ExitLoop Next EndIf EndFunc ;==>_BIOS Func _SMBIOSP() _WinClassesBios() For $objItem In $colItems Local $SMBIOS = $objItem.SMBIOSPresent If $SMBIOS = 1 Then $Output &= $Bios_SMBIOSDispo & @CRLF $Output &= $SMBIOS_VSysMesure & $objItem.SMBIOSBIOSVersion & @CRLF Else $Output &= $SMBIOS_NDispo & $objItem.SMBIOSPresent & @CRLF EndIf Next EndFunc ;==>_SMBIOSP Func _BIOS_SoftwareElementState() _WinClassesBios() For $objItem In $colItems Local $SoftwareElementState = $objItem.SoftwareElementState Switch $SoftwareElementState Case 0 $Output &= $Bios_ELIDepl & @CRLF Case 1 $Output &= $Bios_ELIInst & @CRLF Case 2 $Output &= $Bios_ELIExectable & @CRLF Case 3 $Output &= $Bios_ELIExecution & @CRLF EndSwitch Next EndFunc ;==>_BIOS_SoftwareElementState Func _BIOSCharacteristics() _WinClassesBios() For $objItem In $colItems Local $strBiosCharacteristics = $objItem.BiosCharacteristics For $Bios_Cr In $strBiosCharacteristics Switch $Bios_Cr Case 0 $Output &= $OutputBios_0 & @CRLF Case 1 $Output &= $OutputBios_1 & @CRLF Case 2 $Output &= $OutputBios_2 & @CRLF Case 3 $Output &= $OutputBios_3 & @CRLF Case 4 $Output &= $OutputBios_4 & @CRLF Case 5 $Output &= $OutputBios_5 & @CRLF Case 6 $Output &= $OutputBios_6 & @CRLF Case 7 $Output &= $OutputBios_7 & @CRLF Case 8 $Output &= $OutputBios_8 & @CRLF Case 9 $Output &= $OutputBios_9 & @CRLF Case 10 $Output &= $OutputBios_10 & @CRLF Case 11 $Output &= $OutputBios_11 & @CRLF Case 12 $Output &= $OutputBios_12 & @CRLF Case 13 $Output &= $OutputBios_13 & @CRLF Case 14 $Output &= $OutputBios_14 & @CRLF Case 15 $Output &= $OutputBios_15 & @CRLF Case 16 $Output &= $OutputBios_16 & @CRLF Case 17 $Output &= $OutputBios_17 & @CRLF Case 18 $Output &= $OutputBios_18 & @CRLF Case 19 $Output &= $OutputBios_19 & @CRLF Case 20 $Output &= $OutputBios_20 & @CRLF Case 21 $Output &= $OutputBios_21 & @CRLF Case 22 $Output &= $OutputBios_22 & @CRLF Case 23 $Output &= $OutputBios_23 & @CRLF Case 24 $Output &= $OutputBios_24 & @CRLF Case 25 $Output &= $OutputBios_25 & @CRLF Case 26 $Output &= $OutputBios_26 & @CRLF Case 27 $Output &= $OutputBios_27 & @CRLF Case 28 $Output &= $OutputBios_28 & @CRLF Case 29 $Output &= $OutputBios_29 & @CRLF Case 30 $Output &= $OutputBios_30 & @CRLF Case 31 $Output &= $OutputBios_31 & @CRLF Case 32 $Output &= $OutputBios_32 & @CRLF Case 33 $Output &= $OutputBios_33 & @CRLF Case 34 $Output &= $OutputBios_34 & @CRLF Case 35 $Output &= $OutputBios_35 & @CRLF Case 36 $Output &= $OutputBios_36 & @CRLF Case 37 $Output &= $OutputBios_37 & @CRLF Case 38 $Output &= $OutputBios_38 & @CRLF Case 39 $Output &= $OutputBios_39 & @CRLF Case 40 To 47 $Output &= $OutputBios_40_47 & @CRLF Case 48 To 63 $Output &= $OutputBios_48_63 & @CRLF EndSwitch Next Next EndFunc ;==>_BIOSCharacteristics #cs ---------------------------------------------------------------------------- Win32_BaseBoard class _BaseBoard() Functions: _WinClassesBaseBoard() _BaseBoard() _HostingBoard() _HotSwappable() _Removable() _Replaceable() $$Output &= "Caption: " & $objItem.Caption & @CRLF $strConfigOptions = $objItem.ConfigOptions(0) "ConfigOptions: " & $strConfigOptions & @CRLF "CreationClassName: " & $objItem.CreationClassName & @CRLF "Depth: " & $objItem.Depth & @CRLF "Description: " & $objItem.Description & @CRLF "Height: " & $objItem.Height & @CRLF "HostingBoard: " & $objItem.HostingBoard & @CRLF "HotSwappable: " & $objItem.HotSwappable & @CRLF "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF "Manufacturer: " & $objItem.Manufacturer & @CRLF "Model: " & $objItem.Model & @CRLF "Name: " & $objItem.Name & @CRLF "OtherIdentifyingInfo: " & $objItem.OtherIdentifyingInfo & @CRLF "PartNumber: " & $objItem.PartNumber & @CRLF "PoweredOn: " & $objItem.PoweredOn & @CRLF "Product: " & $objItem.Product & @CRLF "Removable: " & $objItem.Removable & @CRLF "Replaceable: " & $objItem.Replaceable & @CRLF "RequirementsDescription: " & $objItem.RequirementsDescription & @CRLF "RequiresDaughterBoard: " & $objItem.RequiresDaughterBoard & @CRLF "SerialNumber: " & $objItem.SerialNumber & @CRLF "SKU: " & $objItem.SKU & @CRLF "SlotLayout: " & $objItem.SlotLayout & @CRLF "SpecialRequirements: " & $objItem.SpecialRequirements & @CRLF "Status: " & $objItem.Status & @CRLF "Tag: " & $objItem.Tag & @CRLF "Version: " & $objItem.Version & @CRLF "Weight: " & $objItem.Weight & @CRLF "Width: " & $objItem.Width & @CRLF #ce ---------------------------------------------------------------------------- ;~ _BaseBoard() Func _WinClassesBaseBoard() $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_BaseBoard", "WQL", 0x10 + 0x20) EndFunc ;==>_WinClassesBaseBoard Func _BaseBoard() _WinClassesBaseBoard() If IsObj($colItems) Then Local $Object_Flag = 0 For $objItem In $colItems $Object_Flag = 1 $Output &= $SWMI & "Win32_BaseBoard" & @CRLF $Output &= "------------------------------------------------" & @CRLF & @CRLF $Output &= $Produit & $objItem.Product & @CRLF $Output &= $Fabr & $objItem.Manufacturer & @CRLF $Output &= $Caption & $objItem.Caption & @CRLF Local $strConfigOptions = $objItem.ConfigOptions(0) $Output &= $ConfigOption & $strConfigOptions & @CRLF $Output &= $VersBoard & $objItem.Version & @CRLF $Output &= $Statut & $objItem.Status & @CRLF $Output &= "-----------------------------------------" & @CRLF _HostingBoard() _HotSwappable() $Output &= "-----------------------------------------" & @CRLF _Removable() _Replaceable() If $Object_Flag = 0 Then $Output &= $SortieWMIRF & $OutputTitle & @CRLF If $Output = "" Then $Output &= $SortieWMI_BaseBoard & @CRLF If MsgBox(64, "", $Output) = 2 Then ExitLoop Next EndIf EndFunc ;==>_BaseBoard Func _HostingBoard() _WinClassesBaseBoard() For $objItem In $colItems Local $HostingBoard = $objItem.HostingBoard If $HostingBoard = 1 Then $Output &= $HostingBoard_true & "(HostingBoard) : " & $objItem.HostingBoard & @CRLF Else $Output &= $HostingBoard_false & "(HostingBoard) : " & $objItem.HostingBoard & @CRLF EndIf Next EndFunc ;==>_HostingBoard Func _HotSwappable() _WinClassesBaseBoard() For $objItem In $colItems Local $HotSwappable = $objItem.HotSwappable If $HotSwappable = 1 Then $Output &= $HotSwappable_true & "(HotSwappable) : " & $objItem.HotSwappable & @CRLF Else $Output &= $HotSwappable_false & "(HotSwappable) : " & $objItem.HotSwappable & @CRLF EndIf Next EndFunc ;==>_HotSwappable Func _Removable() _WinClassesBaseBoard() For $objItem In $colItems Local $Removable = $objItem.Removable If $Removable = 1 Then $Output &= $Removable_true & "(Removable) : " & $objItem.Removable & @CRLF Else $Output &= $Removable_false & "(Removable) : " & $objItem.Removable & @CRLF EndIf Next EndFunc ;==>_Removable Func _Replaceable() _WinClassesBaseBoard() For $objItem In $colItems Local $Replaceable = $objItem.Replaceable If $Replaceable = 1 Then $Output &= $Replaceable_true & "(Replaceable) : " & $objItem.Replaceable & @CRLF Else $Output &= $Replaceable_false & "(Replaceable) : " & $objItem.Replaceable & @CRLF EndIf Next EndFunc ;==>_Replaceable #cs ---------------------------------------------------------------------------- Win32_Processor class Processor() Functions: _WinClassesProcessor() _Processor() _TypeProc() _VirtualProcess() _VMVirtualProcess() _StatuIfoProc() $Output &= "AddressWidth: " & $objItem.AddressWidth & @CRLF "Architecture: " & $objItem.Architecture & @CRLF "AssetTag: " & $objItem.AssetTag & @CRLF "Availability: " & $objItem.Availability & @CRLF "Caption: " & $objItem.Caption & @CRLF "Characteristics: " & $objItem.Characteristics & @CRLF "ConfigManagerErrorCode: " & $objItem.ConfigManagerErrorCode & @CRLF "ConfigManagerUserConfig: " & $objItem.ConfigManagerUserConfig & @CRLF "CpuStatus: " & $objItem.CpuStatus & @CRLF "CreationClassName: " & $objItem.CreationClassName & @CRLF "CurrentClockSpeed: " & $objItem.CurrentClockSpeed & @CRLF "CurrentVoltage: " & $objItem.CurrentVoltage & @CRLF "DataWidth: " & $objItem.DataWidth & @CRLF "Description: " & $objItem.Description & @CRLF "DeviceID: " & $objItem.DeviceID & @CRLF "ErrorCleared: " & $objItem.ErrorCleared & @CRLF "ErrorDescription: " & $objItem.ErrorDescription & @CRLF "ExtClock: " & $objItem.ExtClock & @CRLF "Family: " & $objItem.Family & @CRLF "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF "L2CacheSize: " & $objItem.L2CacheSize & @CRLF "L2CacheSpeed: " & $objItem.L2CacheSpeed & @CRLF "L3CacheSize: " & $objItem.L3CacheSize & @CRLF "L3CacheSpeed: " & $objItem.L3CacheSpeed & @CRLF "LastErrorCode: " & $objItem.LastErrorCode & @CRLF "Level: " & $objItem.Level & @CRLF "LoadPercentage: " & $objItem.LoadPercentage & @CRLF "Manufacturer: " & $objItem.Manufacturer & @CRLF "MaxClockSpeed: " & $objItem.MaxClockSpeed & @CRLF "Name: " & $objItem.Name & @CRLF "NumberOfCores: " & $objItem.NumberOfCores & @CRLF "NumberOfEnabledCore: " & $objItem.NumberOfEnabledCore & @CRLF "NumberOfLogicalProcessors: " & $objItem.NumberOfLogicalProcessors & @CRLF "OtherFamilyDescription: " & $objItem.OtherFamilyDescription & @CRLF "PartNumber: " & $objItem.PartNumber & @CRLF "PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF $strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0) "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF "ProcessorId: " & $objItem.ProcessorId & @CRLF "ProcessorType: " & $objItem.ProcessorType & @CRLF "Revision: " & $objItem.Revision & @CRLF "Role: " & $objItem.Role & @CRLF "SecondLevelAddressTranslationExtensions: " & $objItem.SecondLevelAddressTranslationExtensions & @CRLF "SerialNumber: " & $objItem.SerialNumber & @CRLF "SocketDesignation: " & $objItem.SocketDesignation & @CRLF "Status: " & $objItem.Status & @CRLF "StatusInfo: " & $objItem.StatusInfo & @CRLF "Stepping: " & $objItem.Stepping & @CRLF "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF "SystemName: " & $objItem.SystemName & @CRLF "ThreadCount: " & $objItem.ThreadCount & @CRLF "UniqueId: " & $objItem.UniqueId & @CRLF "UpgradeMethod: " & $objItem.UpgradeMethod & @CRLF "Version: " & $objItem.Version & @CRLF "VirtualizationFirmwareEnabled: " & $objItem.VirtualizationFirmwareEnabled & @CRLF "VMMonitorModeExtensions: " & $objItem.VMMonitorModeExtensions & @CRLF "VoltageCaps: " & $objItem.VoltageCaps & @CRLF #ce ---------------------------------------------------------------------------- ;~ _Processor() Func _WinClassesProcessor() $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", 0x10 + 0x20) EndFunc ;==>_WinClassesProcessor Func _Processor() _WinClassesProcessor() If IsObj($colItems) Then Local $Object_Flag = 0 For $objItem In $colItems $Object_Flag = 1 $Output &= $SWMI & "Win32_Processor" & @CRLF $Output &= "-----------------------------------------------" & @CRLF & @CRLF $Output &= $NamePorcess & $objItem.Name & @CRLF $Output &= "Description : " & $objItem.Description & @CRLF $Output &= $Fabr & $objItem.Manufacturer & @CRLF $Output &= "Role : " & $objItem.Role & @CRLF $Output &= "-----------------------------------------------" & @CRLF $Output &= $DWitch_Process & " X " & $objItem.DataWidth & @CRLF $Output &= $IDProcess & $objItem.ProcessorId & @CRLF _TypeProc() $Output &= "-----------------------------------------------" & @CRLF $Output &= $NbCoreProcess & $objItem.NumberOfCores & @CRLF If @OSVersion = "WIN_10" Then ; This property is not supported before Windows Server 2016 Technical Preview and Windows 10. $Output &= $NbCorePermis & $objItem.NumberOfEnabledCore & @CRLF Else $Output &= $NbCorePermis & "? OSVersion < Win 10" & @CRLF EndIf $Output &= $NbCoreLogique & $objItem.NumberOfLogicalProcessors & @CRLF $Output &= "-----------------------------------------------" & @CRLF _VirtualFirWareProc() _VMVirtualProcess() _StatuInfoProc() $Output &= $Statut & $objItem.Status & @CRLF If $Object_Flag = 0 Then $Output &= $SortieWMIRF & $OutputTitle & @CRLF If $Output = "" Then $Output &= $SortieWMI_Proc & @CRLF If MsgBox(64, "", $Output) = 2 Then ExitLoop Next EndIf EndFunc ;==>_Processor Func _TypeProc() _WinClassesProcessor() For $objItem In $colItems Local $ProcessorType = $objItem.ProcessorType Switch $ProcessorType Case 1 $Output &= $TypeProcess & $OutputProc_1 & @CRLF Case 2 $Output &= $TypeProcess & $OutputProc_2 & @CRLF Case 3 $Output &= $TypeProcess & $OutputProc_3 & @CRLF Case 4 $Output &= $TypeProcess & $OutputProc_4 & @CRLF Case 5 $Output &= $TypeProcess & $OutputProc_5 & @CRLF Case 6 $Output &= $TypeProcess & $OutputProc_6 & @CRLF EndSwitch Next EndFunc ;==>_TypeProc Func _VirtualFirWareProc() ; ;~ Windows Server 2008 R2, Windows 7, Windows Server 2008, and Windows Vista: This property is not supported before Windows 8 and Windows Server 2012. _WinClassesProcessor() For $objItem In $colItems Switch @OSVersion Case "WIN_10", "WIN_8.1", "WIN_8", "Win_2008", "WIN_2008R2" Local $VirtualizationFirmwareEnabled = $objItem.VirtualizationFirmwareEnabled If $VirtualizationFirmwareEnabled = True Then $Output &= $ProcVirtuel & @CRLF Else $Output &= $ProcVirtuelNot & @CRLF EndIf Case Else $Output &= $ProcVirtuelNot & @CRLF EndSwitch Next EndFunc ;==>_VirtualFirWareProc Func _VMVirtualProcess() ; Windows Server 2008 R2, Windows 7, Windows Server 2008, and Windows Vista: This property is not supported before Windows 8 and Windows Server 2012. _WinClassesProcessor() For $objItem In $colItems Switch @OSVersion Case "WIN_10", "WIN_8.1", "WIN_8", "Win_2008", "WIN_2008R2" Local $VMMonitorModeExtensions = $objItem.VMMonitorModeExtensions If $VMMonitorModeExtensions = 1 Then $Output &= $WMProcess & @CRLF & $WMProcessInfo & @CRLF Else $Output &= $WMProcess & @CRLF & $WMProcessInfo & @CRLF EndIf Case Else $Output &= $ProcVirtuelNot & @CRLF EndSwitch Next EndFunc ;==>_VMVirtualProcess Func _StatuInfoProc() _WinClassesProcessor() For $objItem In $colItems Local $StatusInfo = $objItem.StatusInfo Switch $StatusInfo Case 1 $Output &= $Autres & @CRLF Case 2 $Output &= $Inconnu & @CRLF Case 3 $Output &= $Enabled & @CRLF Case 4 $Output &= $Disabled & @CRLF Case 5 $Output &= $Sansobjet & @CRLF EndSwitch Next EndFunc ;==>_StatuInfoProc ;==>WinClassesBaseBoard #cs ---------------------------------------------------------------------------- Win32_PhysicalMemory class _PhysicalMemory() Functions : _PhysicalMemory() _GETDOSOUTPUT($COMMAND) "Access: " & $objItem.Access & @CRLF $strAdditionalErrorData = $objItem.AdditionalErrorData(0) "AdditionalErrorData: " & $strAdditionalErrorData & @CRLF "Availability: " & $objItem.Availability & @CRLF "BlockSize: " & $objItem.BlockSize & @CRLF "Caption: " & $objItem.Caption & @CRLF "ConfigManagerErrorCode: " & $objItem.ConfigManagerErrorCode & @CRLF "ConfigManagerUserConfig: " & $objItem.ConfigManagerUserConfig & @CRLF "CorrectableError: " & $objItem.CorrectableError & @CRLF "CreationClassName: " & $objItem.CreationClassName & @CRLF "Description: " & $objItem.Description & @CRLF "DeviceID: " & $objItem.DeviceID & @CRLF "EndingAddress: " & $objItem.EndingAddress & @CRLF "ErrorAccess: " & $objItem.ErrorAccess & @CRLF "ErrorAddress: " & $objItem.ErrorAddress & @CRLF "ErrorCleared: " & $objItem.ErrorCleared & @CRLF $strErrorData = $objItem.ErrorData(0) "ErrorData: " & $strErrorData & @CRLF "ErrorDataOrder: " & $objItem.ErrorDataOrder & @CRLF "ErrorDescription: " & $objItem.ErrorDescription & @CRLF "ErrorGranularity: " & $objItem.ErrorGranularity & @CRLF "ErrorInfo: " & $objItem.ErrorInfo & @CRLF "ErrorMethodology: " & $objItem.ErrorMethodology & @CRLF "ErrorResolution: " & $objItem.ErrorResolution & @CRLF "ErrorTime: " & WMIDateStringToDate($objItem.ErrorTime) & @CRLF "ErrorTransferSize: " & $objItem.ErrorTransferSize & @CRLF "Ins tallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF "Las tErrorCode: " & $objItem.LastErrorCode & @CRLF "Name: " & $objItem.Name & @CRLF "Num berOfBlocks: " & $objItem.NumberOfBlocks & @CRLF "OtherErrorDescription: " & $objItem.OtherErrorDescription & @CRLF "PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF $strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0) "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF "Purpose: " & $objItem.Purpose & @CRLF "StartingAddress: " & $objItem.StartingAddress & @CRLF "Status: " & $objItem.Status & @CRLF "StatusInfo: " & $objItem.StatusInfo & @CRLF "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF "SystemLevelAddress: " & $objItem.SystemLevelAddress & @CRLF "SystemName: " & $objItem.SystemName & @CRLF $Output &= "Access: " & $objItem.Access & @CRLF $strAdditionalErrorData = $objItem.AdditionalErrorData(0) #ce ---------------------------------------------------------------------------- ;~ _PhysicalMemory() ;~ Local $cmd = _GETDOSOUTPUT("wmic MEMORYCHIP get BankLabel,DeviceLocator,Capacity,Tag") ;~ Local $Mem = MemGetStats() ;~ Local $MemTot = Round(($Mem[1]) / 1024 ^ 2) ;~ Local $MemFree = Round(($Mem[2]) / 1024 ^ 2, 2) ;~ Local $MemUtil = $MemTot - $MemFree ;~ $Mem = $Capacity & $MemTot & " GO - " & $Free & $MemFree & " GO - " & $Used & $MemUtil & " GO" & @CRLF ;~ Local $Tilte = "--------------------------------------------------------" & @CRLF ;~ Local $Tilte1 = $SWMI & "Win32_PhysicalMemory" & @CRLF ;~ Local $Tilte2 = "--------------------------------------------------------" & @CRLF & @CRLF ;~ MsgBox(64, "", $Mem & $Tilte & $Tilte1 & $Tilte2 & $Output & $Tilte & " - CMD - " & @CRLF & $Tilte & @CRLF & $cmd) Func _PhysicalMemory() $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemory", "WQL", 0x10 + 0x20) If IsObj($colItems) Then Local $Object_Flag = 0 For $objItem In $colItems Local $FormFactor = $objItem.FormFactor Local $MemoryType = $objItem.MemoryType $Object_Flag = 1 $Output &= $Name & $objItem.Name & @CRLF $Output &= $Fabr & $objItem.Manufacturer & @CRLF $Output &= $Speed & $objItem.Speed & " MHz - Ref : " & $objItem.PartNumber & @CRLF Switch $FormFactor Case 0 $Output &= $Inconnu & " (0)" & @CRLF Case 1 $Output &= $Autre & " (1)" & @CRLF Case 2 $Output &= "SIP" & " (2)" & @CRLF Case 3 $Output &= "DIP" & " (3)" & @CRLF Case 4 $Output &= "ZIP" & " (4)" & @CRLF Case 5 $Output &= "SOJ" & " (5)" & @CRLF Case 6 $Output &= $Proprio & " (6)" & @CRLF Case 7 $Output &= "SIMM" & " (7)" & @CRLF Case 8 $Output &= "DIMM" & " (8)" & @CRLF Case 9 $Output &= "TSOP" & " (9)" & @CRLF Case 10 $Output &= "PGA" & " (10)" & @CRLF Case 11 $Output &= "RIMM" & " (11)" & @CRLF Case 12 $Output &= "SODIMM" & " (12)" & @CRLF Case 13 $Output &= "SRIMM" & " (13)" & @CRLF Case 14 $Output &= "SMD" & " (14)" & @CRLF Case 15 $Output &= "SSMP" & " (15)" & @CRLF Case 16 $Output &= "QFP" & " (16)" & @CRLF Case 17 $Output &= "TQFP" & " (17)" & @CRLF Case 18 $Output &= "SOIC" & " (18)" & @CRLF Case 19 $Output &= "LCC" & " (19)" & @CRLF Case 20 $Output &= "PLCC" & " (20)" & @CRLF Case 21 $Output &= "BGA" & " (21)" & @CRLF Case 22 $Output &= "FPBGA" & " (22)" & @CRLF Case 23 $Output &= "LGA" & " (23)" & @CRLF EndSwitch Switch $MemoryType Case 0 $Output &= $Inconnu & " (0)" & @CRLF Case 1 $Output &= $Autre & " (1)" & @CRLF Case 2 $Output &= "DRAM (2)" & @CRLF Case 3 $Output &= "Synchronous DRAM (3)" & @CRLF Case 4 $Output &= "Cache DRAM (4)" & @CRLF Case 5 $Output &= "EDO (5)" & @CRLF Case 6 $Output &= "EDRAM (6)" & @CRLF Case 7 $Output &= "VRAM (7)" & @CRLF Case 8 $Output &= "SRAM (8)" & @CRLF Case 9 $Output &= "RAM (9)" & @CRLF Case 10 $Output &= "ROM (10)" & @CRLF Case 11 $Output &= "Flash (11)" & @CRLF Case 12 $Output &= "EEPROM (12)" & @CRLF Case 13 $Output &= "FEPROM (13)" & @CRLF Case 14 $Output &= "EPROM (14)" & @CRLF Case 15 $Output &= "CDRAM (15)" & @CRLF Case 16 $Output &= "3DRAM (16)" & @CRLF Case 17 $Output &= "SDRAM (17)" & @CRLF Case 18 $Output &= "SGRAM (18)" & @CRLF Case 19 $Output &= "RDRAM (19)" & @CRLF Case 20 $Output &= "DDR (20)" & @CRLF Case 21 $Output &= "DDR2 (21)" & @CRLF Case 22 $Output &= "DDR2 FB-DIMM (22)" & @CRLF Case 24 $Output &= "DDR3 (24)" & @CRLF Case 25 $Output &= "FBD2 (25)" & @CRLF EndSwitch $Output &= $Capacity & $objItem.Capacity / 1024 ^ 2 & " mb" & @CRLF & @CRLF If $Object_Flag = 0 Then $Output &= $SortieWMIRF & $OutputTitle & @CRLF If $Output = "" Then $Output &= $SortieWMI_PhysicalMemory & @CRLF Next EndIf EndFunc ;==>_PhysicalMemory Func _GETDOSOUTPUT($COMMAND) Local $CH, $TMP Local $TEXT = "", $PID = Run('"' & @ComSpec & '" /c ' & $COMMAND, "", @SW_HIDE, 2 + 4) While 1 $TEXT &= StdoutRead($PID, False, False) If @error Then ExitLoop Sleep(10) WEnd $CH = StringSplit("‚,é;Š,è;ƒ,â;ˆ,ê;…,à;—,ù;‡,ç;ÿ, ;“,ô", ";") For $i = 1 To $CH[0] $TMP = StringSplit($CH[$i], ",") $TEXT = StringReplace($TEXT, $TMP[1], $TMP[2]) Next Return $TEXT EndFunc ;==>_GETDOSOUTPUT #cs ---------------------------------------------------------------------------- Win32_VideoController class _VideoController() Functions : _WinClassesVideoController() WMIDateStringToDate($dtmDate) _VideoController() _VideoArchitecture() _AcceleratorCapabilities() _Availability() _VideoMemoryType() _ConfigVideoUser() _ConfigManagerErrorCode() $strAcceleratorCapabilities = $objItem.AcceleratorCapabilities(0) "AcceleratorCapabilities: " & $strAcceleratorCapabilities & @CRLF "AdapterCompatibility: " & $objItem.AdapterCompatibility & @CRLF "AdapterDACType: " & $objItem.AdapterDACType & @CRLF "AdapterRAM: " & $objItem.AdapterRAM & @CRLF "Availability: " & $objItem.Availability & @CRLF $strCapabilityDescriptions = $objItem.CapabilityDescriptions(0) "CapabilityDescriptions: " & $strCapabilityDescriptions & @CRLF "Caption: " & $objItem.Caption & @CRLF "ColorTableEntries: " & $objItem.ColorTableEntries & @CRLF "ConfigManagerErrorCode: " & $objItem.ConfigManagerErrorCode & @CRLF "ConfigManagerUserConfig: " & $objItem.ConfigManagerUserConfig & @CRLF "CreationClassName: " & $objItem.CreationClassName & @CRLF "CurrentBitsPerPixel: " & $objItem.CurrentBitsPerPixel & @CRLF "CurrentHorizontalResolution: " & $objItem.CurrentHorizontalResolution & @CRLF "CurrentNumberOfColors: " & $objItem.CurrentNumberOfColors & @CRLF "CurrentNumberOfColumns: " & $objItem.CurrentNumberOfColumns & @CRLF "CurrentNumberOfRows: " & $objItem.CurrentNumberOfRows & @CRLF "CurrentRefreshRate: " & $objItem.CurrentRefreshRate & @CRLF "CurrentScanMode: " & $objItem.CurrentScanMode & @CRLF "CurrentVerticalResolution: " & $objItem.CurrentVerticalResolution & @CRLF "Description: " & $objItem.Description & @CRLF "DeviceID: " & $objItem.DeviceID & @CRLF "DeviceSpecificPens: " & $objItem.DeviceSpecificPens & @CRLF "DitherType: " & $objItem.DitherType & @CRLF "DriverDate: " & WMIDateStringToDate($objItem.DriverDate) & @CRLF "DriverVersion: " & $objItem.DriverVersion & @CRLF "ErrorCleared: " & $objItem.ErrorCleared & @CRLF "ErrorDescription: " & $objItem.ErrorDescription & @CRLF "ICMIntent: " & $objItem.ICMIntent & @CRLF "ICMMethod: " & $objItem.ICMMethod & @CRLF "InfFilename: " & $objItem.InfFilename & @CRLF "InfSection: " & $objItem.InfSection & @CRLF "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF "InstalledDisplayDrivers: " & $objItem.InstalledDisplayDrivers & @CRLF "LastErrorCode: " & $objItem.LastErrorCode & @CRLF "MaxMemorySupported: " & $objItem.MaxMemorySupported & @CRLF "MaxNumberControlled: " & $objItem.MaxNumberControlled & @CRLF "MaxRefreshRate: " & $objItem.MaxRefreshRate & @CRLF "MinRefreshRate: " & $objItem.MinRefreshRate & @CRLF "Monochrome: " & $objItem.Monochrome & @CRLF "Name: " & $objItem.Name & @CRLF "NumberOfColorPlanes: " & $objItem.NumberOfColorPlanes & @CRLF "NumberOfVideoPages: " & $objItem.NumberOfVideoPages & @CRLF "PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF $strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0) "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF "ProtocolSupported: " & $objItem.ProtocolSupported & @CRLF "ReservedSystemPaletteEntries: " & $objItem.ReservedSystemPaletteEntries & @CRLF "SpecificationVersion: " & $objItem.SpecificationVersion & @CRLF "Status: " & $objItem.Status & @CRLF "StatusInfo: " & $objItem.StatusInfo & @CRLF "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF "SystemName: " & $objItem.SystemName & @CRLF "SystemPaletteEntries: " & $objItem.SystemPaletteEntries & @CRLF "TimeOfLastReset: " & WMIDateStringToDate($objItem.TimeOfLastReset) & @CRLF "VideoArchitecture: " & $objItem.VideoArchitecture & @CRLF "VideoMemoryType: " & $objItem.VideoMemoryType & @CRLF "VideoMode: " & $objItem.VideoMode & @CRLF "VideoModeDescription: " & $objItem.VideoModeDescription & @CRLF "VideoProcessor: " & $objItem.VideoProcessor & @CRLF #ce ---------------------------------------------------------------------------- ;~ _VideoController() Func _WinClassesVideoController() $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_VideoController", "WQL", 0x10 + 0x20) EndFunc ;==>_WinClassesVideoController Func _VideoController() _WinClassesVideoController() If IsObj($colItems) Then Local $Object_Flag = 0 For $objItem In $colItems $Object_Flag = 1 $Output &= $SWMI & "Win32_VideoController" & @CRLF $Output &= "-----------------------------------------------" & @CRLF & @CRLF $Output &= $Name & $objItem.Name & @CRLF $Output &= "DAC : " & $objItem.AdapterDACType & @CRLF $Output &= "Description : " & $objItem.VideoModeDescription & @CRLF $Output &= $CurrentBitsPerPixel & $objItem.CurrentBitsPerPixel & " bits" & @CRLF $Output &= $MemVideo & $objItem.AdapterRAM / 1024 ^ 2 & " MO" & @CRLF $Output &= $DeviceID & $objItem.DeviceID & @CRLF _VideoArchitecture() _AcceleratorCapabilities() $Output &= $CurrentRefreshRate & $objItem.CurrentRefreshRate & " Hertz" & @CRLF $Output &= "-----------------------------------------------" & @CRLF & @CRLF $Output &= "Driver Date : " & WMIDateStringToDate($objItem.DriverDate) & @CRLF $Output &= "Driver Version : " & $objItem.DriverVersion & @CRLF $Output &= $DriverInstall & $objItem.InstalledDisplayDrivers & @CRLF $Output &= "-----------------------------------------------" & @CRLF & @CRLF _ConfigVideoUser() _VideoMemoryType() $Output &= "VideoMemoryType: " & $objItem.VideoMemoryType & @CRLF $Output &= $FileINF & $objItem.InfFilename & @CRLF $Output &= "Section : " & $objItem.InfSection & @CRLF $Output &= "-----------------------------------------------" & @CRLF & @CRLF _Availability() $Output &= "Status: " & $objItem.Status & @CRLF _ConfigManagerErrorCode() If $Object_Flag = 0 Then $Output &= $SortieWMIRF & $OutputTitle & @CRLF If $Output = "" Then $Output &= $SortieWMI_Video & @CRLF If MsgBox(64, "", $Output) = 2 Then ExitLoop Next EndIf EndFunc ;==>_VideoController Func WMIDateStringToDate($dtmDate) Return (StringMid($dtmDate, 5, 2) & "/" & _ StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _ & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate, 13, 2)) EndFunc ;==>WMIDateStringToDate Func _VideoArchitecture() _WinClassesVideoController() For $objItem In $colItems Local $VideoArchitecture = $objItem.VideoArchitecture Switch $VideoArchitecture Case 1 $Output &= $ArchVideo & $Inconnu & "(0)" & @CRLF Case 2 $Output &= $ArchVideo & $Autre & "(1)" & @CRLF Case 3 $Output &= $ArchVideo & "CGA (3)" & @CRLF Case 4 $Output &= $ArchVideo & "EGA (4)" & @CRLF Case 5 $Output &= $ArchVideo & "VGA (5)" & @CRLF Case 6 $Output &= $ArchVideo & "SVGA (6)" & @CRLF Case 7 $Output &= $ArchVideo & "MDA (7)" & @CRLF Case 8 $Output &= $ArchVideo & "HGC (8)" & @CRLF Case 9 $Output &= $ArchVideo & "MCGA (9)" & @CRLF Case 10 $Output &= $ArchVideo & "8514A (10)" & @CRLF Case 11 $Output &= $ArchVideo & "XGA (11)" & @CRLF Case 12 $Output &= $ArchVideo & "Linear Frame Buffer (12)" & @CRLF Case 160 $Output &= $ArchVideo & "PC-98 (160)" & @CRLF EndSwitch Next EndFunc ;==>_VideoArchitecture Func _AcceleratorCapabilities() _WinClassesVideoController() For $objItem In $colItems Local $strAcceleratorCapabilities = $objItem.AcceleratorCapabilities Switch $strAcceleratorCapabilities Case 0 $Output &= $ControlVideo & $Inconnu & "(0)" & @CRLF Case 1 $Output &= $ControlVideo & $Autre & "(1)" & @CRLF Case 2 $Output &= $ControlVideo & $AccelerateurGraph & "(2)" & @CRLF Case 3 $Output &= $ControlVideo & $Accelerateur3D & "(3)" & @CRLF EndSwitch Next EndFunc ;==>_AcceleratorCapabilities Func _Availability() _WinClassesVideoController() For $objItem In $colItems Local $Availability = $objItem.Availability Switch $Availability Case 1 $Output &= $DispoVideoControl & $Inconnu & "(1)" & @CRLF Case 2 $Output &= $DispoVideoControl & $Autre & "(2)" & @CRLF Case 3 $Output &= $DispoVideoControl & $Availability3 & @CRLF Case 4 $Output &= $DispoVideoControl & $Availability4 & @CRLF Case 5 $Output &= $DispoVideoControl & $Availability5 & @CRLF Case 6 $Output &= $DispoVideoControl & $Availability6 & @CRLF Case 7 $Output &= $DispoVideoControl & $Availability7 & @CRLF Case 8 $Output &= $DispoVideoControl & $Availability8 & @CRLF Case 9 $Output &= $DispoVideoControl & $Availability9 & @CRLF Case 10 $Output &= $DispoVideoControl & $Availability10 & @CRLF Case 11 $Output &= $DispoVideoControl & $Availability11 & @CRLF Case 12 $Output &= $DispoVideoControl & $Availability12 & @CRLF Case 13 $Output &= $DispoVideoControl & $Availability13 & @CRLF Case 14 $Output &= $DispoVideoControl & $Availability14 & @CRLF Case 15 $Output &= $DispoVideoControl & $Availability15 & @CRLF Case 16 $Output &= $DispoVideoControl & $Availability16 & @CRLF Case 17 $Output &= $DispoVideoControl & $Availability17 & @CRLF Case 18 $Output &= $DispoVideoControl & $Availability18 & @CRLF Case 19 $Output &= $DispoVideoControl & $Availability19 & @CRLF Case 20 $Output &= $DispoVideoControl & $Availability20 & @CRLF Case 21 $Output &= $DispoVideoControl & $Availability21 & @CRLF EndSwitch Next EndFunc ;==>_Availability Func _VideoMemoryType() _WinClassesVideoController() For $objItem In $colItems Local $VideoMemType = $objItem.VideoMemoryType Switch $VideoMemType Case 1 $Output &= $VideoMemoryType & $Autre & "(1)" & @CRLF Case 2 $Output &= $VideoMemoryType & $Inconnu & @CRLF Case 3 $Output &= $VideoMemoryType & "VRAM (3)" & @CRLF Case 4 $Output &= $VideoMemoryType & "DRAM (4)" & @CRLF Case 5 $Output &= $VideoMemoryType & "SRAM (5)" & @CRLF Case 6 $Output &= $VideoMemoryType & "WRAM (6)" & @CRLF Case 7 $Output &= $VideoMemoryType & "EDO RAM (7)" & @CRLF Case 8 $Output &= $VideoMemoryType & "Burst Synchronous DRAM (8)" & @CRLF Case 9 $Output &= $VideoMemoryType & "Pipelined Burst SRAM (9)" & @CRLF Case 10 $Output &= $VideoMemoryType & "CDRAM (10)" & @CRLF Case 11 $Output &= $VideoMemoryType & "3DRAM (11)" & @CRLF Case 12 $Output &= $VideoMemoryType & "SDRAM (12)" & @CRLF Case 13 $Output &= $VideoMemoryType & "SGRAM (13)" & @CRLF EndSwitch Next EndFunc ;==>_VideoMemoryType Func _ConfigVideoUser() _WinClassesVideoController() For $objItem In $colItems Local $ConfigManagerUserConfig = $objItem.ConfigManagerUserConfig If $ConfigManagerUserConfig = False Then $Output &= $ConfigUserVideo & $False & @CRLF Else $Output &= $ConfigUserVideo & $True & @CRLF EndIf Next EndFunc ;==>_ConfigVideoUser Func _ConfigManagerErrorCode() _WinClassesVideoController() For $objItem In $colItems Local $ErrorCode = $objItem.ConfigManagerErrorCode Switch $ErrorCode Case 0 $Output &= $CMECWIN32 & $CMEC0 Case 1 $Output &= $CMECWIN32 & $CMEC1 Case 2 $Output &= $CMECWIN32 & $CMEC2 Case 3 $Output &= $CMECWIN32 & $CMEC3 Case 4 $Output &= $CMECWIN32 & $CMEC4 Case 5 $Output &= $CMECWIN32 & $CMEC5 Case 6 $Output &= $CMECWIN32 & $CMEC6 Case 7 $Output &= $CMECWIN32 & $CMEC7 Case 8 $Output &= $CMECWIN32 & $CMEC8 Case 9 $Output &= $CMECWIN32 & $CMEC9 Case 10 $Output &= $CMECWIN32 & $CMEC10 Case 11 $Output &= $CMECWIN32 & $CMEC11 Case 12 $Output &= $CMECWIN32 & $CMEC12 Case 13 $Output &= $CMECWIN32 & $CMEC13 Case 14 $Output &= $CMECWIN32 & $CMEC14 Case 15 $Output &= $CMECWIN32 & $CMEC15 Case 16 $Output &= $CMECWIN32 & $CMEC16 Case 17 $Output &= $CMECWIN32 & $CMEC17 Case 18 $Output &= $CMECWIN32 & $CMEC18 Case 19 $Output &= $CMECWIN32 & $CMEC19 Case 20 $Output &= $CMECWIN32 & $CMEC20 Case 21 $Output &= $CMECWIN32 & $CMEC21 Case 22 $Output &= $CMECWIN32 & $CMEC22 Case 23 $Output &= $CMECWIN32 & $CMEC23 Case 24 $Output &= $CMECWIN32 & $CMEC24 Case 25 $Output &= $CMECWIN32 & $CMEC25 Case 26 $Output &= $CMECWIN32 & $CMEC26 Case 27 $Output &= $CMECWIN32 & $CMEC27 Case 28 $Output &= $CMECWIN32 & $CMEC28 Case 29 $Output &= $CMECWIN32 & $CMEC29 Case 30 $Output &= $CMECWIN32 & $CMEC30 Case 31 $Output &= $CMECWIN32 & $CMEC31 EndSwitch Next EndFunc ;==>_ConfigManagerErrorCode Thank for your opignon. Edited May 9, 2016 by Amesam
Moderators JLogan3o13 Posted May 9, 2016 Moderators Posted May 9, 2016 @Amesam What does this provide that Script-o-matic does not? In fact, at brief glance it appears the functions are almost word for word the same. "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum!
Amesam Posted May 9, 2016 Author Posted May 9, 2016 (edited) Thank you for the advice Yes use script-o-matic for the construction of the UDF What is missing is the détail for example the characteristics of Bios Script-o-matic on my PC (7) By doing so i search all values. https://msdn.microsoft.com/en-us/library/aa394077%28v=vs.85%29.aspx Example : So it is more comprehensive Is it a mistake ? Thank Edited May 9, 2016 by Amesam
Moderators JLogan3o13 Posted May 9, 2016 Moderators Posted May 9, 2016 Not a mistake, just thought it would help your post if you expand on what your script does that Script-o-matic does not. "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now