Get-WmiObject
Obtient des instances de classes WMI (Windows Management Instrumentation) ou des informations sur les classes disponibles.
Syntaxe
Get-WmiObject
[-Class] <String>
[[-Property] <String[]>]
[-Filter <String>]
[-Amended]
[-DirectRead]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[[-Class] <String>]
[-Recurse]
[-Amended]
[-List]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-DirectRead]
-Query <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Description
À compter de PowerShell 3.0, cette applet de commande a été remplacée par Get-CimInstance
.
L’applet Get-WmiObject
de commande obtient des instances de classes WMI ou des informations sur les classes WMI disponibles. Pour spécifier un ordinateur distant, utilisez le paramètre ComputerName . Si le paramètre List est spécifié, l’applet de commande obtient des informations sur les classes WMI disponibles dans un espace de noms spécifié. Si le paramètre de requête est spécifié, l’applet de commande exécute une instruction WMI (WQL).
L’applet Get-WmiObject
de commande n’utilise pas la communication à distance Windows PowerShell pour effectuer des opérations à distance.
Vous pouvez utiliser le paramètre ComputerName de l’applet Get-WmiObject
de commande même si votre ordinateur ne répond pas à la configuration requise pour la communication à distance Windows PowerShell ou n’est pas configuré pour la communication à distance dans Windows PowerShell.
À compter de Windows PowerShell 3.0, la propriété __Server de l’objet qui Get-WmiObject
retourne a un alias PSComputerName . Vous pouvez ainsi inclure plus facilement le nom de l'ordinateur source dans la sortie et dans les rapports.
Exemples
Exemple 1 : Obtenir des processus sur l’ordinateur local
Cet exemple obtient les processus sur l’ordinateur local.
Get-WmiObject -Class Win32_Process
Exemple 2 : Obtient les services sur un ordinateur distant
Cet exemple obtient les services sur un ordinateur distant. Le paramètre ComputerName spécifie l’adresse IP d’un ordinateur distant. Par défaut, le compte d’utilisateur actuel doit être membre du groupe Administrateurs sur l’ordinateur distant.
Get-WmiObject -Class Win32_Service -ComputerName 10.1.4.62
Exemple 3 : Obtenir des classes WMI dans l’espace de noms racine ou par défaut de l’ordinateur local
Cet exemple obtient les classes WMI dans l’espace de noms racine ou par défaut de l’ordinateur local.
Get-WmiObject -Namespace "root/default" -List
Exemple 4 : Obtenir un service nommé sur plusieurs ordinateurs
Cet exemple obtient le service WinRM sur les ordinateurs spécifiés par la valeur du paramètre ComputerName .
Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 |
Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status
PSComputerName : SERVER01
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 844
StartMode : Auto
State : Running
Status : OK
PSComputerName : SERVER02
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 932
StartMode : Auto
State : Running
Status : OK
Un opérateur de pipeline (|
) envoie la sortie à l’applet Format-List
de commande, qui ajoute la propriété PSComputerName à la sortie par défaut. PSComputerName est un alias de la propriété __Server des objets qui Get-WmiObject
retournent. Cet alias a été introduit dans PowerShell 3.0.
Exemple 5 : Arrêter un service sur un ordinateur distant
Cet exemple montre comment arrêter le service WinRM sur un ordinateur distant. Get-WmiObject
obtient l’instance de l’objet de service WinRM sur Server01. Ensuite, il appelle la méthode StopService de la classe WMI Win32_Service sur cet objet.
(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()
Cela équivaut à utiliser l’applet de Stop-Service
commande.
Exemple 6 : Obtenir le BIOS sur l’ordinateur local
Cet exemple obtient les informations bios de l’ordinateur local. Le paramètre Property de l’applet Format-List
de commande est utilisé pour afficher toutes les propriétés de l’objet retourné dans une liste. Par défaut, seul le sous-ensemble des propriétés définies dans le Types.ps1xml
fichier de configuration s’affiche.
Get-WmiObject -Class Win32_Bios | Format-List -Property *
Status : OK
Name : Phoenix ROM BIOS PLUS Version 1.10 A05
Caption : Phoenix ROM BIOS PLUS Version 1.10 A05
SMBIOSPresent : True
__GENUS : 2
__CLASS : Win32_BIOS
__SUPERCLASS : CIM_BIOSElement
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_BIOS.Name="Phoenix ROM BIOS PLUS Version 1.10
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_BIOSElement, CIM_SoftwareElement, CIM_LogicalElement,
__SERVER : Server01
__NAMESPACE : root\cimv2
__PATH : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
BiosCharacteristics : {7, 9, 10, 11...}
BIOSVersion : {DELL - 15, Phoenix ROM BIOS PLUS Version 1.10 A05}
BuildNumber :
CodeSet :
CurrentLanguage : en|US|iso8859-1
Description : Phoenix ROM BIOS PLUS Version 1.10 A05
IdentificationCode :
InstallableLanguages : 1
InstallDate :
LanguageEdition :
ListOfLanguages : {en|US|iso8859-1}
Manufacturer : Dell Inc.
OtherTargetOS :
PrimaryBIOS : True
ReleaseDate : 20101103000000.000000+000
SerialNumber : 8VDM9P1
SMBIOSBIOSVersion : A05
SMBIOSMajorVersion : 2
SMBIOSMinorVersion : 6
SoftwareElementID : Phoenix ROM BIOS PLUS Version 1.10 A05
SoftwareElementState : 3
TargetOperatingSystem : 0
Version : DELL - 15
Scope : System.Management.ManagementScope
Path : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
Options : System.Management.ObjectGetOptions
ClassPath : \\JUNE-PC\root\cimv2:Win32_BIOS
Properties : {BiosCharacteristics, BIOSVersion, BuildNumber, Caption...}
SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers : {dynamic, Locale, provider, UUID}
Site :
Container :
Exemple 7 : Obtenir les services sur un ordinateur distant
Cet exemple utilise le paramètre Credential de l’applet Get-WmiObject
de commande pour obtenir les services sur un ordinateur distant. La valeur du paramètre Credential est un nom de compte d’utilisateur. L'utilisateur est invité à entrer un mot de passe.
Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam
Remarque
Les informations d’identification ne peuvent pas être utilisées lors du ciblage de l’ordinateur local.
Paramètres
-Amended
Obtient ou définit une valeur qui indique si les objets retournés par WMI doivent contenir des informations modifiées. En général, les informations modifiées sont des informations localisables jointes à l'objet WMI (descriptions de propriété et d'objet, par exemple).
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 |
-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 le travail 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 Get-WmiObject
elle est utilisée avec le paramètre ComputerName , 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 Job
nom. Pour obtenir les résultats du travail, utilisez l’applet Receive-Job
de commande.
Pour plus d’informations sur les travaux en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.
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 |
-Authentication
Spécifie le niveau d’authentification à utiliser avec la connexion WMI. Les valeurs autorisées sont :
-1
: inchangé0
: valeur par défaut1
: 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.)
Type: | AuthenticationLevel |
Valeurs acceptées: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Authority
Spécifie l'autorité à utiliser pour authentifier la connexion WMI. Vous pouvez spécifier l'authentification Kerberos ou NTLM standard. Pour utiliser NTLM, définissez le paramètre ntlmdomain:<DomainName>
d’autorité sur , 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.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Class
Spécifie le nom d'une classe WMI. Lors de l'utilisation de ce paramètre, l'applet de commande récupère des instances de la classe WMI.
Type: | String |
Alias: | ClassName |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ComputerName
Spécifie l'ordinateur cible pour l'opération de gestion. Entrez un nom de domaine complet (FQDN), un nom NetBIOS ou une adresse IP. Lorsque l'ordinateur distant se trouve dans un domaine différent de celui de l'ordinateur local, le nom de domaine complet est requis.
La valeur par défaut est l'ordinateur local. Pour spécifier l’ordinateur local, par exemple dans une liste de noms d’ordinateurs, utilisez localhost
, le nom de l’ordinateur local ou un point (.
).
Lorsque vous spécifiez un ordinateur distant, votre compte actuel ou celui que vous spécifiez avec le paramètre Credential doit disposer des autorisations appropriées pour accéder aux informations.
Ce paramètre ne s'appuie pas sur la communication à distance Windows PowerShell, laquelle utilise le service Gestion des services Web. Vous pouvez utiliser le paramètre ComputerName de Get-WmiObject
même si votre ordinateur n’est pas configuré pour exécuter des commandes distantes WS-Management.
Type: | String[] |
Alias: | Cn |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Credential
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
. Ou entrez un objet PSCredential , tel qu’un objet retourné par l’applet Get-Credential
de commande. Lorsque vous tapez un nom d’utilisateur, vous êtes invité à entrer un mot de passe. Les informations d’identification ne peuvent pas être utilisées lors du ciblage de l’ordinateur local.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DirectRead
Spécifie si l'accès direct au fournisseur WMI est demandé pour la classe spécifiée, quelles que soient ses classes de base ou ses classes dérivées.
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 |
-EnableAllPrivileges
Active tous les privilèges de l'utilisateur actuel avant que la commande ne passe l'appel WMI.
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 |
-Filter
Spécifie une clause Where à utiliser comme filtre. Utilise la syntaxe du langage de requêtes WMI (WQL).
Important
N’incluez pas le mot clé Where dans la valeur du paramètre. Par exemple, les commandes suivantes retournent uniquement les disques logiques qui ont un DeviceID de c:
et des services qui ont le nom « WinRM » sans utiliser le mot clé Where .
Get-WmiObject Win32_LogicalDisk -filter "DeviceID = 'c:' "
Get-WmiObject win32_service -filter "name='WinRM'"
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Impersonation
Spécifie le niveau d'emprunt d'identité à utiliser.
Les valeurs valides pour ce paramètre sont :
0
: valeur par défaut. Lit le registre local pour le niveau d’emprunt d’identité par défaut. La valeur par défaut est généralement définie sur 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.
Type: | ImpersonationLevel |
Valeurs acceptées: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-List
Obtient les noms des classes WMI dans l’espace de noms du référentiel WMI spécifié par le paramètre Namespace .
Si vous spécifiez le paramètre List , mais pas le paramètre Namespace , Get-WmiObject
utilise l’espace de noms Root\Cimv2 par défaut. Cette applet de commande n’utilise pas l’entrée de Registre par défaut Namespace dans la clé de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting
Registre pour déterminer l’espace de noms par défaut.
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 |
-Locale
Spécifie les paramètres régionaux par défaut pour les objets WMI. Entrez une valeur au MS_<LCID>
format.
Type: | String |
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
Lorsqu’il est utilisé avec le paramètre Class , le paramètre Namespace spécifie l’espace de noms du référentiel WMI où se trouve la classe WMI spécifiée. Lorsqu’il est utilisé avec le paramètre List , il spécifie l’espace de noms à partir duquel collecter les informations de classe WMI.
Type: | String |
Alias: | NS |
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 les propriétés de classe WMI à partir de laquelle cette applet de commande obtient des informations. Entrez les noms des propriétés.
Type: | String[] |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Query
Exécute l'instruction utilisant le langage de requêtes WMI (WQL) spécifiée. Ce paramètre ne prend pas en charge les requêtes d'événement.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Recurse
Recherche l’espace de noms actuel et tous les autres espaces de noms pour le nom de classe spécifié par le paramètre Class .
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 |
-ThrottleLimit
Spécifie le nombre maximal d'opérations WMI pouvant être exécutées simultanément. Ce paramètre est valide uniquement lorsque le paramètre AsJob est utilisé dans la commande.
Type: | Int32 |
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
None
Vous ne pouvez pas diriger l’entrée vers Get-WmiObject
.
Sorties
PSObject or System.Management.Automation.RemotingJob
Lorsque vous utilisez le paramètre AsJob, l’applet de commande retourne un objet de travail. Sinon, l’objet qui Get-WmiObject
retourne dépend de la valeur du paramètre Class .
Notes
Windows PowerShell inclut les alias suivants pour Get-WmiObject
:
gwmi
Pour accéder aux informations se rapportant à WMI sur un ordinateur distant, l'applet de commande doit s'exécuter sous un compte qui est membre du groupe des administrateurs locaux sur l'ordinateur distant. Le contrôle d'accès par défaut sur l'espace de noms WMI de l'espace de stockage distant peut également être modifié afin d'octroyer des droits d'accès à d'autres comptes.
Seules quelques propriétés de chaque classe WMI sont affichées par défaut. L’ensemble de propriétés affichées pour chaque classe WMI est spécifié dans le Types.ps1xml
fichier de configuration. Pour obtenir toutes les propriétés d’un objet WMI, utilisez les applets de commande ou Format-List
les Get-Member
applets de commande.