Partager via


Get-CimInstance

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

Syntaxe

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

Cette applet de commande est disponible uniquement sur la plateforme Windows.

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 d’instance CIM 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 une session WMI (Windows Management Instrumentation) locale à l’aide d’une session COM (Component Object Model).
  • Si le paramètre ComputerName ou le paramètre CimSession est spécifié, cette applet de commande fonctionne sur le serveur CIM spécifié par le paramètre ComputerName ou le paramètre 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 à partir de l’objet d’entrée.
  • Si le paramètre ComputerName ou le paramètre 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 une liste d’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ée à 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 de requête .

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

Exemple 4 : Obtenir des instances d’une classe filtrée à 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 nouvelle 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 qu’instance CIM à l’applet Get-CimInstance de commande pour obtenir une instance particulière.

$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 AutoSize.

$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

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

Exemple 10 : Obtenir l’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, telle que les applets de commande ou Get-CimSession les New-CimSession applets de commande. Pour plus d’informations, consultez about_CimSession.

Type:CimSession[]
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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 des onglets 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
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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 objet de composant (COM).

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 améliorer les performances.

Type:String[]
Alias:CN, ServerName
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-InputObject

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

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

Le paramètre InputObject n’énumère pas les collections. Si une collection est passée, une erreur est levée. Lorsque vous utilisez des collections, dirigez l’entrée pour énumérer les valeurs.

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

Type:CimInstance
Alias:CimInstance
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-KeyOnly

Indique que seuls les objets dont les propriétés de clé sont 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 retourner uniquement une petite partie de l’objet, qui peut être utilisée pour d’autres opérations, telles que les Set-CimInstance applets de commande ou Get-CimAssociatedInstance les applets de commande.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Namespace

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

L’espace de noms par défaut est racine/cimv2. Vous pouvez utiliser la saisie semi-automatique des onglets 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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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’attente de nouvelle tentative de connexion robuste de 3 minutes, les échecs 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
Alias:OT
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Property

Spécifie un ensemble de propriétés d’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 listées à l’aide du paramètre Property . D’autres propriétés de la classe sont présentes, mais elles ne sont pas remplies.

Type:String[]
Alias:SelectProperties
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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 échapper à ces caractères en les préfixant avec la 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 Get-CimClass de 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
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-QueryDialect

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

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-ResourceUri

Spécifie l’URI (Uniform Resource Identifier) de la classe de ressource ou de l’instance. 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 :

  • http://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 est ajouté à celui-ci.

ResourceURI peut uniquement être utilisé avec des 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 obtenez 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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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 de ses classes enfants.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

CimInstance

Vous pouvez diriger un objet d’instance CIM vers cette applet de commande.

Sorties

CimInstance

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

Notes

PowerShell inclut les alias suivants pour Get-CimInstance:

  • Windows :
    • gcim

Cette applet de commande est disponible uniquement sur les plateformes Windows.