Get-CimInstance
Hämtar CIM-instanserna av en klass från en CIM-server.
Syntax
Get-CimInstance
[-ClassName] <String>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
-ResourceUri <Uri>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ClassName] <String>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
-ResourceUri <Uri>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Description
Cmdleten Get-CimInstance
hämtar CIM-instanserna av en klass från en CIM-server. Du kan ange antingen klassnamnet eller en fråga för den här cmdleten. Den här cmdleten returnerar ett eller flera CIM-instansobjekt som representerar en ögonblicksbild av CIM-instanserna som finns på CIM-servern.
Om parametern InputObject inte har angetts fungerar cmdleten på något av följande sätt:
- Om varken parametern ComputerName eller CimSession-parametern har angetts fungerar den här cmdleten på den lokala Windows Management Instrumentation (WMI) med hjälp av en COM-session (Component Object Model).
- Om parametern ComputerName eller CimSession har angetts fungerar den här cmdleten mot CIM-servern som anges av parametern ComputerName eller parametern CimSession .
Om parametern InputObject anges fungerar cmdleten på något av följande sätt:
- Om varken parametern ComputerName eller CimSession-parametern har angetts använder den här cmdleten CIM-sessionen eller datornamnet från indataobjektet.
- Om parametern ComputerName eller parametern CimSession har angetts använder den här cmdleten antingen parametervärdet CimSession eller parametervärdet ComputerName .
Exempel
Exempel 1: Hämta CIM-instanserna av en angiven klass
Det här exemplet hämtar CIM-instanserna av en klass med namnet Win32_Process.
Get-CimInstance -ClassName Win32_Process
Exempel 2: Hämta en lista över namnområden från en WMI-server
Det här exemplet hämtar en lista över namnområden under rotnamnområdet på en WMI-server.
Get-CimInstance -Namespace root -ClassName __Namespace
Exempel 3: Hämta instanser av en klass som filtrerats med hjälp av en fråga
Det här exemplet hämtar alla CIM-instanser som börjar med bokstaven P för en klass med namnet Win32_Process med hjälp av frågan som anges av en frågeparameter .
Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"
Exempel 4: Hämta instanser av en klass som filtreras med hjälp av ett klassnamn och ett filteruttryck
Det här exemplet hämtar alla CIM-instanser som börjar med bokstaven P för en klass med namnet Win32_Process med hjälp av parametern Filter.
Get-CimInstance -ClassName Win32_Process -Filter "Name like 'P%'"
Exempel 5: Hämta CIM-instanserna med endast nyckelegenskaper ifyllda
Det här exemplet skapar en ny CIM-instans i minnet för en klass med namnet Win32_Process med nyckelegenskapen @{ "Handle"=0 }
och lagrar den i en variabel med namnet $x
. Variabeln skickas som en CIM-instans till cmdleten Get-CimInstance
för att hämta en viss instans.
$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly
Get-CimInstance -CimInstance $x
Exempel 6: Hämta CIM-instanser och återanvänd dem
Det här exemplet hämtar CIM-instanserna av en klass med namnet Win32_Process och lagrar dem i variablerna $x
och $y
. Variabeln $x
formateras sedan i en tabell som endast innehåller egenskaperna Name och KernelModeTime , tabellen som är inställd på AutoSize.
$x,$y = Get-CimInstance -ClassName Win32_Process
$x | Format-Table -Property Name,KernelModeTime -AutoSize
Name KernelModeTime
---- --------------
System Idle Process 157238797968750
Exempel 7: Hämta CIM-instanser från fjärrdatorn
Det här exemplet hämtar CIM-instanserna av en klass med namnet Win32_ComputerSystem från fjärrdatorerna med namnet Server01 och Server02.
Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02
Exempel 8: Hämta endast nyckelegenskaperna i stället för alla egenskaper
Det här exemplet hämtar endast nyckelegenskaperna, vilket minskar storleken på objektet och nätverkstrafiken.
$x = Get-CimInstance -Class Win32_Process -KeyOnly
$x | Invoke-CimMethod -MethodName GetOwner
Exempel 9: Hämta endast en delmängd av egenskaper i stället för alla egenskaper
Det här exemplet hämtar endast en delmängd av egenskaper, vilket minskar storleken på objektet och nätverkstrafiken.
Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x | Invoke-CimMethod -MethodName GetOwner
Den instans som hämtas med parametern Egenskap kan användas för att utföra andra CIM-åtgärder, till exempel Set-CimInstance
eller Invoke-CimMethod
.
Exempel 10: Hämta CIM-instansen med CIM-sessionen
Det här exemplet skapar en CIM-session på datorerna med namnet Server01 och Server02 med hjälp av cmdleten New-CimSession
och lagrar sessionsinformationen i en variabel med namnet $s
. Innehållet i variabeln skickas sedan till Get-CimInstance
med hjälp av parametern CimSession för att hämta CIM-instanserna av klassen med namnet Win32_ComputerSystem.
$s = New-CimSession -ComputerName Server01,Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s
Parametrar
-CimSession
Anger den CIM-session som ska användas för den här cmdleten. Ange en variabel som innehåller CIM-sessionen eller ett kommando som skapar eller hämtar CIM-sessionen, till exempel New-CimSession
cmdletarna eller Get-CimSession
. Mer information finns i about_CimSession.
Typ: | CimSession[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ClassName
Anger namnet på den CIM-klass som CIM-instanserna ska hämtas för. Du kan använda tabbavslut för att bläddra i listan över klasser, eftersom PowerShell hämtar en lista över klasser från den lokala WMI-servern för att tillhandahålla en lista med klassnamn.
Typ: | String |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ComputerName
Anger den dator där du vill köra CIM-åtgärden. Du kan ange ett fullständigt domännamn (FQDN), ett NetBIOS-namn eller en IP-adress. Om du inte anger den här parametern utför cmdleten åtgärden på den lokala datorn med hjälp av Komponentobjektmodell (COM).
Om du anger den här parametern skapar cmdleten en tillfällig session till den angivna datorn med hjälp av WsMan-protokollet.
Om flera åtgärder utförs på samma dator ansluter du med en CIM-session för bättre prestanda.
Typ: | String[] |
Alias: | CN, ServerName |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Filter
Anger en where-sats som ska användas som ett filter. Ange satsen i WQL- eller CQL-frågespråket. Inkludera inte nyckelordet WHERE
i parameterns värde.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-InputObject
Anger ett CIM-instansobjekt som ska användas som indata.
Om du redan arbetar med ett CIM-instansobjekt kan du använda den här parametern för att skicka CIM-instansobjektet för att hämta den senaste ögonblicksbilden från CIM-servern. När du skickar ett CIM-instansobjekt som indata Get-CimInstance
returnerar objektet från servern med hjälp av en get CIM-åtgärd, i stället för en uppräknings- eller frågeåtgärd. Det är effektivare att använda en get CIM-åtgärd än att hämta alla instanser och sedan filtrera dem.
Parametern InputObject räknas inte upp över samlingar. Om en samling skickas utlöses ett fel. När du arbetar med samlingar kan du skicka indata för att räkna upp värdena.
Om CIM-klassen inte implementerar get-åtgärden returneras ett fel när du anger parametern InputObject .
Typ: | CimInstance |
Alias: | CimInstance |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-KeyOnly
Anger att endast objekt med nyckelegenskaper ifyllda returneras. Om du anger parametern KeyOnly minskar mängden data som överförs över nätverket.
Använd parametern KeyOnly för att returnera endast en liten del av objektet, som kan användas för andra åtgärder, till exempel Set-CimInstance
cmdletarna eller Get-CimAssociatedInstance
.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Namespace
Anger namnområdet för CIM-klassen.
Standardnamnområdet är root/cimv2. Du kan använda tabbavslut för att bläddra i listan över namnområden, eftersom PowerShell hämtar en lista över namnområden från den lokala WMI-servern för att tillhandahålla listan över namnområden.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-OperationTimeoutSec
Anger hur lång tid cmdleten väntar på ett svar från datorn. Som standard är värdet för den här parametern 0, vilket innebär att cmdleten använder standardvärdet för timeout för servern.
Om parametern OperationTimeoutSec är inställd på ett värde som är mindre än den robusta tidsgränsen för återförsök av anslutningen på 3 minuter kan nätverksfel som varar mer än värdet för parametern OperationTimeoutSec inte återställas, eftersom åtgärden på servern överskrider tidsgränsen innan klienten kan återansluta.
Typ: | UInt32 |
Alias: | OT |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Property
Anger en uppsättning instansegenskaper som ska hämtas. Använd den här parametern när du behöver minska storleken på objektet som returneras, antingen i minnet eller i nätverket. Objektet som returneras innehåller även nyckelegenskaperna även om du inte har listat dem med egenskapsparametern. Andra egenskaper för klassen finns men de är inte ifyllda.
Typ: | String[] |
Alias: | SelectProperties |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Query
Anger en fråga som ska köras på CIM-servern. Om det angivna värdet innehåller dubbla citattecken "
, enkla citattecken '
eller ett omvänt snedstreck \
måste du undvika dessa tecken genom att prefixa dem med tecknet för omvänt snedstreck. Om det angivna värdet använder WQL LIKE-operatorn måste du undvika följande tecken genom att omsluta dem inom hakparenteser: procent %
, understreck _
eller inledande hakparentes[]
[
.
Du kan inte använda en metadatafråga för att hämta en lista över klasser eller en händelsefråga. Om du vill hämta en lista över klasser använder du cmdleten Get-CimClass
. Om du vill hämta en händelsefråga använder du cmdleten Register-CimIndicationEvent
.
Du kan ange frågedialekten med parametern QueryDialect .
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-QueryDialect
Anger det frågespråk som används för frågeparametern. De godtagbara värdena för den här parametern är: WQL eller CQL. Standardvärdet är WQL.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ResourceUri
Anger resursens enhetliga resursidentifierare (URI) för resursklassen eller instansen. URI:n används för att identifiera en specifik typ av resurs, till exempel diskar eller processer, på en dator.
En URI består av ett prefix och en sökväg till en resurs. Till exempel:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Om du inte anger den här parametern används standardresurs-URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
:n för DMTF som standard och klassnamnet läggs till i den.
ResourceURI kan endast användas med CIM-sessioner som skapats med hjälp av WSMan-protokollet, eller när du anger parametern ComputerName , som skapar en CIM-session med hjälp av WSMan. Om du anger den här parametern utan att ange parametern ComputerName , eller om du anger en CIM-session som skapats med DCOM-protokollet, får du ett fel eftersom DCOM-protokollet inte stöder ResourceURI-parametern .
Om både ResourceUri-parametern och filterparametern anges ignoreras filterparametern.
Typ: | Uri |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Shallow
Anger att instanserna av en klass returneras utan att inkludera instanserna av några underordnade klasser. Som standard returnerar cmdleten instanserna av en klass och dess underordnade klasser.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka ett CIM-instansobjekt till den här cmdleten.
Utdata
Den här cmdleten returnerar ett eller flera CIM-instansobjekt som representerar en ögonblicksbild av CIM-instanserna på CIM-servern.