Home | Chi sono | Contattami
 

Progr. lineare

Delphi
 
Componenti
  Database
 
Miei articoli

Windows

Miei articoli 

 

Windows Management Instrumentation (WMI)


Un pò di documentazioni ed applicativi (con sorgenti) relativi a WMI; per una definizione generale di WMI la cosa migliore è far riferimento a Wikipedia

http://en.wikipedia.org/wiki/Windows_Management_Instrumentation

e poi naturalmente la pagina di riferimento sull'MSDN

http://msdn.microsoft.com/en-us/library/aa394582.aspx

Il modo migliore per conoscere WMI è esaminare i vari applicativi disponibili, soprattutto gli script del Microsoft Script Center. Il mio interesse per WMI si era sviluppato ormai 5 anni fà proprio grazie allo Scriptomatic :giunto alla versione 2, Scriptomatic è una HTML Application (HTA) che ora è assieme a diversi altri applicativi raccolti principalmente nella sezione Scripting Tools and Utilities; ad esempio

WMI Code Creator

The WMI Code Creator tool allows you to generate VBScript, C#, and VB .NET code that uses WMI to complete a management task such as querying for management data, executing a method from a WMI class, or receiving event notifications using WMI.

ADSI Scriptomatic

Need scripts that will help you manage Active Directory? Let this tool create your ADSI scripts for you.

Tweakomatic

This nifty utility writes WMI scripts that enable you to retrieve and configure Windows and Internet Explorer settings.

Log Parser 2.2

A powerful tool that provides universal query access to all sorts of things, such as text-based data files, the Windows Event Log, and the Windows registry, just to name a few.

HTA Helpomatic

Utility that helps you write HTML Applications (HTAs). It doesn’t actually write HTAs for you, but it does provide you with sample HTML code and some sample VBScript code that you can copy and paste into an HTA of your own.

   

E naturalmente non dimentichiamoci dello Scripting con PowerShell ed il seguente applicativo correlato

PowerShell Scriptomatic

Poi ci sono tonnellate di articoli e tools su tutto Microsoft Technet (navigare, navigare, ... anche perchè altrimenti dovrei ricopiare per intero il sito Microsoft).

Ora volevo andare più nel dettaglio sulle implementazioni Delphi di software che usano WMI.

C'è questo articolo in Francese piuttosto approfondito diviso in2 parti

http://laurent-dardenne.developpez.com/articles/wmi-p1/

http://laurent-dardenne.developpez.com/articles/wmi-p2/

poi quest'esempio

http://www.swissdelphicenter.ch/en/showcode.php?id=2135

Poi un demo semplice semplice

http://cc.codegear.com/Item/19255

di cui ho fatto anche un Local Mirror

Ed arriviamo ad esempi un pò più sostanziosi

Partiamo dall'esempio incluso in www.thedelphimagazine.com :  non è un esempio completo (sul modello di Scriptomatic tanto per intenderci), preleva solo le informazioni relative al processore ed ai dischi logici, ma può ugualmente servire come base. Ho importato la Type Library C:\Windows\System32\wbem\wbemdisp.tlb ed ho creato un package (ho incluso tutto nel download di seguito)

(fare semplicemente Add e cercare la C:\Windows\system32\wbem\wbemdisp.tlb)

wmi_TDM.7z

Poi c'è quest'altro esempio più sostanzioso su DelphiFrance

http://www.delphifr.com/codes/INFORMATIONS-SYSTEME-VIA-WMI_37706.aspx

di cui ho fatto anche un Local Mirror (richiede l'installazione di componenti implementati nella unit WMI_Infos.pas, ma comunque è tutto incluso, quindi no problem).

Salendo di livello poi arrivano i Magenta Systems WMI and SMART Component, anch'essi rigorosamente Freeware/OpenSource.

Poi anche quest'articolo: Getting Sysinfo with WMI

Sicuramente il pacchetto VCL più completo al riguardo è WmiSet (stranemente ultimamanete la homepage non funzia ...) che però è commerciale.

Infine un applicativo con sorgenti che può dirsi decisamente avanzato: è del 2001, richiede i componenti relativi alla Type Library "C:\Windows\system32\wbem\wbemdisp.tlb" e la unit di import della Type Library "C:\Windows\system32\activeds.tlb" : ho incluso tutto nel download di seguito

SWBEM.7z

Ho aggiornato la definizione degli eventi dei componenti ed alcune altre rifiniture, fattostà che compila e crea l'exe finale. L'applicativo consente di selezionare Namespaces e Classes: su certe selezioni a volte si impalla e ci mette un pò a caricarsi ma tutto sommato è un buon esempio di riferimento.

 

 

 
 
Your Ad Here