Share 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

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 de CIM-instanser som finns på CIM-servern.

Om parametern InputObject inte anges fungerar cmdleten på något av följande sätt:

  • Om varken parametern ComputerName eller parametern CimSession anges fungerar denna cmdlet på den lokala WMI-sessionen (Windows Management Instrumentation) med hjälp av en COM-session (Component Object Model).
  • Om parametern ComputerName eller parametern CimSession anges fungerar den här cmdleten mot den CIM-server 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 anges använder den här cmdleten CIM-sessionen eller datornamnet från indataobjektet.
  • Om parametern ComputerName eller parametern CimSession anges använder den här cmdleten antingen parametervärdet CimSession eller parametervärdet ComputerName .

Exempel

Exempel 1: Hämta CIM-instanserna för 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 filtrerats 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 bara innehåller egenskaperna Name och KernelModeTime , tabellen 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 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

I det här exemplet hämtas endast en delmängd av egenskaperna, 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

Instansen 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 CimSession-parametern 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 vilken 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.

Type:CimSession[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ClassName

Anger namnet på den CIM-klass som CIM-instanserna ska hämtas för. Du kan använda tabbifyllning 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 över klassnamn.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

Anger den dator där du vill köra CIM-åtgärden. Du kan ange ett fullständigt kvalificerat 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 Component Object Model (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.

Type:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Filter

Anger en where-sats som ska användas som ett filter. Ange -satsen i WQL - eller CQL-frågespråket . Ta inte med nyckelordet WHERE i värdet för parametern .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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. Att använda en get CIM-åtgärd är mer effektivt än att hämta alla instanser och sedan filtrera dem.

Om CIM-klassen inte implementerar get-åtgärden returneras ett fel om du anger parametern InputObject .

Type:CimInstance
Aliases:CimInstance
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-KeyOnly

Anger att endast objekt med nyckelegenskaper ifyllda returneras. Om du anger parametern KeyOnly minskas mängden data som överförs över nätverket.

Använd parametern KeyOnly för att endast returnera en liten del av objektet, som kan användas för andra åtgärder, till exempel Set-CimInstance cmdletarna eller Get-CimAssociatedInstance .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

Anger namnområdet för CIM-klassen.

Standardnamnområdet är root/cimv2. Du kan använda tabbifyllning 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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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å det returnerade objektet, antingen i minnet eller över nätverket. Objektet som returneras innehåller också nyckelegenskaperna även om du inte har listat dem med parametern Egenskap . Andra egenskaper för klassen finns men de är inte ifyllda.

Type:String[]
Aliases:SelectProperties
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 prefixera dem med 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 hjälp av parametern QueryDialect .

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-QueryDialect

Anger det frågespråk som används för frågeparametern. Godkända värden för den här parametern är: WQL eller CQL. Standardvärdet är WQL.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceUri

Anger resursens URI (Uniform Resource Identifier) för resursklassen eller instansen. URI:n används för att identifiera en viss 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. Exempel:

  • https://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 felmeddelande eftersom DCOM-protokollet inte stöder ResourceURI-parametern .

Om både ResourceUri-parametern och filterparametern anges ignoreras parametern Filter.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

CIM Instance

Den här cmdleten accepterar indataobjekt som anges med parametern InputObject.

Utdata

CIM Instance

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