|
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.
|