WMI é a abreviatura de Windows Management Instrumentation em inglês. Suas principais funções são: acessar algumas informações e serviços do host local, podendo gerenciar computadores remotos (claro que você deve ter permissões suficientes), como: reiniciar, desligar, fechar. processos, crie processos, aguarde.
Claro que este artigo é aplicável ao vbscript
Informações oficiais da Microsoft:
Os exemplos são os seguintes:
Para usar o WMI, projete primeiro - consulte a Biblioteca Microsoft WMI Scripting V1.1
Obtenha informações da placa gráfica/placa de som/memória/sistema operacional
Informações da placa de som
Private Sub wmiSoundDeviceInfo() Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectSet wmiObjSet = GetObject (winmgmts:{impersonationLevel=impersonate}). SubInformações da placa gráfica
Private Sub wmiVideoControllerInfo()Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectSet wmiObjSet = GetObject (winmgmts:{impersonationLevel=impersonate}). obj.VideoProcessorNextEnd Subinformações de memória
Private Sub wmiPhysicalMemoryInfo() Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectSet wmiObjSet = GetObject (winmgmts:{impersonationLevel=impersonate}). & objItem.BankLabelDebug.Print Capacidade: & objItem.CapacityDebug.Print Legenda: & objItem.CaptionDebug.Print CreationClassName: & objItem.CreationClassNameDebug.Print DataWidth: & objItem.DataWidthDebug.Print Descrição: & 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 Fabricante: & objItem.ManufacturerDebug.Print MemoryType: & objItem.MemoryTypeDebug.Print Modelo: & objItem.ModelDebug.Print Nome: & objItem.nameDebug.Print OtherIdentifyingInfo: & objItem.OtherIdentifyingInfoDebug.Print PartNumber: & objItem.PartNumberDebug.Print PositionInRow: & objItem.PositionInRowDebug.Print PoweredOn: & objItem.PoweredOnDebug.Print Removível: & objItem.RemovableDebug.Print Substituível: & objItem.ReplaceableDebug.Print SerialNumber: & objItem.SerialNumberDebug.Print SKU: & objItem.SKUDebug.Print Velocidade: & objItem.SpeedDebug.Print Status: & objItem.StatusDebug.Print Tag: & objItem.TagDebug.Print TotalWidth: & objItem.TotalWidthDebug.Print TypeDetail: & objItem.TypeDetailDebug.Print Versão: & objItem. VersãoNextEnd SubInformações do sistema operacional
Private Sub Command1_Click()Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectDim msg As StringDim dtb As StringDim d As StringDim t As StringDim bias As LongOn Erro local Retomar NextSet wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate}).InstancesOf(Win32_OperatingSystem)For Each obj In wmiObjSetMsgBox O sistema que você está usando atualmente é & obj.CaptionNextEnd Subilustrar:
Você pode encontrar uma regra. Na verdade, o WMI usa o nome da biblioteca WIN32_class para extrair informações. A tabela a seguir descreve várias classes de hardware do sistema operacional da Microsoft.
Informações sobre outras classes gerenciadas pelo WMI estão em
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/accessing_hardware_and_software_through_wmi.asp
Você pode encontrá-lo, que também contém alguns exemplos de código.
Tabela de classe Win_32 simples
Aulas Win32
As classes do Microsoft® Windows® fornecem meios para manipular uma variedade de objetos. A tabela a seguir identifica as categorias de classes do Windows.
Descrição da categoria
Hardware de sistema de computador Classes que representam objetos relacionados a hardware.
Sistema operacional Classes que representam objetos relacionados ao sistema operacional.
Aplicativos instalados Classes que representam objetos relacionados a software.
Gerenciamento de serviços WMI Classes usadas para gerenciar WMI.
Contadores de desempenho Classes que representam dados de desempenho formatados e brutos.
Hardware
Aulas de hardware de sistema de computador
A subcategoria Dispositivos de resfriamento agrupa classes que representam ventiladores instrumentáveis, sondas de temperatura e dispositivos de refrigeração.
Descrição da aula
Win32_Fan Representa as propriedades de um dispositivo de ventilador no sistema do computador.
Win32_HeatPipe Representa as propriedades de um dispositivo de resfriamento de tubo de calor.
Win32_Refrigeration Representa as propriedades de um dispositivo de refrigeração.
Win32_TemperatureProbe Representa as propriedades de um sensor de temperatura (termômetro eletrônico).
Classes de dispositivos de entrada
A subcategoria Dispositivos de entrada agrupa classes que representam teclados e dispositivos apontadores.
Descrição da aula
Win32_Keyboard Representa um teclado instalado em um sistema Windows.
Win32_PointingDevice Representa um dispositivo de entrada usado para apontar e selecionar regiões na exibição de um sistema de computador Windows.
Classes de armazenamento em massa
As classes na subcategoria Armazenamento em Massa representam dispositivos de armazenamento como unidades de disco rígido, unidades de CD-ROM e unidades de fita.
Descrição da aula
Win32_AutochkSetting Representa as configurações para a operação de verificação automática de um disco.
Win32_CDROMDrive Representa uma unidade de CD-ROM em um sistema de computador Windows.
Win32_DiskDrive Representa uma unidade de disco físico vista por um computador executando o sistema operacional Windows.
Win32_FloppyDrive Gerencia os recursos de uma unidade de disquete.
Win32_PhysicalMedia Representa qualquer tipo de documentação ou meio de armazenamento.
Win32_TapeDrive Representa uma unidade de fita em um computador Windows.
Classes de placa-mãe, controlador e porta
A subcategoria Placa-mãe, Controladores e Portas agrupa classes que representam dispositivos do sistema. Os exemplos incluem memória do sistema, memória cache e controladores.
Descrição da aula
Win32_1394Controller Representa os recursos e o gerenciamento de um controlador 1394.
Win32_1394ControllerDevice Relaciona o controlador de barramento serial de alta velocidade (IEEE 1394 Firewire) e a instância CIM_LogicalDevice conectada a ele.
Win32_AllocatedResource Relaciona um dispositivo lógico a um recurso do sistema.
Win32_AssociatedProcessorMemory Relaciona um processador e sua memória cache.
Win32_BaseBoard Representa uma placa de base (também conhecida como placa-mãe ou placa de sistema).
Win32_BIOS Representa os atributos dos serviços básicos de entrada/saída (BIOS) do sistema do computador instalados no computador.
Win32_Bus Representa um barramento físico visto por um sistema operacional Windows.
Win32_CacheMemory Representa a memória cache (interna e externa) em um sistema de computador.
Win32_ControllerHasHub Representa os hubs downstream do controlador USB (barramento serial universal).
Win32_DeviceBus Relaciona um barramento de sistema e um dispositivo lógico usando o barramento.
Win32_DeviceMemoryAddress Representa um endereço de memória de dispositivo em um sistema Windows.
Win32_DeviceSettings Relaciona um dispositivo lógico e uma configuração que pode ser aplicada a ele.
Win32_DMAChannel Representa um canal DMA (acesso direto à memória) em um sistema de computador Windows.
Win32_FloppyController Representa os recursos e a capacidade de gerenciamento de um controlador de unidade de disquete.
Win32_IDEController Representa os recursos de um dispositivo controlador IDE (Integrated Drive Electronics).
Win32_IDEControllerDevice Classe de associação que relaciona um controlador IDE e o dispositivo lógico.
Win32_InfraredDevice Representa os recursos e o gerenciamento de um dispositivo infravermelho.
Win32_IRQResource Representa um número de IRQ (linha de solicitação de interrupção) em um sistema de computador Windows.
Win32_MemoryArray Representa as propriedades da matriz de memória do sistema do computador e dos endereços mapeados.
Win32_MemoryArrayLocation Relaciona uma matriz de memória lógica e a matriz de memória física na qual ela existe.
Win32_MemoryDevice Representa as propriedades do dispositivo de memória de um sistema de computador junto com seus endereços mapeados associados.
Win32_MemoryDeviceArray Relaciona um dispositivo de memória e a matriz de memória na qual ele reside.
Win32_MemoryDeviceLocation Classe de associação que relaciona um dispositivo de memória e a memória física na qual ele existe.
Win32_MotherboardDevice Representa um dispositivo que contém os componentes centrais do sistema de computador Windows.
Win32_OnBoardDevice Representa dispositivos adaptadores comuns integrados à placa-mãe (placa de sistema).
Win32_ParallelPort Representa as propriedades de uma porta paralela em um sistema de computador Windows.
Win32_PCMCIAController Gerencia os recursos de um dispositivo controlador PCMCIA (Personal Computer Memory Card Interface Adapter).
Win32_PhysicalMemory Representa um dispositivo de memória física localizado em um computador disponível para o sistema operacional.
Win32_PhysicalMemoryArray Representa detalhes sobre a memória física do sistema do computador.
Win32_PhysicalMemoryLocation Relaciona uma matriz de memória física e sua memória física.
Win32_PNPAllocatedResource Representa uma associação entre dispositivos lógicos e recursos do sistema.
Win32_PNPDevice Relaciona um dispositivo (conhecido pelo Configuration Manager como PNPEntity) e a função que ele executa.
Win32_PNPEntity Representa as propriedades de um dispositivo Plug and Play.
Win32_PortConnector Representa portas de conexão física, como DB-25 pinos macho, Centronics e PS/2.
Win32_PortResource Representa uma porta de E/S em um sistema de computador Windows.
Win32_Processor Representa um dispositivo capaz de interpretar uma sequência de instruções de máquina em um sistema de computador Windows.
Win32_SCSIController Representa um controlador SCSI (interface de sistema de computador pequeno) em um sistema Windows.
Win32_SCSIControllerDevice Relaciona um controlador SCSI e o dispositivo lógico (unidade de disco) conectado a ele.
Win32_SerialPort Representa uma porta serial em um sistema Windows.
Win32_SerialPortConfiguration Representa as configurações para transmissão de dados em uma porta serial do Windows.
Win32_SerialPortSetting Relaciona uma porta serial e suas definições de configuração.
Win32_SMBIOSMemory Representa os recursos e o gerenciamento de dispositivos lógicos relacionados à memória.
Win32_SoundDevice Representa as propriedades de um dispositivo de som em um sistema de computador Windows.
Win32_SystemBIOS Relaciona um sistema de computador (incluindo dados como propriedades de inicialização, fusos horários, configurações de inicialização ou senhas administrativas) e um BIOS de sistema (serviços, idiomas, propriedades de gerenciamento de sistema).
Win32_SystemDriverPNPEntity Relaciona um dispositivo Plug and Play no sistema de computador Windows e o driver que oferece suporte ao dispositivo Plug and Play.
Win32_SystemEnclosure Representa as propriedades associadas a um gabinete de sistema físico.
Win32_SystemMemoryResource Representa um recurso de memória do sistema em um sistema Windows.
Win32_SystemSlot Representa pontos de conexão física, incluindo portas, slots de placa-mãe e periféricos, além de pontos de conexão proprietários.
Win32_USBController Gerencia os recursos de um controlador de barramento serial universal (USB).
Win32_USBControllerDevice Relaciona um controlador USB e as instâncias CIM_LogicalDevice conectadas a ele.
Win32_USBHub Representa as características de gerenciamento de um hub USB.
Classes de dispositivos de rede
A subcategoria Dispositivos de rede agrupa classes que representam o controlador de interface de rede, suas configurações e suas configurações.
Descrição da aula
Win32_NetworkAdapter Representa um adaptador de rede em um sistema Windows.
Win32_NetworkAdapterConfiguration Representa os atributos e comportamentos de um adaptador de rede. Não há garantia de suporte da classe após a ratificação da especificação de rede CIM da Força-Tarefa de Gerenciamento Distribuído (DMTF).
Win32_NetworkAdapterSetting Relaciona um adaptador de rede e suas definições de configuração.
Aulas de poder
A subcategoria Power agrupa classes que representam fontes de alimentação, baterias e eventos relacionados a esses dispositivos.
Descrição da aula
Win32_AssociatedBattery Relaciona um dispositivo lógico e a bateria que ele está usando.
Win32_Battery Representa uma bateria conectada ao sistema do computador.
Win32_CurrentProbe Representa as propriedades de um sensor de monitoramento de corrente (amperímetro).
Win32_PortableBattery Representa as propriedades de uma bateria portátil, como aquela usada em um notebook.
Win32_PowerManagementEvent Representa eventos de gerenciamento de energia resultantes de alterações no estado de energia.
Win32_UninterruptiblePowerSupply Representa os recursos e a capacidade de gerenciamento de uma fonte de alimentação ininterrupta (UPS).
Win32_VoltageProbe Representa as propriedades de um sensor de tensão (voltímetro eletrônico).
Aulas de impressão
A subcategoria Impressão agrupa classes que representam impressoras, configurações de impressoras e trabalhos de impressão.
Descrição da aula
Win32_DriverForDevice Relaciona uma impressora a um driver de impressora.
Win32_Printer Representa um dispositivo conectado a um sistema de computador Windows que é capaz de reproduzir uma imagem visual em uma mídia.
Win32_PrinterConfiguration Define a configuração de um dispositivo de impressora.
Win32_PrinterController Relaciona uma impressora e o dispositivo local ao qual a impressora está conectada.
Win32_PrinterDriver Representa os drivers para uma instância Win32_Printer.
Win32_PrinterDriverDll Relaciona uma impressora local e seu arquivo de driver (não o driver em si).
Win32_PrinterSetting Relaciona uma impressora e suas definições de configuração.
Win32_PrintJob Representa um trabalho de impressão gerado por um aplicativo do Windows.
Win32_TCPIPPrinterPort Representa um ponto de acesso de serviço TCP/IP.
Aulas de telefonia
A subcategoria Telefonia agrupa classes que representam dispositivos de modem telefônico simples e antigos e suas conexões seriais associadas.
Descrição da aula
Win32_POTSModem Representa os serviços e as características de um modem POTS (Plain Old Telephone Service) em um sistema Windows.
Win32_POTSModemToSerialPort Relaciona um modem e a porta serial que o modem usa.
Aulas de Vídeo e Monitoramento
A subcategoria Vídeo e Monitores agrupa classes que representam monitores, placas de vídeo e suas configurações associadas.
Descrição da aula
Win32_DesktopMonitor Representa o tipo de monitor ou dispositivo de exibição conectado ao sistema do computador.
Win32_DisplayConfiguration Representa informações de configuração para o dispositivo de exibição em um sistema Windows. Esta classe é obsoleta. No lugar desta classe, use as propriedades nas classes Win32_VideoController, Win32_DesktopMonitor e CIM_VideoControllerResolution.
Win32_DisplayControllerConfiguration Representa as informações de configuração do adaptador de vídeo de um sistema Windows. Esta classe é obsoleta. No lugar desta classe, use as propriedades nas classes Win32_VideoController, Win32_DesktopMonitor e CIM_VideoControllerResolution.
Win32_VideoConfiguration Esta classe foi eliminada do Windows XP e tentativas posteriores de usá-la gerarão um erro fatal. No lugar desta classe, use as propriedades contidas nas classes Win32_VideoController, Win32_DesktopMonitor e CIM_VideoControllerResolution.
Win32_VideoController Representa os recursos e a capacidade de gerenciamento do controlador de vídeo em um sistema de computador Windows.
Win32_VideoSettings Relaciona um controlador de vídeo e configurações de vídeo que podem ser aplicadas a ele.
Cada classe possui uma estrutura de dados correspondente, como
placa gráfica
classe Win32_VideoController: CIM_PCVideoController
{
uint16 AcceleratorCapabilities[];
string AdapterCompatibilidade;
stringAdapterDACType;
Adaptador uint32RAM;
Disponibilidade uint16;
string CapabilityDescriptions[];
string Legenda;
uint32 ColorTableEntries;
uint32ConfigManagerErrorCode;
booleano ConfigManagerUserConfig;
string CreationClassName;
uint32 CurrentBitsPerPixel;
uint32 CurrentHorizontalResolution;
uint64 CurrentNumberOfColors;
uint32 CurrentNumberOfColumns;
uint32 CurrentNumberOfRows;
uint32 CurrentRefreshRate;
uint16 CurrentScanMode;
uint32 CurrentVerticalResolution;
string Descrição;
string ID do dispositivo;
uint32 DeviceSpecificPens;
uint32 DitherType;
datahoraDriverData;
string VersãodoDriver;
booleano ErrorCleared;
string Descrição do erro;
uint32 ICMIntent;
método uint32 ICM;
string InfFilename;
stringInfSection;
data e horaInstallDate;
string InstalledDisplayDrivers;
uint32 ÚltimoErrorCode;
uint32 MaxMemorySupportado;
uint32 MaxNumberControlled;
uint32 MaxRefreshRate;
uint32 MinRefreshRate;
booleano Monocromático;
string Nome;
uint16 NumberOfColorPlanes;
uint32 NumberOfVideoPages;
string PNPDeviceID;
uint16 PowerManagementCapabilities[];
booleano PowerManagementSupported;
Protocolo uint16 suportado;
uint32 ReservedSystemPaletteEntries;
Versão de especificação uint32;
string Status;
uint16 Informações de status;
string SystemCreationClassName;
string NomeDoSistema;
uint32 SystemPaletteEntries;
data e hora TimeOfLastReset;
uint16 Arquitetura de Vídeo;
uint16 VideoMemoryType;
uint16 Modo de Vídeo;
string VideoModeDescription;
string VideoProcessor;
};
Placa de som, etc.
classe Win32_SoundDevice: CIM_LogicalDevice
{
Disponibilidade uint16;
string Legenda;
uint32ConfigManagerErrorCode;
booleano ConfigManagerUserConfig;
string CreationClassName;
string Descrição;
string ID do dispositivo;
uint16 DMABufferSize;
booleano ErrorCleared;
string Descrição do erro;
data e horaInstallDate;
uint32 ÚltimoErrorCode;
fabricante de cordas;
uint32 MPU401Endereço;
string Nome;
string PNPDeviceID;
uint16 PowerManagementCapabilities[];
booleano PowerManagementSupported;
string NomeDoProduto;
string Status;
uint16 Informações de status;
string SystemCreationClassName;
string NomeDoSistema;
};
classe Win32_PrintJob: CIM_Job
{
string Legenda;
string TipoDeDados;
string Descrição;
string Documento;
string NomeDoDriver;
data e hora Tempo Decorrido;
string HostPrintQueue;
data e horaInstallDate;
uint32 JobId;
string Status do Trabalho;
string Nome;
string Notificar;
string Proprietário;
uint32 páginas impressas;
string Parâmetros;
string PrintProcessor;
Prioridade uint32;
Tamanho uint32;
data e hora StartTime;
string Status;
máscara de status uint32;
data e hora TimeSubmited;
uint32 TotalPages;
data e hora AtéHora;
};
como
Defina wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate} _).
InstancesOf(Win32_PrintJob)
Você pode obter informações como imprimir listas de tarefas
Para VB, a API é usada principalmente para obter informações de hardware e software do sistema. Agora podemos usar o WMI para atingir rapidamente nossos objetivos. Por exemplo, obter informações de driver/placa gráfica/compartilhadas, etc.