Obtient les propriétés et méthodes des objets.

Syntaxe

Get-Member [[-Name] <string[]>] [-Force] [-InputObject <psobject>] [-MemberType {<AliasProperty> | <CodeProperty> | <Property> | <NoteProperty> | <ScriptProperty> | <Properties> | <PropertySet> | <Method> | <CodeMethod> | <ScriptMethod> | <Methods> | <ParameterizedProperty> | <MemberSet> | <Event> | <All>}] [-Static] [-View {<Extended> | <Adapted> | <Base> | <All>}] [<CommonParameters>]

Description

L'applet de commande Get-Member obtient les « membres » (propriétés et méthodes) des objets.

Pour indiquer l'objet, utilisez le paramètre InputObject ou dirigez un objet vers Get-Member. Pour récupérer des informations sur les membres statiques (membres de la classe, pas de l'instance), utilisez le paramètre Static. Pour obtenir certains types de membres uniquement, tels que NoteProperties, utilisez le paramètre MemberType.

Paramètres

-Force

Ajoute les membres intrinsèques (PSBase, PSAdapted, PSObject, PSTypeNames) et les méthodes get_ et set_ générées par le compilateur à l'affichage. Par défaut, Get-Member obtient ces propriétés dans tous les vues autres que « Base » et « Adapted », mais ne les affiche pas.

La liste suivante décrit les propriétés ajoutées lorsque vous utilisez le paramètre Force :

-- PSBase : propriétés d'origine de l'objet .NET Framework sans extension ou adaptation. Il s'agit des propriétés définies pour la classe d'objet et répertoriées dans MSDN.

-- PSAdapted : propriétés et méthodes définies dans le système de type étendu de Windows PowerShell.

-- PSExtended : propriétés et méthodes ajoutées aux fichiers Types.ps1xml ou à l'aide de l'applet de commande Add-Member.

-- PSObject : carte qui convertit l'objet de base en un objet PSObject Windows PowerShell.

-- PSTypeNames : liste des types d'objets qui décrivent l'objet, dans l'ordre de spécificité. Lors de la mise en forme de l'objet, Windows PowerShell recherche les types dans les fichiers Format.ps1xml du répertoire d'installation de Windows PowerShell ($pshome). Il utilise la définition de mise en forme du premier type trouvé.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InputObject <psobject>

Spécifie l'objet dont les membres sont récupérés.

Le fait d'utiliser le paramètre InputObject ne revient pas au même que de diriger un objet vers Get-Member. Les différences sont les suivantes :

-- Lorsque vous dirigez une collection d'objets vers Get-Member, Get-Member obtient les membres des objets individuels de la collection, telles que les propriétés des entiers dans un tableau d'entiers.

-- Lorsque vous utilisez InputObject pour envoyer une collection d'objets, Get-Member obtient les membres de la collection, telles que les propriétés du tableau dans un tableau d'entiers.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue)

Accepter les caractères génériques ?

false

-MemberType <PSMemberTypes>

Obtient uniquement les membres possédant le type de membre spécifié. La valeur par défaut est All.

Les valeurs valides pour ce paramètre sont :

-- AliasProperty : propriété qui définit un nouveau nom pour une propriété existante.

-- CodeMethod : méthode qui référence une méthode statique d'une classe .NET Framework.

-- CodeProperty : propriété qui référence une propriété statique d'une classe .NET Framework.

-- Event : indique que l'objet envoie un message pour spécifier une action ou un changement d'état.

-- MemberSet : collection prédéfinie de propriétés et méthodes, telles que PSBase, PSObject et PSTypeNames.

-- Method : méthode de l'objet .NET Framework sous-jacent.

-- NoteProperty : propriété ayant une valeur statique.

-- ParameterizedProperty : propriété qui utilise des paramètres et des valeurs de paramètre.

-- Property : propriété de l'objet .NET Framework sous-jacent.

-- PropertySet : collection prédéfinie de propriétés d'objet.

-- ScriptMethod : méthode dont la valeur est la sortie d'un script.

-- ScriptProperty : propriété dont la valeur est la sortie d'un script.

-- All : obtient tous les types de membres.

-- Methods : obtient tous les types de méthodes de l'objet (par exemple, Method, CodeMethod, ScriptMethod).

-- Properties : obtient tous les types de propriétés de l'objet (par exemple, Property, CodeProperty, AliasProperty, ScriptProperty).

Tous les objets ne possèdent pas chaque type de membre. Si vous spécifiez un type de membre non associé à l'objet, Windows PowerShell retourne une valeur nulle.

Pour obtenir des types de membres liés, tels que tous les membres étendus, utilisez le paramètre View. Si vous utilisez le paramètre MemberType avec les paramètres Static ou View, Get-Member obtient les membres qui appartiennent aux deux jeux.

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 d'une ou plusieurs propriétés ou méthodes de l'objet. Get-Member obtient uniquement les propriétés et méthodes spécifiées.

Si vous utilisez le paramètre Name avec les paramètres MemberType, View ou Static, Get-Member obtient uniquement les membres qui satisfont aux critères de tous les paramètres.

Pour obtenir un membre statique en fonction de son nom, utilisez le paramètre Static avec le paramètre Name.

Obligatoire ?

false

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Static

Obtient uniquement les méthodes et propriétés statiques de l'objet.

Les méthodes et propriétés statiques sont définies en fonction de la classe des objets, et non pas en fonction d'une instance particulière de la classe.

Si vous utilisez le paramètre Static avec le paramètre View, le paramètre View est ignoré. Si vous utilisez le paramètre Static avec le paramètre MemberType, Get-Member obtient uniquement les membres appartenant aux deux jeux.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-View <PSMemberViewTypes>

Obtient uniquement des types particuliers de membres (propriétés et méthodes). Spécifiez une ou plusieurs valeurs. La valeur par défaut est « Adapted, Extended ».

Les valeurs valides sont :

-- Base : obtient uniquement les propriétés et méthodes d'origine de l'objet .NET Framework (sans extension ou adaptation).

-- Adapted : obtient uniquement les propriétés et méthodes définies dans le système de type étendu de Windows PowerShell.

-- Extended : obtient uniquement les propriétés et méthodes ajoutées aux fichiers Types.ps1xml ou à l'aide de l'applet de commande Add-Member.

-- All : obtient les membres des vues Base, Adapted et Extended.

Le paramètre View détermine les membres récupérés, pas uniquement l'affichage de ces membres.

Pour obtenir des types de membres spécifiques, telles que des propriétés de script, utilisez le paramètre MemberType. Si vous utilisez les paramètres MemberType et View dans la même commande, Get-Member obtient les membres qui appartiennent aux deux jeux. Si vous utilisez les paramètres Static et View dans la même commande, le paramètre View est ignoré.

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

System.Management.Automation.PSObject

Vous pouvez diriger n'importe quel objet vers Get-Member.

Sorties

Microsoft.PowerShell.Commands.MemberDefinition

Get-Member retourne un objet pour chaque propriété ou méthode qu'elle obtient.

Remarques

Vous pouvez récupérer des informations sur un objet de collection en utilisant le paramètre InputObject ou en dirigeant l'objet, précédé d'une virgule, vers Get-Member.

Exemple 1

C:\PS>get-service | get-member


   TypeName: System.ServiceProcess.ServiceController

Name                      MemberType    Definition
----                      ----------    ----------
Name                      AliasProperty Name = ServiceName
Close                     Method        System.Void Close()
Continue                  Method        System.Void Continue()
CreateObjRef              Method        System.Runtime.Remoting.ObjRef CreateObjRef(Type requestedType)
Dispose                   Method        System.Void Dispose()
Equals                    Method        System.Boolean Equals(Object obj)
ExecuteCommand            Method        System.Void ExecuteCommand(Int32 command)
GetHashCode               Method        System.Int32 GetHashCode()
GetLifetimeService        Method        System.Object GetLifetimeService()
GetType                   Method        System.Type GetType()
InitializeLifetimeService Method        System.Object InitializeLifetimeService()
Pause                     Method        System.Void Pause()
Refresh                   Method        System.Void Refresh()
Start                     Method        System.Void Start(), System.Void Start(String[] args)
Stop                      Method        System.Void Stop()
ToString                  Method        System.String ToString()
WaitForStatus             Method        System.Void WaitForStatus(ServiceControllerStatus desiredStatus), System.Voi...
CanPauseAndContinue       Property      System.Boolean CanPauseAndContinue {get;}
CanShutdown               Property      System.Boolean CanShutdown {get;}
CanStop                   Property      System.Boolean CanStop {get;}
Container                 Property      System.ComponentModel.IContainer Container {get;}
DependentServices         Property      System.ServiceProcess.ServiceController[] DependentServices {get;}
DisplayName               Property      System.String DisplayName {get;set;}
MachineName               Property      System.String MachineName {get;set;}
ServiceHandle             Property      System.Runtime.InteropServices.SafeHandle ServiceHandle {get;}
ServiceName               Property      System.String ServiceName {get;set;}
ServicesDependedOn        Property      System.ServiceProcess.ServiceController[] ServicesDependedOn {get;}
ServiceType               Property      System.ServiceProcess.ServiceType ServiceType {get;}
Site                      Property      System.ComponentModel.ISite Site {get;set;}
Status                    Property      System.ServiceProcess.ServiceControllerStatus Status {get;}

Description
-----------
Cette commande affiche les propriétés et méthodes des objets processus (System.ServiceProcess.ServiceController) générés par l'applet de commande Get-Service.

Elle utilise l'opérateur de pipeline (|) pour envoyer la sortie d'une commande Get-Service à Get-Member.

Étant donné que la partie Get-Member de la commande ne comporte pas de paramètres, elle utilise toutes les valeurs par défaut. Elle obtient ainsi tous les types de membres, mais elle n'obtient pas de membres statiques et n'affiche pas de membres intrinsèques.






Exemple 2

C:\PS>get-service | get-member -force

C:\PS> (get-service -schedule).psbase

Description
-----------
Cet exemple obtient tous les membres (propriétés et méthodes) des objets services (System.ServiceProcess.ServiceController) récupérés par l'applet de commande Get-Service, notamment les membres intrinsèques, tels que PSBase et PSObject, ainsi que les méthodes get_ et set_.

La première commande utilise l'applet de commande Get-Service pour récupérer les objets représentant les services du système. Elle utilise un opérateur de pipeline (|) pour passer les objets services à l'applet de commande Get-Member.

La commande Get-Member utilise le paramètre Force pour ajouter les membres intrinsèques et les membres générés par le compilateur des objets à l'affichage. Get-Member obtient ces membres, mais les masque par défaut.

Vous pouvez utiliser ces propriétés et méthodes de la même façon que vous utiliseriez une méthode adaptée de l'objet. La deuxième commande montre comment afficher la valeur de la propriété PSBase du service Schedule.






Exemple 3

C:\PS>get-service	| get-member -view extended

   TypeName: System.ServiceProcess.ServiceController

Name MemberType    Definition
---- ----------    ----------
Name AliasProperty Name = ServiceName

Description
-----------
Cette commande obtient les méthodes et propriétés des objets services étendus à l'aide du fichier Types.ps1xml ou de l'applet de commande Add-Member. 


La commande Get-Member utilise le paramètre View pour obtenir uniquement les membres étendus des objets services. Dans ce cas, le membre étendu est la propriété Name, qui est une propriété d'alias de la propriété ServiceName.






Exemple 4

C:\PS>get-eventlog -log system | gm -membertype scriptproperty

   TypeName: System.Diagnostics.EventLogEntry

Name    MemberType     Definition
----    ----------     ----------
EventID ScriptProperty System.Object EventID {get=$this.get_EventID() -band 0xFFFF;}

Description
-----------
Cette commande obtient les propriétés de script des objets de journal des événements du journal système de l'Observateur d'événements. Dans ce cas, la seule propriété de script est EventID.






Exemple 5

C:\PS>get-eventlog -log system | get-member -membertype scriptproperty


   TypeName: System.Diagnostics.EventLogEntry

Name    MemberType     Definition
----    ----------     ----------
EventID ScriptProperty System.Object EventID {get=$this.get_EventID() -band 0xFFFF;}

Description
-----------
Cette commande obtient les propriétés de script des objets de journal des événements du journal système de l'Observateur d'événements. 

Elle utilise le paramètre MemberType pour obtenir uniquement les objets possédant la valeur AliasProperty pour leur propriété MemberType.

Elle retourne la propriété EventID de l'objet EventLog.






Exemple 6

C:\PS>$a = "get-process", "get-service", "get-culture", "get-psdrive", "get-executionpolicy"

C:\PS> foreach ($cmdlet in $a) {invoke-expression $cmdlet | get-member -name machinename}

TypeName: System.Diagnostics.Process

Name        MemberType Definition
----        ---------- ----------
MachineName Property   System.String MachineName {get;}


   TypeName: System.ServiceProcess.ServiceController

Name        MemberType Definition
----        ---------- ----------
MachineName Property   System.String MachineName {get;set;}

Description
-----------
Cette commande obtient les objets possédant une propriété MachineName à partir d'une liste d'applets de commande.

La première commande stocke le nom de plusieurs applets de commande dans la variable $a.

La deuxième commande utilise une instruction ForEach pour appeler chaque commande, envoyer les résultats à Get-Member et limiter les résultats de Get-Member aux membres possédant le nom « MachineName ».

Les résultats montrent que seuls les objets processus (System.Diagnostics.Process) et les objets services (System.ServiceProcess.ServiceController) ont une propriété MachineName.






Exemple 7

C:\PS>$a = get-member -inputobject @(1)

C:\PS>$a.count

1

C:\PS> $a = get-member -inputobject 1,2,3

   TypeName: System.Object[]
Name               MemberType    Definition
----               ----------    ----------
Count              AliasProperty Count = Length
Address            Method        System.Object& Address(Int32 )
Clone              Method        System.Object Clone()
...

C:\PS>$a.count
1

Description
-----------
Cet exemple montre comment rechercher les propriétés et méthodes d'un tableau d'objets lorsque vous disposez d'un seul objet du type donné.

Étant donné que l'objectif de la commande est de rechercher les propriétés d'un tableau, la première commande utilise le paramètre InputObject. Elle utilise le symbole « à » (@) pour indiquer un tableau. Dans ce cas, le tableau contient un seul objet, l'entier 1. 

La troisième commande utilise l'applet de commande Get-Member pour obtenir les propriétés et méthodes d'un tableau d'entiers, puis les enregistre dans la variable $a.

La quatrième commande utilise la propriété Count du tableau pour rechercher le nombre d'objets dans la variable $a.






Voir aussi




Table des matières