Partager via


Invoke-CimMethod

Appelle une méthode d’une classe CIM.

Syntaxe

ClassNameComputerSet (Par défaut)

Invoke-CimMethod
    [-ClassName] <String>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ClassNameSessionSet

Invoke-CimMethod
    [-ClassName] <String>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriSessionSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -ResourceUri <Uri>
    -CimSession <CimSession[]>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriComputerSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -ResourceUri <Uri>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimInstanceComputerSet

Invoke-CimMethod
    [-InputObject] <CimInstance>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ResourceUri <Uri>]
    [-ComputerName <String[]>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimInstanceSessionSet

Invoke-CimMethod
    [-InputObject] <CimInstance>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassSessionSet

Invoke-CimMethod
    [-CimClass] <CimClass>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassComputerSet

Invoke-CimMethod
    [-CimClass] <CimClass>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ComputerName <String[]>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QuerySessionSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -Query <String>
    -CimSession <CimSession[]>
    [-QueryDialect <String>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QueryComputerSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -Query <String>
    [-QueryDialect <String>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

L’applet de commande Invoke-CimMethod appelle une méthode d’une classe CIM ou d’une instance CIM à l’aide des paires nom-valeur spécifiées par le paramètre Arguments.

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. Remarque : Ce n’est pas très courant.

Exemples

Exemple 1 : Appeler une méthode

Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"

Cette commande appelle la méthode nommée Terminate sur la classe CIM nommée Win32_Process. La classe CIM est récupérée par la requête « Select * from Win32_Process where name like ' notepad%' ».

Exemple 2 : Appeler une méthode à l’aide de l’objet d’instance CIM

$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner

Cet ensemble de commandes récupère l’objet d’instance CIM et le stocke dans une variable nommée $x à l’aide de l’applet de commande Get-CimInstance. Le contenu de la variable est ensuite utilisé comme InputObject pour l’applet de commande Invoke-CimMethod, et la méthode GetOwner est appelée pour cimInstance.

Exemple 3 : Appeler une méthode statique

Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ Path = "notepad.exe" }

Cette commande appelle la méthode statique Create sur la classe nommée Win32_Process, avec les arguments spécifiés par le paramètre Arguments.

Exemple 4 : Appeler une méthode à l’aide d’arguments

Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32" }

Cette commande appelle la méthode nommée Create à l’aide du paramètre Arguments.

Exemple 5 : validation côté client

$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }

Cet ensemble de commandes effectue une validation côté client pour la méthode nommée xyz en passant un objet CimClass à l’applet de commande Invoke-CimMethod.

Paramètres

-Arguments

Spécifie les paramètres à passer à la méthode appelée. Spécifiez les valeurs de ce paramètre en tant que paires nom-valeur, stockées dans une table de hachage. L’ordre des valeurs entrées n’est pas important.

Propriétés du paramètre

Type:IDictionary
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-CimClass

Spécifie un objet de classe CIM qui représente une définition de classe CIM sur le serveur. Utilisez ce paramètre lors de l’appel d’une méthode statique d’une classe.

Vous pouvez utiliser l’applet de commande Get-CimClass pour récupérer une définition de classe à partir du serveur.

L’utilisation de ce paramètre entraîne de meilleures validations de schéma côté client.

Propriétés du paramètre

Type:CimClass
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CimClassSessionSet
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimClassComputerSet
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CimSession

Exécute la commande à l’aide de la session CIM spécifiée. 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_CimSessions.

Propriétés du paramètre

Type:

CimSession[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ClassNameSessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimInstanceSessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimClassSessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
QuerySessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ClassName

Spécifie le nom de la classe CIM pour laquelle effectuer l’opération. Ce paramètre est utilisé uniquement pour les méthodes statiques. REMARQUE : Vous pouvez utiliser la saisie semi-automatique des onglets pour parcourir la liste des classes, car Windows PowerShell obtient une liste de classes à partir du serveur WMI local pour fournir une liste de noms de classes.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:classe

Jeux de paramètres

ClassNameComputerSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
ClassNameSessionSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-ComputerName

Spécifie le nom de 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 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 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 plusieurs opérations sont effectuées sur le même ordinateur, la connexion à l’aide d’une session CIM offre de meilleures performances.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:CN, Nom du serveur

Jeux de paramètres

ClassNameComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
ResourceUriComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
CimClassComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QueryComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-InputObject

Spécifie un objet d’instance CIM à utiliser comme entrée pour appeler une méthode.

Ce paramètre ne peut être utilisé que pour appeler des méthodes d’instance. Pour appeler des méthodes statiques de classe, utilisez le paramètre Class ou le paramètre CimClass.

Propriétés du paramètre

Type:CimInstance
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:CimInstance

Jeux de paramètres

CimInstanceComputerSet
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimInstanceSessionSet
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MethodName

Spécifie le nom de la méthode CIM à appeler. Ce paramètre est obligatoire et ne peut pas être null ou vide.

Pour appeler une méthode statique d’une classe CIM, utilisez le paramètre ClassName ou CimClass.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Nom

Jeux de paramètres

(All)
Position:2
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Namespace

Spécifie l’espace de noms de l’opération CIM.

L’espace de noms par défaut est racine/cimv2. Vous pouvez utiliser la complétion par tabulation pour parcourir la liste des namespaces, car PowerShell récupère la liste des namespaces depuis le serveur WMI local pour la fournir.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ClassNameComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
ClassNameSessionSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
ResourceUriSessionSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
ResourceUriComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QuerySessionSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QueryComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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 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.

Propriétés du paramètre

Type:UInt32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:OT

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Query

Spécifie une requête à exécuter sur le serveur CIM. Une méthode est appelée sur les instances reçues à la suite de la requête.

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

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 ([).

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

QuerySessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QueryComputerSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

QuerySessionSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QueryComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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 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é.

Propriétés du paramètre

Type:Uri
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ResourceUriSessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
ResourceUriComputerSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

CIM class

Cette applet de commande accepte une classe CIM comme objet d’entrée.

CIM instance

Cette applet de commande accepte une instance CIM en tant qu’objet d’entrée.

Sorties

PSCustomObject

Cette applet de commande retourne un objet.