Partager via


Get-CimInstance

Obtient les instances CIM d’une classe à partir d’un serveur CIM.

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

L’applet Get-CimInstance de commande obtient les instances CIM d’une classe à partir d’un serveur CIM. Vous pouvez spécifier le nom de la classe ou une requête pour cette applet de commande. Cette applet de commande retourne un ou plusieurs objets CIM instance représentant un instantané des instances CIM présentes sur le serveur CIM.

Si le paramètre InputObject n’est pas spécifié, l’applet de commande fonctionne de l’une des manières suivantes :

  • Si ni le paramètre ComputerName ni le paramètre CimSession ne sont spécifiés, cette applet de commande fonctionne sur windows Management Instrumentation (WMI) local à l’aide d’une session COM (Component Object Model).
  • Si le paramètre ComputerName ou cimSession est spécifié, cette applet de commande fonctionne sur le serveur CIM spécifié par le paramètre ComputerName ou cimSession .

Si le paramètre InputObject est spécifié, l’applet de commande fonctionne de l’une des manières suivantes :

  • Si ni le paramètre ComputerName ni le paramètre CimSession ne sont spécifiés, cette applet de commande utilise la session CIM ou le nom de l’ordinateur de l’objet d’entrée.
  • Si le paramètre ComputerName ou CimSession est spécifié, cette applet de commande utilise la valeur du paramètre CimSession ou la valeur du paramètre ComputerName .

Exemples

Exemple 1 : Obtenir les instances CIM d’une classe spécifiée

Cet exemple récupère les instances CIM d’une classe nommée Win32_Process.

Get-CimInstance -ClassName Win32_Process

Exemple 2 : Obtenir la liste des espaces de noms à partir d’un serveur WMI

Cet exemple récupère une liste d’espaces de noms sous l’espace de noms Racine sur un serveur WMI.

Get-CimInstance -Namespace root -ClassName __Namespace

Exemple 3 : Obtenir des instances d’une classe filtrées à l’aide d’une requête

Cet exemple récupère toutes les instances CIM qui commencent par la lettre P d’une classe nommée Win32_Process à l’aide de la requête spécifiée par un paramètre Query .

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

Exemple 4 : Obtenir des instances d’une classe filtrées à l’aide d’un nom de classe et d’une expression de filtre

Cet exemple récupère toutes les instances CIM qui commencent par la lettre P d’une classe nommée Win32_Process à l’aide du paramètre Filter.

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

Exemple 5 : Obtenir les instances CIM avec uniquement les propriétés de clé renseignées

Cet exemple crée une instance CIM en mémoire pour une classe nommée Win32_Process avec la propriété @{ "Handle"=0 } de clé et la stocke dans une variable nommée $x. La variable est passée en tant que instance CIM à l’applet de Get-CimInstance commande pour obtenir un instance particulier.

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

Exemple 6 : Récupérer des instances CIM et les réutiliser

Cet exemple obtient les instances CIM d’une classe nommée Win32_Process et les stocke dans les variables $x et $y. La variable $x est ensuite mise en forme dans une table contenant uniquement les propriétés Name et KernelModeTime , la table définie sur Taille automatique.

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

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

Exemple 7 : Obtenir des instances CIM à partir d’un ordinateur distant

Cet exemple récupère les instances CIM d’une classe nommée Win32_ComputerSystem à partir des ordinateurs distants nommés Server01 et Server02.

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02

Exemple 8 : Obtention uniquement des propriétés de clé, au lieu de toutes les propriétés

Cet exemple récupère uniquement les propriétés de clé, ce qui réduit la taille de l’objet et du trafic réseau.

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

Exemple 9 : Obtention uniquement d’un sous-ensemble de propriétés, au lieu de toutes les propriétés

Cet exemple récupère uniquement un sous-ensemble de propriétés, ce qui réduit la taille de l’objet et du trafic réseau.

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

Le instance récupéré avec le paramètre Property peut être utilisé pour effectuer d’autres opérations CIM, par exemple Set-CimInstance ou Invoke-CimMethod.

Exemple 10 : Obtenir le instance CIM à l’aide de la session CIM

Cet exemple crée une session CIM sur les ordinateurs nommés Server01 et Server02 à l’aide de l’applet New-CimSession de commande et stocke les informations de session dans une variable nommée $s. Le contenu de la variable est ensuite transmis à Get-CimInstance l’aide du paramètre CimSession pour obtenir les instances CIM de la classe nommée Win32_ComputerSystem.

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

Paramètres

-CimSession

Spécifie la session CIM à utiliser pour cette applet de commande. Entrez une variable qui contient la session CIM ou une commande qui crée ou obtient la session CIM, comme les applets de New-CimSession commande ou Get-CimSession . Pour plus d’informations, consultez about_CimSession.

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

-ClassName

Spécifie le nom de la classe CIM pour laquelle récupérer les instances CIM. Vous pouvez utiliser la saisie semi-automatique d’onglet pour parcourir la liste des classes, car PowerShell obtient une liste de classes à partir du serveur WMI local pour fournir une liste de noms de classes.

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

-ComputerName

Spécifie l’ordinateur sur lequel vous souhaitez exécuter l’opération CIM. Vous pouvez spécifier un nom de domaine complet (FQDN), un nom NetBIOS ou une adresse IP. Si vous ne spécifiez pas ce paramètre, l’applet de commande effectue l’opération sur l’ordinateur local à l’aide du modèle COM (Component Object Model).

Si vous spécifiez ce paramètre, l’applet de commande crée une session temporaire sur l’ordinateur spécifié à l’aide du protocole WsMan.

Si plusieurs opérations sont effectuées sur le même ordinateur, connectez-vous à l’aide d’une session CIM pour de meilleures performances.

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

-Filter

Spécifie une clause where à utiliser comme filtre. Spécifiez la clause dans le langage de requête WQL ou CQL . N’incluez pas le WHERE mot clé dans la valeur du paramètre.

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

-InputObject

Spécifie un objet CIM instance à utiliser comme entrée.

Si vous travaillez déjà avec un objet cim instance, vous pouvez utiliser ce paramètre pour passer l’objet instance CIM afin d’obtenir la dernière instantané à partir du serveur CIM. Lorsque vous passez un objet CIM instance en tant qu’entrée, Get-CimInstance retourne l’objet à partir du serveur à l’aide d’une opération d’obtention cim, au lieu d’une opération d’énumération ou de requête. L’utilisation d’une opération get CIM est plus efficace que la récupération de toutes les instances et leur filtrage.

Si la classe CIM n’implémente pas l’opération get, la spécification du paramètre InputObject renvoie une erreur.

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

-KeyOnly

Indique que seuls les objets avec des propriétés de clé renseignées sont retournés. La spécification du paramètre KeyOnly réduit la quantité de données transférées sur le réseau.

Utilisez le paramètre KeyOnly pour renvoyer uniquement une petite partie de l’objet, qui peut être utilisée pour d’autres opérations, telles que les applets de Set-CimInstance commande ou Get-CimAssociatedInstance .

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

-Namespace

Spécifie l’espace de noms de la classe CIM.

L’espace de noms par défaut est root/cimv2. Vous pouvez utiliser la saisie semi-automatique d’onglet pour parcourir la liste des espaces de noms, car PowerShell obtient une liste d’espaces de noms à partir du serveur WMI local pour fournir la liste des espaces de noms.

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

-OperationTimeoutSec

Spécifie la durée pendant laquelle l’applet de commande attend une réponse de l’ordinateur. Par défaut, la valeur de ce paramètre est 0, ce qui signifie que l’applet de commande utilise la valeur de délai d’expiration par défaut pour le serveur.

Si le paramètre OperationTimeoutSec est défini sur une valeur inférieure au délai d’expiration des nouvelles tentatives de connexion robuste de 3 minutes, les défaillances réseau qui durent plus que la valeur du paramètre OperationTimeoutSec ne sont pas récupérables, car l’opération sur le serveur expire avant que le client puisse se reconnecter.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Spécifie un ensemble de propriétés instance à récupérer. Utilisez ce paramètre lorsque vous devez réduire la taille de l’objet retourné, en mémoire ou sur le réseau. L’objet retourné contient également les propriétés de clé même si vous ne les avez pas répertoriées à l’aide du paramètre Property . D’autres propriétés de la classe sont présentes, mais elles ne sont pas renseignées.

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

-Query

Spécifie une requête à exécuter sur le serveur CIM. Si la valeur spécifiée contient des guillemets "doubles, des guillemets 'simples ou une barre oblique inverse \, vous devez placer ces caractères dans une séquence d’échappement en les préfixant avec le caractère barre oblique inverse. Si la valeur spécifiée utilise l’opérateur WQL LIKE , vous devez échapper aux caractères suivants en les plaçant entre crochets []: pourcentage %, trait de soulignement _ou crochet [ouvrant .

Vous ne pouvez pas utiliser une requête de métadonnées pour récupérer une liste de classes ou une requête d’événement. Pour récupérer une liste de classes, utilisez l’applet de Get-CimClass commande. Pour récupérer une requête d’événement, utilisez l’applet de Register-CimIndicationEvent commande .

Vous pouvez spécifier le dialecte de requête à l’aide du paramètre QueryDialect .

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

-QueryDialect

Spécifie le langage de requête utilisé pour le paramètre Query. Les valeurs acceptables pour ce paramètre sont : WQL ou CQL. La valeur par défaut est WQL.

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

-ResourceUri

Spécifie l’URI (Uniform Resource Identifier) de la classe de ressources ou de l’instance de ressources. L'URI est utilisé pour identifier un type particulier de ressource, comme un disque ou un processus, sur un ordinateur.

Un URI se compose d'un préfixe et d'un chemin d'accès à une ressource. Par exemple :

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

Par défaut, si vous ne spécifiez pas ce paramètre, l’URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ de ressource standard DMTF est utilisé et le nom de la classe y est ajouté.

ResourceURI ne peut être utilisé qu’avec les sessions CIM créées à l’aide du protocole WSMan ou lors de la spécification du paramètre ComputerName , qui crée une session CIM à l’aide de WSMan. Si vous spécifiez ce paramètre sans spécifier le paramètre ComputerName ou si vous spécifiez une session CIM créée à l’aide du protocole DCOM, vous obtiendrez une erreur, car le protocole DCOM ne prend pas en charge le paramètre ResourceURI .

Si le paramètre ResourceUri et le paramètre Filter sont spécifiés, le paramètre Filter est ignoré.

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

-Shallow

Indique que les instances d’une classe sont retournées sans inclure les instances des classes enfants. Par défaut, l’applet de commande retourne les instances d’une classe et ses classes enfants.

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

Entrées

CIM Instance

Cette applet de commande accepte un objet d’entrée spécifié avec le paramètre InputObject.

Sorties

CIM Instance

Cette applet de commande retourne un ou plusieurs objets CIM instance représentant un instantané des instances CIM sur le serveur CIM.