Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kort beskrivning
Windows Management Instrumentation (WMI) använder Common Information Model (CIM) för att representera system, program, nätverk, enheter och andra hanterbara komponenter i det moderna företaget.
Lång beskrivning
Windows Management Instrumentation (WMI) är Microsofts implementering av Web-Based Enterprise Management (WBEM), branschstandarden.
Klassisk WMI använder DCOM för att kommunicera med nätverksenheter för att hantera fjärrsystem. Windows PowerShell 3.0 introducerar en CIM-providermodell som använder WinRM för att ta bort beroendet av DCOM. Den här CIM-providermodellen använder också nya WMI-provider-API:er som gör det möjligt för utvecklare att skriva Windows PowerShell-cmdletar i inbyggd kod (C++).
Blanda inte ihop WMI-leverantörer med Windows PowerShell-leverantörer. Många Windows-funktioner har en associerad WMI-provider som exponerar deras hanteringsfunktioner. För att hämta WMI-providrar kör du en WMI-fråga som hämtar instanser av WMI-klassen __Provider , till exempel följande fråga.
Get-WmiObject -Class __Provider
Tre komponenter i WMI
Följande tre komponenter i WMI interagerar med Windows PowerShell: Namnområden, providers och klasser.
WMI-namnområden organiserar WMI-providers och WMI-klasser i grupper med relaterade komponenter. På så sätt liknar de .NET Framework-namnområden. Namnområden är inte fysiska platser, men liknar mer logiska databaser. Alla WMI-namnområden är instanser av systemklassen __Namespace. WMI-standardnamnområdet är root/CIMV2 (sedan Microsoft Windows 2000). Om du vill använda Windows PowerShell för att hämta WMI-namnområden i den aktuella sessionen använder du ett kommando med följande format.
Get-WmiObject -Class __Namespace
Om du vill hämta WMI-namnområden i andra namnområden använder du parametern Namnområde för att ändra sökplatsen. Följande kommando hittar WMI-namnområden som finns i rot/CIMV2/Applications namnområde.
Get-WmiObject -Class __Namespace -Namespace root/CIMV2/Applications
WMI-namnområden är hierarkiska. Därför måste du utföra en rekursiv fråga som börjar på rotnamnområdet för att hämta en lista över alla namnområden i ett visst system.
WMI-leverantörer exponerar information om hanterbara Windows-objekt. En provider hämtar data från en komponent och skickar dessa data via WMI till ett hanteringsprogram, till exempel Windows PowerShell. De flesta WMI-leverantörer är dynamiska leverantörer, vilket innebär att de hämtar data dynamiskt när de begärs via hanteringsprogrammet.
Hitta WMI-klasser
I en standardinstallation av Windows 8 finns det fler än 1 100 WMI-klasser i root/CIMV2-. Med så här många WMI-klasser blir utmaningen att identifiera lämplig WMI-klass som ska användas för att utföra en specifik uppgift. Windows PowerShell 3.0 innehåller två sätt att hitta WMI-klasser som är relaterade till ett specifikt ämne.
Om du till exempel vill hitta WMI-klasser i root/CIMV2 WMI-namnrymd som är relaterade till diskar kan du använda en fråga som den som visas här.
Get-WmiObject -List *Disk*
Om du vill hitta WMI-klasser som är relaterade till minne kan du använda en fråga som den som visas här.
Get-WmiObject -List *Memory*
CIM-cmdletarna ger också möjlighet att identifiera WMI-klasser. Det gör du genom att använda cmdleten Get-CimClass . Kommandot som visas här visar WMI-klasser relaterade till video.
Get-CimClass *Video*
Flikexpansion fungerar när WMI-namnrymder ändras, och därför kan du enkelt identifiera under-WMI-namnområden med hjälp av flikexpansion. I följande exempel visar cmdleten Get-CimClass WMI-klasser relaterade till energisparinställningar.
Om du vill hitta den skriver du root/CIMV2 namnrymd och trycker sedan på tabbtangenten flera gånger tills ström namnområde visas. Här är kommandot:
Get-CimClass *Power* -Namespace root/CIMV2/power