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

L’applet de commande Get-CimInstance 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 aucun paramètre ComputerName ni le paramètre CimSession n’est spécifié, cette applet de commande fonctionne sur WMI (Local Windows Management Instrumentation) à 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 n’est spécifié, 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 Valeur de paramètre ComputerName.

Exemples

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

Get-CimInstance -ClassName Win32_Process

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

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

Get-CimInstance -Namespace root -ClassName __Namespace

Cette commande récupère une liste d’espaces de noms sous l’espace de noms racine sur un serveur WMI.

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

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

Cette commande 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 Query.

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

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

Cette commande 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.

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

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

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

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

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

Cet ensemble de commandes 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 attributs powershell et powershell, la table définie sur AutoSize.

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

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02

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

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

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

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

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

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.

Cette commande 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.

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

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

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

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 New-CimSession ou Get-CimSession. 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 WQL ou le langage de requête CQL.

Remarque : n’incluez pas le mot clé where 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.

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 applets de commande Set-CimInstance ou Get-CimAssociatedInstance.

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 ne 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é a toujours des propriétés clés remplies, quel que soit l’ensemble des propriétés répertoriées par le 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 de commande Get-CimClass. Pour récupérer une requête d’événement, utilisez l’applet de commande Register-CimIndicationEvent.

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 les suivantes : 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 spécifique de ressource, tel que des disques ou des 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 de ressource standard DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ est utilisé et le nom de la classe est ajouté à celui-ci.

ResourceURI ne peut être utilisé qu’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 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
Valeur par défaut:None
Obligatoire:True
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

CIM Instance

Cette applet de commande accepte des objets d’entrée spécifiés avec le paramètre InputObject.

Sorties

CIM Instance

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