WMI-arkitektur
WMI tillhandahåller ett enhetligt gränssnitt för alla lokala program eller fjärrprogram eller skript som hämtar hanteringsdata från ett datorsystem, ett nätverk eller ett företag. Det enhetliga gränssnittet är utformat så att WMI-klientprogram och skript inte behöver anropa en mängd olika API:er (operativsystemprogramprogram). Många API:er kan inte anropas av automationsklienter som skript eller Visual Basic-program. Andra API:er anropar inte fjärrdatorer.
Om du vill hämta data från WMI skriver du ett klientskript eller program som har åtkomst till WMI-klasser eller anger data till WMI genom att skriva en WMI-provider. Mer information finns i Using WMI.
Objekt, konsumenter och infrastruktur för WMI
Följande diagram visar relationen mellan WMI-infrastrukturen och WMI-leverantörerna och hanterade objekt, och det visar även relationen mellan WMI-infrastrukturen och WMI-konsumenterna.
WMI-komponenter
I följande lista beskrivs de viktigaste WMI-komponenterna:
Hanterade objekt och WMI-providers
En WMI-provider är ett COM-objekt som övervakar ett eller flera hanterade objekt för WMI. Ett hanterat objekt är en logisk eller fysisk företagskomponent, till exempel en hårddisk, nätverkskort, databassystem, operativsystem, process eller tjänst.
På samma sätt som en drivrutin tillhandahåller en provider WMI med data från ett hanterat objekt och hanterar meddelanden från WMI till det hanterade objektet. WMI-providers består av en DLL-fil och en MOF(Managed Object Format) fil som definierar de klasser som providern returnerar data för och utför åtgärder för. Leverantörer, till exempel WMI C++-program, använder COM API för WMI-. Mer information finns i Att tillhandahålla data till WMI.
Ett exempel på en provider är den förinstallerade registry provider, som kommer åt data i systemregistret. Registerprovidern har en WMI-klass, StdRegProv, med många metoder men inga egenskaper. Andra förinstallerade leverantörer, till exempel Win32-providern, har vanligtvis klasser med många egenskaper men få metoder, till exempel Win32_Process eller Win32_LogicalDisk. DLL-filen för registerprovidern, Stdprov.dll, innehåller den kod som dynamiskt returnerar data när de begärs av klientskript eller program.
WMI MOF- och DLL-filer finns i %WINDIR%\System32\Wbem, tillsammans med WMI Command-Line Tools, till exempel Winmgmt.exe och Mofcomp.exe. Providerklasser, till exempel Win32_LogicalDisk, definieras i MOF-filer och kompileras sedan till WMI-lagringsplatsen vid systemstart.
-
WMI-infrastrukturen är en Microsoft Windows-operativsystemkomponent som kallas WMI-tjänsten (winmgmt). WMI-infrastrukturen har två komponenter: WMI Core och den WMI-lagringsplatsen.
WMI-lagringsplatsen organiseras av WMI namnområden. WMI-tjänsten skapar vissa namnområden som root\default, root\cimv2 och root\subscription vid systemstart och förinstallerar en standarduppsättning med klassdefinitioner, inklusive Win32-klasser, WMI-systemklasseroch andra. De återstående namnrymderna som finns i systemet skapas av leverantörer för andra delar av operativsystemet eller produkterna. Mer information och en lista över WMI-leverantörer som finns i de flesta operativsystemversioner finns i WMI-providers.
WMI-tjänsten fungerar som mellanhand mellan leverantörer, hanteringsprogram och WMI-lagringsplatsen. Endast statiska data om objekt lagras på lagringsplatsen, till exempel de klasser som definieras av providers. WMI hämtar de flesta data dynamiskt från providern när en klient begär det. Du kan också konfigurera prenumerationer för att ta emot händelsemeddelanden från en leverantör. Mer information finns i Övervakningshändelser.
WMI-konsumenter
En WMI-konsument är ett hanteringsprogram eller skript som interagerar med WMI-infrastrukturen. Ett hanteringsprogram kan fråga, räkna upp data, köra providermetoder eller prenumerera på händelser genom att anropa antingen COM API för WMI eller Scripting API för WMI. De enda data eller åtgärder som är tillgängliga för ett hanterat objekt, till exempel en diskenhet eller en tjänst, är de som en leverantör tillhandahåller.
Relaterade ämnen