Dela via


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

Den här cmdleten är endast tillgänglig på Windows-plattformen.

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

CimInstance

Du kan skicka ett CIM-instansobjekt till den här cmdleten.

Utdata

CimInstance

Den här cmdleten returnerar ett eller flera CIM-instansobjekt som representerar en ögonblicksbild av CIM-instanserna på CIM-servern.

Kommentarer

PowerShell innehåller följande alias för Get-CimInstance:

  • Windows:
    • gcim

Den här cmdleten är endast tillgänglig på Windows-plattformar.