Exponha os segredos do sistema WMI API com o VBA

Exponha os segredos do sistema WMI API com o VBA




A API WMIWindows Management Instrumentation ) expõe uma grande variedade de informações dos PCs, incluindo aqueles computadores e servidores que estão remotos. Expor tais técnicas pretende automatizar o WMI como um meio de automatizar as tarefas administrativas nos computadores remotos. Segue uma lista curta de coisas que o WMI pode fazer.
  • Inicia um processo em um computador remoto.
  • Agenda um processo para ser executado em horários específicos em dias específicos.
  • Reinicia um computador remotamente.
  • Consulta os logs de eventos do Windows em um computador local ou remoto.
  • Obtém uma lista de computadores locais ou remotos de:
    • Aplicações
    • Componentes de Hardware
    • Discos, Capacidades e Espaço Livre
    • Usuários locais e de domínio
    • Impressoras e Configurações de Impressora
    • Configurações de rede
Com o VBA, o Excel pode acessar o WMI e se tornar uma ferramenta poderosa para técnicos de PC, administradores de rede e auditores de sistema


Quer um vislumbre?
Segue uma pequena rotina que lista a configuração do adaptador de rede do seu PC. Carregue-o num módulo. Execute-o. Agora considere que olhar para o adaptador de rede WMI poderá fazer muito mais do que apenas isso (e isso sim, é assustador).


Sub WMI() 
Dim oWMISrvEx As Object 'SWbemServicesEx 
Dim oWMIObjSet As Object 'SWbemServicesObjectSet 
Dim oWMIObjEx As Object 'SWbemObjectEx 
Dim oWMIProp As Object 'SWbemProperty 
Dim sWQL As String 'WQL Statement 
Dim n As Long 'Generic Counter 
sWQL = "Select * From Win32_NetworkAdapterConfiguration" 
Set oWMISrvEx = GetObject("winmgmts:root/CIMV2") 
Set oWMIObjSet = oWMISrvEx.ExecQuery(sWQL) 
For Each oWMIObjEx In oWMIObjSet 
'Put a STOP here then View > Locals Window to see all properties 
If Not IsNull(oWMIObjEx.IPAddress) Then 
Debug.Print "IP:"; oWMIObjEx.IPAddress(0) 
Debug.Print "Host name:"; oWMIObjEx.DNSHostName 
For Each oWMIProp In oWMIObjEx.Properties_ 
If IsArray(oWMIProp.Value) Then 
For n = LBound(oWMIProp.Value) To UBound(oWMIProp.Value) 
Debug.Print oWMIProp.Name & "(" & n & ")", oWMIProp.Value(n) 
Next 
Else 
Debug.Print oWMIProp.Name, oWMIProp.Value 
End If 
Next 
End If 
Next 
End Sub

Quer ver mais?

Aqui está uma planilha que facilita a exploração de várias centenas de classes contendo informações sobre a CPU, unidades de disco, memória, sistema operacional, aplicativos, usuários e muito, muito mais. E pode consultar PCs e também servidores remotos, supondo que tenha as credenciais: WMI Query.xlsm.


Usos do WMI Query.xlsm
  • Inventário de todos os PCs em uma rede incluindo todo o hardware e software usado:
    • Win32_SystemEnclosure - Fabricante do PC e número de série
    • Win32_LogicalDisk - Discos com capacidades e espaço livre.
    • Win32_Processor - Especificações do CPU
    • Win32_PhysicalMemoryArray - RAM / tamanho da memória instalada
    • Win32_VideoController - Adaptador gráfico e configurações
    • Win32_OnBoardDevice - Dispositivos da placa -mãe
    • Win32_OperatingSystem - Qual versão do Windows com Número de Série
    • WIn32_Printer - Impressoras instaladas
    • Win32_Product - Software instalado
  • WIn32_Account - Listar todas as contas de usuário em um PC ou domínio
  • Win32_ComputerSystem - Veja quem está usando um PC remoto (também Win32_LoggedOnUser )
  • Win32_BaseService - Listar os serviços em execução (ou interrompidos ) em qualquer PC, juntamente com o caminho do serviço e o nome do arquivo.
  • E centenas de coisas mais!

Leia as referências abaixo para saber mais sobre o que esta API pode fazer.

Propriedades da classe WMI NetworkAdapterConfiguration http://msdn.microsoft.com/en-us/library/aa394217(v=vs.85).aspx

Exemplos de script:
Exemplos de Dan Elgaard: http://www.excelgaard.dk/Lib/USERINFO/
Exemplos de script WMI: http://msdn.microsoft.com/en-us/library/aa394585(v=vs.85).aspx



Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

Nenhum comentário:

Postar um comentário

diHITT - Notícias