Invoke-CimMethod
Appelle une méthode d’une classe CIM.
Syntax
Invoke-CimMethod
[-ClassName] <String>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ClassName] <String>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-ResourceUri <Uri>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-ResourceUri <Uri>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-CimClass] <CimClass>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-CimClass] <CimClass>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cette applet de commande est disponible uniquement sur la plateforme Windows.
L’applet Invoke-CimMethod
de commande appelle une méthode d’une classe CIM ou d’un 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 n’est spécifié, 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 n’est spécifié, 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 . Ce scénario n’est pas très courant.
Exemples
Exemple 1 : Appeler une méthode
Cet exemple appelle la méthode Terminate de la classe Win32_Process .
Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"
Exemple 2 : Appeler une méthode à l’aide de l’objet cim instance
Cet exemple récupère l’objet cim instance et le stocke dans une variable nommée $x
à l’aide de l’applet de Get-CimInstance
commande . Le contenu de la variable est ensuite utilisé comme InputObject pour l’applet de Invoke-CimMethod
commande . La méthode GetOwner est appelée pour cimInstance.
$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner
Exemple 3 : Appeler une méthode statique à l’aide d’arguments
Cet exemple appelle la méthode Create nommée à l’aide du paramètre Arguments.
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{
CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32"
}
Exemple 4 : validation côté client
Cet exemple effectue une validation côté client pour la méthode xyz en passant un objet CimClass à Invoke-CimMethod
.
$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }
Paramètres
-Arguments
Spécifie les paramètres à passer à la méthode appelée. Spécifiez les valeurs de ce paramètre sous forme de paires nom-valeur, stockées dans une table de hachage. L’ordre des valeurs entrées n’est pas important.
Type: | IDictionary |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 Get-CimClass
commande 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.
Type: | CimClass |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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, comme les New-CimSession
applets de 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 effectuer l’opération. Ce paramètre est utilisé uniquement pour les méthodes statiques. Vous pouvez utiliser la saisie semi-automatique par tabulation 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 |
Aliases: | Class |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Lorsque vous utilisez ce paramètre, l’applet de commande crée une session temporaire sur l’ordinateur spécifié à l’aide du protocole WsMan. Sinon, l’applet de commande effectue l’opération sur l’ordinateur local à l’aide du modèle COM (Component Object Model).
Connectez-vous à l’aide d’une session CIM pour de meilleures performances lorsque plusieurs opérations sont effectuées sur le même ordinateur.
Type: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Spécifie un objet cim instance à utiliser comme entrée pour appeler une méthode. Ce paramètre ne peut être utilisé que pour appeler instance méthodes. Pour appeler des méthodes statiques de classe, utilisez le paramètre Class ou le paramètre CimClass .
Type: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MethodName
Spécifie le nom de la méthode CIM à appeler. Ce paramètre est obligatoire et ne peut ni avoir la valeur Null ni être vide. Pour appeler la méthode statique d’une classe CIM, utilisez le paramètre ClassName ou CimClass .
Type: | String |
Aliases: | Name |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Namespace
Spécifie l’espace de noms pour l’opération CIM. L’espace de noms par défaut est root/cimv2. Vous pouvez utiliser la saisie semi-automatique par tabulation 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 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 de nouvelle tentative de connexion par défaut de 3 minutes, les défaillances réseau qui durent plus que la valeur du paramètre OperationTimeoutSec ne sont pas récupérables.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 placer ces caractères dans une séquence d’échappement en les préfixant de la barre oblique inverse (\
). Si la valeur spécifiée utilise l’opérateur WQL LIKE, vous devez placer les caractères suivants dans une séquence d’échappement en les plaçant entre crochets ([]
) : pourcentage (%
), trait de soulignement (_
) ou crochet ouvrant ([
).
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: | WQL |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ResourceUri
Spécifie l’URI (Uniform Resource Identifier) de la classe de ressource ou 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 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.
Lorsque vous spécifiez ce paramètre sans spécifier le paramètre ComputerName , ou quand vous spécifiez une session CIM créée à l’aide du protocole DCOM, vous obtenez une erreur. Le protocole DCOM ne prend pas en charge le paramètre ResourceURI .
Si les paramètres ResourceUri et 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 |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
CIM class
Cette applet de commande accepte une classe CIM comme objet d’entrée.
CIM instance
Cette applet de commande accepte un instance CIM en tant qu’objet d’entrée.
Sorties
Cette applet de commande retourne un objet .