Partager via


Invoke-WmiMethod

Appelle des méthodes Windows Management Instrumentation (WMI).

Syntaxe

Invoke-WmiMethod [-Class] <string> [[-ArgumentList] <Object[]>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod -InputObject <ManagementObject> [-ArgumentList <Object[]>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod -Path <string> [-ArgumentList <Object[]>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Description

L'applet de commande Invoke-WmiMethod appelle des méthodes WMI.

Paramètres

-ArgumentList <Object[]>

Spécifie les paramètres à passer à la méthode appelée. La valeur de ce paramètre doit être un tableau d'objets et ils doivent apparaître dans l'ordre requis par la méthode appelée.

Important : une seconde valeur de $null est obligatoire, sinon, la commande générera une erreur, telle que « Impossible d'effectuer un transtypage de l'objet de type « System.Byte » en type « System.Array ». »

L'exemple suivant utilise un tableau d'objets ($binSD) suivi d'une valeur Null ($null) :

PS C:\> $acl = Get-Acl test.txt

PS C:\> $binSD = $acl.GetSecurityDescriptorBinaryForm()

PS C:\> invoke-wmimethod -class Win32_SecurityDescriptorHelper -Name BinarySDToSDDL -argumentlist $binSD, $null

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-AsJob

Exécute la commande en tant que tâche en arrière-plan. Utilisez ce paramètre pour exécuter des commandes dont l'exécution nécessite beaucoup de temps.

Lorsque vous utilisez le paramètre AsJob, la commande retourne un objet qui représente la tâche en arrière-plan, puis affiche l'invite de commandes. Vous pouvez continuer à travailler dans la session pendant l'exécution de la tâche. Si Invoke-WmiMethod est utilisé sur un ordinateur distant, la tâche est créée sur l'ordinateur local, et les résultats provenant d'ordinateurs distants sont automatiquement retournés à l'ordinateur local. Pour gérer la tâche, utilisez les applets de commande contenant le nom Job (les applets de commande Job). Pour obtenir les résultats de la tâche, utilisez l'applet de commande Receive-Job.

Remarque : pour utiliser ce paramètre avec des ordinateurs distants, l'ordinateur local et l'ordinateur distant doivent être configurés pour la communication à distance. En outre, vous devez démarrer Windows PowerShell en utilisant l'option « Exécuter en tant qu'administrateur » dans Windows Vista et les versions ultérieures de Windows. Pour plus d'informations, consultez about_Remote_Requirements.

Pour plus d'informations sur les tâches en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Authentication <AuthenticationLevel>

Spécifie le niveau d'authentification à utiliser avec la connexion WMI. Les valeurs valides sont :

-1 : Unchanged

0 : Default

1 : None (Aucune authentification n'est effectuée.)

2 : Connect (L'authentification est effectuée uniquement lorsque le client établit une relation avec l'application.)

3 : Call (L'authentification est effectuée uniquement au début de chaque appel, quand l'application reçoit une demande.)

4 : Packet (L'authentification est effectuée sur toutes les données reçues du client.)

5 : PacketIntegrity (Toutes les données transférées entre le client et l'application sont authentifiées et vérifiées.)

6 : PacketPrivacy (Les propriétés des autres niveaux d'authentification sont utilisées, et toutes les données sont chiffrées.)

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Authority <string>

Spécifie l'autorité à utiliser pour authentifier la connexion WMI. Vous pouvez spécifier l'authentification Kerberos ou NTLM standard. Pour utiliser NTLM, affectez au paramètre d'autorité la valeur ntlmdomain:<Nom_Domaine>, où <Nom_Domaine> identifie un nom de domaine NTLM valide. Pour utiliser Kerberos, spécifiez kerberos:<Nom_Domaine>\<Nom_Serveur>. Vous ne pouvez pas inclure le paramètre d'autorité lorsque vous vous connectez à l'ordinateur local.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Class <string>

Spécifie la classe WMI qui contient une méthode statique à appeler.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ComputerName <string[]>

Spécifie l'ordinateur sur lequel vous voulez exécuter l'opération de gestion. La valeur peut être un nom de domaine complet, un nom NetBIOS ou une adresse IP. Utilisez le nom de l'ordinateur local, localhost ou un point (.) pour spécifier l'ordinateur local. L'ordinateur local est la valeur par défaut. Lorsque l'ordinateur distant se trouve dans un domaine différent de celui de l'utilisateur, un nom de domaine complet est requis. Vous pouvez également définir la valeur de ce paramètre en redirigeant la valeur vers le paramètre.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Credential <PSCredential>

Spécifie un compte d'utilisateur qui a l'autorisation d'exécuter cette action. La valeur par défaut est l'utilisateur actuel. Tapez un nom d'utilisateur, tel que « User01 », « Domain01\User01 » ou « User@Contoso.com ». Vous pouvez également entrer un objet PSCredential, tel qu'un objet qui est retourné par l'applet de commande Get-Credential. Lorsque vous tapez un nom d'utilisateur, vous êtes invité à entrer un mot de passe.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-EnableAllPrivileges

Active tous les privilèges de l'utilisateur actuel avant que la commande ne passe l'appel WMI.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Impersonation <ImpersonationLevel>

Spécifie le niveau d'emprunt d'identité à utiliser. Les valeurs valides sont :

0 : Default (Lit le Registre local pour connaître le niveau d'emprunt d'identité par défaut, qui a généralement la valeur « 3 : Impersonate ».)

1 : Anonymous (Masque les informations d'identification de l'appelant.)

2 : Identify (Permet aux objets d'interroger les informations d'identification de l'appelant.)

3 : Impersonate (Permet aux objets d'utiliser les informations d'identification de l'appelant.)

4 : Delegate (Permet aux objets d'autoriser d'autres objets à utiliser les informations d'identification de l'appelant.)

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InputObject <ManagementObject>

Spécifie un objet ManagementObject à utiliser en entrée. Lorsque ce paramètre est utilisé, tous les autres paramètres (sauf les paramètres Flag et Argument) sont ignorés.

Obligatoire ?

true

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue)

Accepter les caractères génériques ?

false

-Locale <string>

Spécifie les paramètres régionaux par défaut pour les objets WMI. Spécifiez la valeur du paramètre Locale sous forme de tableau au format MS_<LCID> dans l'ordre de préférence.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Name <string>

Spécifie le nom de la méthode à appeler. Ce paramètre est obligatoire et ne peut ni avoir la valeur Null ni être vide.

Obligatoire ?

true

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Namespace <string>

Lorsqu'il est utilisé avec le paramètre Class, ce paramètre spécifie l'espace de noms du répertoire de stockage WMI dans lequel figure la classe ou l'objet WMI référencé.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Path <string>

Spécifie le chemin d'accès de l'objet WMI d'une classe WMI, ou spécifie le chemin d'accès de l'objet WMI d'une instance d'une classe WMI. La classe ou l'instance que vous spécifiez doit contenir la méthode spécifiée dans le paramètre Name.

Obligatoire ?

true

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ThrottleLimit <int>

Permet à l'utilisateur de spécifier une valeur de limitation pour le nombre d'opérations WMI pouvant être exécutées simultanément. Ce paramètre est utilisé avec le paramètre AsJob. La limite d'accélération s'applique uniquement à la commande actuelle, et non à la session ou à l'ordinateur.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Confirm

Vous invite à confirmer l'exécution de la commande.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-WhatIf

Décrit le résultat que vous obtiendriez en exécutant la commande, sans réellement l'exécuter.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

None

Cette applet de commande n'accepte aucune d'entrée.

Sorties

None

Cette applet de commande ne génère aucune sortie.

Exemple 1

C:\PS>invoke-wmimethod -path win32_process -name create -argumentlist notepad.exe

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 2
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ProcessId        : 4844
ReturnValue      : 0

Description
-----------
Cette commande démarre une instance de Bloc-notes en appelant la méthode Create de la classe Win32_Process.

Remarque : la propriété ReturnValue est remplie avec un 0, et la propriété ProcessId est remplie avec un entier (numéro d'identification du processus suivant) si la commande est effectuée.





Exemple 2

C:\PS>invoke-wmimethod -path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name Rename -ArgumentList "C:\scripts\test_bu.txt"

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0

Description
-----------
Cette commande renomme un fichier. Elle utilise le paramètre Path pour référencer une instance de la classe CIM_DataFile. Elle applique ensuite la méthode Rename à cette instance particulière.

Remarque : la propriété ReturnValue est remplie avec un 0 si la commande est effectuée.





Voir aussi

Concepts

Get-WmiObject
Remove-WmiObject
Set-WmiInstance
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance