Delen via


Get-CimInstance

Haalt de CIM-exemplaren van een klasse op van een CIM-server.

Syntaxis

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

Deze cmdlet is alleen beschikbaar op het Windows-platform.

Met de Get-CimInstance-cmdlet worden de CIM-exemplaren van een klasse opgehaald van een CIM-server. U kunt de klassenaam of een query voor deze cmdlet opgeven. Met deze cmdlet worden een of meer CIM-exemplaarobjecten geretourneerd die een momentopname vertegenwoordigen van de CIM-exemplaren die aanwezig zijn op de CIM-server.

Als de parameter InputObject niet is opgegeven, werkt de cmdlet op een van de volgende manieren:

  • Als noch de ComputerName parameter noch de CimSession parameter is opgegeven, werkt deze cmdlet op lokale Windows Management Instrumentation (WMI) met behulp van een COM-sessie (Component Object Model).
  • Als de parameter ComputerName of de parameter CimSession is opgegeven, werkt deze cmdlet met de CIM-server die is opgegeven door de parameter ComputerName of de CimSession-parameter.

Als de parameter InputObject is opgegeven, werkt de cmdlet op een van de volgende manieren:

  • Als noch de parameter ComputerName noch de CimSession parameter is opgegeven, gebruikt deze cmdlet de CIM-sessie of computernaam van het invoerobject.
  • Als de parameter ComputerName of de parameter CimSession is opgegeven, gebruikt deze cmdlet de parameterwaarde CimSession of ComputerName parameterwaarde.

Voorbeelden

Voorbeeld 1: De CIM-exemplaren van een opgegeven klasse ophalen

In dit voorbeeld worden de CIM-exemplaren van een klasse met de naam Win32_Processopgehaald.

Get-CimInstance -ClassName Win32_Process

Voorbeeld 2: Een lijst met naamruimten ophalen van een WMI-server

In dit voorbeeld wordt een lijst met naamruimten opgehaald onder de Root-naamruimte op een WMI-server.

Get-CimInstance -Namespace root -ClassName __Namespace

Voorbeeld 3: Exemplaren van een klasse ophalen die zijn gefilterd met behulp van een query

In dit voorbeeld worden alle CIM-exemplaren opgehaald die beginnen met de letter P van een klasse met de naam Win32_Process met behulp van de query die is opgegeven door een parameter Query.

Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"

Voorbeeld 4: Exemplaren van een klasse ophalen die zijn gefilterd met behulp van een klassenaam en een filterexpressie

In dit voorbeeld worden alle CIM-exemplaren opgehaald die beginnen met de letter P van een klasse met de naam Win32_Process met behulp van de filterparameter.

Get-CimInstance -ClassName Win32_Process -Filter "Name like 'P%'"

Voorbeeld 5: De CIM-exemplaren ophalen met alleen sleuteleigenschappen ingevuld

In dit voorbeeld wordt een nieuw CIM-exemplaar gemaakt in het geheugen voor een klasse met de naam Win32_Process met de sleuteleigenschap @{ "Handle"=0 } en wordt deze opgeslagen in een variabele met de naam $x. De variabele wordt doorgegeven als een CIM-exemplaar aan de Get-CimInstance-cmdlet om een bepaald exemplaar op te halen.

$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{"Handle"=0} -Key Handle -ClientOnly
Get-CimInstance -CimInstance $x

Voorbeeld 6: CIM-exemplaren ophalen en opnieuw gebruiken

In dit voorbeeld worden de CIM-exemplaren van een klasse met de naam Win32_Process opgeslagen en opgeslagen in de variabelen $x en $y. De variabele $x wordt vervolgens opgemaakt in een tabel met alleen de eigenschappen Name en KernelModeTime, de tabel ingesteld op AutoSize.

$x,$y = Get-CimInstance -ClassName Win32_Process
$x | Format-Table -Property Name, KernelModeTime -AutoSize

Name                 KernelModeTime
----                 --------------
System Idle Process 157238797968750

Voorbeeld 7: CIM-exemplaren ophalen van externe computer

In dit voorbeeld worden de CIM-exemplaren van een klasse met de naam Win32_ComputerSystem opgehaald van de externe computers met de naam Server01 en Server02.

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01, Server02

Voorbeeld 8: alleen de sleuteleigenschappen ophalen, in plaats van alle eigenschappen

In dit voorbeeld worden alleen de sleuteleigenschappen opgehaald, waardoor het object- en netwerkverkeer kleiner wordt.

$x = Get-CimInstance -Class Win32_Process -KeyOnly
$x | Invoke-CimMethod -MethodName GetOwner

Voorbeeld 9: Alleen een subset eigenschappen ophalen, in plaats van alle eigenschappen

In dit voorbeeld wordt alleen een subset met eigenschappen opgehaald, waardoor het object- en netwerkverkeer kleiner wordt.

Get-CimInstance -Class Win32_Process -Property Name, KernelModeTime
$x = Get-CimInstance -Class Win32_Process -Property Name, KernelModeTime
$x | Invoke-CimMethod -MethodName GetOwner

Het exemplaar dat is opgehaald met de parameter Eigenschap kan worden gebruikt om andere CIM-bewerkingen uit te voeren, bijvoorbeeld Set-CimInstance of Invoke-CimMethod.

Voorbeeld 10: Het CIM-exemplaar ophalen met behulp van CIM-sessie

In dit voorbeeld wordt een CIM-sessie gemaakt op de computers met de naam Server01 en Server02 met behulp van de cmdlet New-CimSession en worden de sessiegegevens opgeslagen in een variabele met de naam $s. De inhoud van de variabele wordt vervolgens doorgegeven aan Get-CimInstance met behulp van de parameter CimSession om de CIM-exemplaren van de klasse met de naam Win32_ComputerSystemop te halen.

$s = New-CimSession -ComputerName Server01, Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s

Parameters

-CimSession

Hiermee geeft u de CIM-sessie die moet worden gebruikt voor deze cmdlet. Voer een variabele in die de CIM-sessie of een opdracht bevat waarmee de CIM-sessie wordt gemaakt of ophaalt, zoals de New-CimSession of Get-CimSession cmdlets. Zie about_CimSessionvoor meer informatie.

Type:CimSession[]
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-ClassName

Hiermee geeft u de naam van de CIM-klasse waarvoor de CIM-exemplaren moeten worden opgehaald. U kunt tabvoltooiing gebruiken om door de lijst met klassen te bladeren, omdat PowerShell een lijst met klassen ophaalt van de lokale WMI-server om een lijst met klassennamen op te geven.

Type:String
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-ComputerName

Hiermee geeft u de computer waarop u de CIM-bewerking wilt uitvoeren. U kunt een FQDN (Fully Qualified Domain Name), een NetBIOS-naam of een IP-adres opgeven. Als u deze parameter niet opgeeft, voert de cmdlet de bewerking uit op de lokale computer met behulp van Component Object Model (COM).

Als u deze parameter opgeeft, maakt de cmdlet een tijdelijke sessie naar de opgegeven computer met behulp van het WsMan-protocol.

Als er meerdere bewerkingen op dezelfde computer worden uitgevoerd, maakt u verbinding met behulp van een CIM-sessie voor betere prestaties.

Type:String[]
Aliassen:CN, ServerName
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Filter

Hiermee geeft u een where-component op die moet worden gebruikt als filter. Geef de component op in de WQL- of de CQL querytaal. Neem het WHERE trefwoord niet op in de waarde van de parameter.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-InputObject

Hiermee geeft u een CIM-exemplaarobject te gebruiken als invoer.

Als u al met een CIM-exemplaarobject werkt, kunt u deze parameter gebruiken om het CIM-exemplaarobject door te geven om de meest recente momentopname van de CIM-server op te halen. Wanneer u een CIM-exemplaarobject als invoer doorgeeft, retourneert Get-CimInstance het object van de server met behulp van een get CIM-bewerking in plaats van een opsomming of querybewerking. Het gebruik van een get CIM-bewerking is efficiƫnter dan het ophalen van alle exemplaren en het filteren ervan.

De parameter InputObject inventariseert geen verzamelingen. Als een verzameling wordt doorgegeven, wordt er een fout gegenereerd. Wanneer u met verzamelingen werkt, kunt u de invoer doorsluisen om de waarden op te sommen.

Als de CIM-klasse de get-bewerking niet implementeert, retourneert het opgeven van de InputObject parameter een fout.

Type:CimInstance
Aliassen:CimInstance
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-KeyOnly

Geeft aan dat alleen objecten met ingevulde sleuteleigenschappen worden geretourneerd. Als u de parameter KeyOnly opgeeft, wordt de hoeveelheid gegevens die via het netwerk worden overgedragen, verminderd.

Gebruik de parameter KeyOnly om slechts een klein deel van het object te retourneren, dat kan worden gebruikt voor andere bewerkingen, zoals de Set-CimInstance of Get-CimAssociatedInstance cmdlets.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Namespace

Hiermee geeft u de naamruimte van de CIM-klasse.

De standaardnaamruimte is root/cimv2. U kunt tabvoltooiing gebruiken om door de lijst met naamruimten te bladeren, omdat PowerShell een lijst met naamruimten ophaalt van de lokale WMI-server om de lijst met naamruimten op te geven.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-OperationTimeoutSec

Hiermee geeft u de hoeveelheid tijd op die de cmdlet wacht op een reactie van de computer. De waarde van deze parameter is standaard 0, wat betekent dat de cmdlet de standaardtime-outwaarde voor de server gebruikt.

Als de parameter OperationTimeoutSec is ingesteld op een waarde die kleiner is dan de robuuste time-out voor opnieuw proberen van de verbinding van 3 minuten, kunnen netwerkfouten die meer duren dan de waarde van de parameter OperationTimeoutSec niet herstellen, omdat de bewerking op de server een time-out optreedt voordat de client opnieuw verbinding kan maken.

Type:UInt32
Aliassen:OT
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Property

Hiermee geeft u een set exemplaareigenschappen op die moeten worden opgehaald. Gebruik deze parameter wanneer u de grootte van het geretourneerde object wilt verkleinen, hetzij in het geheugen of via het netwerk. Het geretourneerde object bevat ook de sleuteleigenschappen, zelfs als u ze niet hebt vermeld met behulp van de eigenschap parameter. Andere eigenschappen van de klasse zijn aanwezig, maar worden niet ingevuld.

Type:String[]
Aliassen:SelectProperties
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Query

Hiermee geeft u een query die moet worden uitgevoerd op de CIM-server. Als de opgegeven waarde dubbele aanhalingstekens ", enkele aanhalingstekens 'of een backslash-\bevat, moet u deze tekens escapen door ze te voorzien van het backslash-teken. Als de opgegeven waarde gebruikmaakt van de WQL-like- operator, moet u de volgende tekens ontsnappen door ze tussen vierkante haken []te zetten: percentage %, onderstrepingsteken _of vierkante haak openen [.

U kunt geen metagegevensquery gebruiken om een lijst met klassen of een gebeurtenisquery op te halen. Gebruik de cmdlet Get-CimClass om een lijst met klassen op te halen. Gebruik de cmdlet Register-CimIndicationEvent om een gebeurtenisquery op te halen.

U kunt het querydialect opgeven met behulp van de parameter QueryDialect.

Type:String
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-QueryDialect

Hiermee geeft u de querytaal op die wordt gebruikt voor de queryparameter. De acceptabele waarden voor deze parameter zijn: WQL- of CQL-. De standaardwaarde is WQL-.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-ResourceUri

Hiermee geeft u de resource uniform resource identifier (URI) van de resourceklasse of het exemplaar. De URI wordt gebruikt om een specifiek type resource, zoals schijven of processen, op een computer te identificeren.

Een URI bestaat uit een voorvoegsel en een pad naar een resource. Bijvoorbeeld:

  • http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
  • http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Als u deze parameter niet opgeeft, wordt standaard de DMTF-standaardresource-URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ gebruikt en wordt de klassenaam eraan toegevoegd.

ResourceURI- kan alleen worden gebruikt met CIM-sessies die zijn gemaakt met het WSMan-protocol of wanneer u de parameter ComputerName opgeeft, waarmee een CIM-sessie wordt gemaakt met WSMan. Als u deze parameter opgeeft zonder de parameter ComputerName op te geven of als u een CIM-sessie opgeeft die is gemaakt met het DCOM-protocol, krijgt u een foutmelding omdat het DCOM-protocol de ResourceURI- parameter niet ondersteunt.

Als zowel de parameter ResourceUri als de parameter Filter zijn opgegeven, wordt de parameter Filter genegeerd.

Type:Uri
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Shallow

Geeft aan dat de exemplaren van een klasse worden geretourneerd zonder de exemplaren van onderliggende klassen op te geven. De cmdlet retourneert standaard de exemplaren van een klasse en de onderliggende klassen.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

CimInstance

U kunt een CIM-exemplaarobject doorsluisen naar deze cmdlet.

Uitvoerwaarden

CimInstance

Met deze cmdlet worden een of meer CIM-exemplaarobjecten geretourneerd die een momentopname van de CIM-exemplaren op de CIM-server vertegenwoordigen.

Notities

PowerShell bevat de volgende aliassen voor Get-CimInstance:

  • Ramen:
    • gcim

Deze cmdlet is alleen beschikbaar op Windows-platforms.