Partager via


Invoke-WmiMethod

Appelle les méthodes WMI.

Syntaxe

class (Par défaut)

Invoke-WmiMethod
    [-Class] <String>
    [-Name] <String>
    [-ArgumentList <Object[]>]
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

object

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

path

Invoke-WmiMethod
    [-Name] <String>
    -Path <String>
    [-ArgumentList <Object[]>]
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

WQLQuery

Invoke-WmiMethod
    [-Name] <String>
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

query

Invoke-WmiMethod
    [-Name] <String>
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

list

Invoke-WmiMethod
    [-Name] <String>
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

L’applet de commande Invoke-WmiMethod appelle les méthodes des objets WMI (Windows Management Instrumentation).

Les nouvelles applets de commande CIM (Common Information Model), introduites dans Windows PowerShell 3.0, effectuent les mêmes tâches que les applets de commande WMI. Les applets de commande CIM sont conformes aux normes WS-Management (WSMan) et à la norme CIM, ce qui permet aux applets de commande d’utiliser les mêmes techniques pour gérer les ordinateurs Windows et les autres systèmes d’exploitation. Au lieu d’utiliser invoke-WmiMethod, envisagez d’utiliser Invoke-CimMethodhttps://go.microsoft.com/fwlink/?LinkId=227965.

Exemples

Exemple 1 : Répertorier l’ordre requis des objets WMI

PS C:\> ([wmiclass]'Win32_Volume').GetMethodParameters('Format')
__GENUS           : 2
__CLASS           : __PARAMETERS
__SUPERCLASS      :
__DYNASTY         : __PARAMETERS
__RELPATH         :
__PROPERTY_COUNT  : 6
__DERIVATION      : {}
__SERVER          :
__NAMESPACE       :
__PATH            :
ClusterSize       : 0
EnableCompression : False
FileSystem        : NTFS
Label             :
QuickFormat       : False
Version           : 0
PSComputerName    :

Cette commande répertorie l’ordre requis des objets. Pour appeler WMI dans PowerShell 3.0 diffère des autres méthodes et nécessite que les valeurs d’objet soient entrées dans un ordre spécifique.

Exemple 2 : Démarrer une instance d’une application

PS C:\> ([Wmiclass]'Win32_Process').GetMethodParameters('Create')
__GENUS                   : 2
__CLASS                   : __PARAMETERS
__SUPERCLASS              :
__DYNASTY                 : __PARAMETERS
__RELPATH                 :
__PROPERTY_COUNT          : 3
__DERIVATION              : {}
__SERVER                  :
__NAMESPACE               :
__PATH                    :
CommandLine               :
CurrentDirectory          :
ProcessStartupInformation :
PSComputerName            : PS C:\> 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        : 11312
ReturnValue      : 0
PSComputerName   :

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

La propriété ReturnValue est remplie avec un 0, et la propriété ProcessId est remplie avec un entier (le numéro d’ID de processus suivant) si la commande est terminée.

Exemple 3 : Renommer un fichier

PS C:\> 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

Cette commande renomme un fichier. Il utilise le paramètre Path pour référencer une instance de la classe CIM_DataFile. Ensuite, il applique la méthode Rename à cette instance particulière.

La propriété ReturnValue est remplie avec un 0 si la commande est terminée.

Paramètres

-ArgumentList

Spécifie les paramètres à passer à la méthode appelée. La valeur de ce paramètre doit être un tableau d’objets, et elles doivent apparaître dans l’ordre requis par la méthode appelée. L’applet de commande Invoke-CimCommand n’a pas ces limitations.

Pour déterminer l’ordre dans lequel répertorier ces objets, exécutez la méthode GetMethodParameters() sur la classe WMI, comme illustré dans l’exemple 1, près de la fin de cette rubrique.

Important : Si la première valeur est un tableau qui contient plusieurs éléments, une deuxième valeur de $null est requise. Sinon, la commande génère une erreur, telle que « Impossible de convertir l’objet de type « System.Byte » en type « System.Array ».

Voici un exemple utilisant 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 BinarySDDL -argumentlist $binSD, $null

Propriétés du paramètre

Type:

Object[]

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

Jeux de paramètres

class
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
object
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
path
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-AsJob

Indique que cette applet de commande exécute la commande en tant que travail en arrière-plan. Utilisez ce paramètre pour exécuter des commandes qui prennent beaucoup de temps.

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

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

Pour plus d’informations sur les travaux en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.

Propriétés du paramètre

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

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

-Authentication

Spécifie le niveau d’authentification à utiliser avec la connexion WMI. Les valeurs acceptables pour ce paramètre sont les suivantes :

-1 : Inchangé

0 : valeur par défaut

1 : Aucun (aucune authentification en cours d’exécution.)

2 : Se connecter (l’authentification est effectuée uniquement lorsque le client établit une relation avec l’application.)

3 : Appel (l’authentification est effectuée uniquement au début de chaque appel lorsque l’application reçoit la demande.)

4 : Paquet (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.)

Propriétés du paramètre

Type:AuthenticationLevel
Valeur par défaut:None
Valeurs acceptées:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

class
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
path
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WQLQuery
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
query
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
list
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Authority

Spécifie l’autorité à utiliser pour authentifier la connexion WMI. Vous pouvez spécifier l’authentification Standard windows NT LAN Manager (NTLM) ou Kerberos. Pour utiliser NTLM, définissez le paramètre d’autorité sur ntlmdomain :<DomainName>, où <DomainName> identifie un nom de domaine NTLM valide. Pour utiliser Kerberos, spécifiez kerberos :<DomainName\ServerName>. Vous ne pouvez pas inclure le paramètre d’autorité lorsque vous vous connectez à l’ordinateur local.

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

class
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
path
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WQLQuery
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
query
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
list
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Class

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

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

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

-ComputerName

Spécifie, sous la forme d’un tableau de chaînes, les ordinateurs sur utilisant cette applet de commande. La valeur par défaut est l’ordinateur local.

Tapez le nom NetBIOS, une adresse IP ou un nom de domaine complet d’un ou plusieurs ordinateurs. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, un point (.) ou localhost.

Ce paramètre ne s’appuie pas sur la communication à distance Windows PowerShell. Vous pouvez utiliser le paramètre ComputerName même si votre ordinateur n’est pas configuré pour exécuter des commandes distantes.

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

Jeux de paramètres

class
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
path
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WQLQuery
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
query
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
list
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
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

-Credential

Spécifie un compte d’utilisateur autorisé à effectuer 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 retourné par l’applet de commande Get-Credential. Lorsque vous tapez un nom d’utilisateur, vous serez invité à entrer un mot de passe.

Propriétés du paramètre

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

Jeux de paramètres

class
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
path
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WQLQuery
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
query
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
list
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-EnableAllPrivileges

Indique que cette applet de commande active tous les privilèges de l’utilisateur actuel avant que la commande effectue l’appel WMI.

Propriétés du paramètre

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

Jeux de paramètres

class
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
path
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WQLQuery
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
query
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
list
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Impersonation

Spécifie le niveau d’emprunt d’identité à utiliser. Les valeurs acceptables pour ce paramètre sont les suivantes :

0 : Valeur par défaut (lit le registre local pour le niveau d’emprunt d’identité par défaut, qui est généralement défini sur « 3 : Emprunt d’identité ».

1 : Anonyme (masque les informations d’identification de l’appelant.)

2 : Identifier (permet aux objets d’interroger les informations d’identification de l’appelant.)

3 : Emprunt d’identité (permet aux objets d’utiliser les informations d’identification de l’appelant.)

4 : Délégué (permet aux objets d’autoriser d’autres objets à utiliser les informations d’identification de l’appelant.)

Propriétés du paramètre

Type:ImpersonationLevel
Valeur par défaut:None
Valeurs acceptées:Default, Anonymous, Identify, Impersonate, Delegate
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

class
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
path
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WQLQuery
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
query
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
list
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 ManagementObject à utiliser comme entrée. Lorsque ce paramètre est utilisé, tous les autres paramètres, à l’exception de l’indicateur et paramètres d’argument sont ignorés.

Propriétés du paramètre

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

Jeux de paramètres

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

-Locale

Spécifie les paramètres régionaux préférés pour les objets WMI. Spécifiez la valeur du paramètre Locale en tant que tableau au format MS_<LCID> dans l’ordre préféré.

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

class
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
path
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WQLQuery
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
query
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
list
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Name

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

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

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

-Namespace

Lorsqu’il est utilisé avec le paramètre de classe , ce paramètre spécifie l’espace de noms du référentiel WMI où se trouve la classe ou l’objet WMI référencé.

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:NS

Jeux de paramètres

class
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
path
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WQLQuery
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
query
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
list
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Path

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 doivent contenir la méthode spécifiée dans le paramètre Name.

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

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

-ThrottleLimit

Spécifie une valeur de limitation pour le nombre d’opérations WMI qui peuvent être exécutées simultanément. Ce paramètre est utilisé avec le paramètre AsJob. La limite de limitation s’applique uniquement à la commande actuelle, et non à la session ou à l’ordinateur.

Propriétés du paramètre

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

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

-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

None

Cette applet de commande n’accepte aucune entrée.

Sorties

None

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