Get-Member
Obtient les propriétés et méthodes des objets.
Syntaxe
Default (Par défaut)
Get-Member
[-InputObject <PSObject>]
[[-Name] <String[]>]
[-MemberType <PSMemberTypes>]
[-View <PSMemberViewTypes>]
[-Static]
[-Force]
[<CommonParameters>]
Description
L’applet Get-Member de commande obtient les membres, les propriétés et les méthodes des objets.
Pour spécifier l’objet, utilisez le paramètre InputObject ou dirigez un objet vers Get-Member. Pour obtenir des informations sur les membres statiques, les membres de la classe, et non de l’instance, utilisent le paramètre static. Pour obtenir uniquement certains types de membres, tels que NoteProperties, utilisez le paramètre MemberType.
Get-Member retourne une liste de membres triés par ordre alphabétique. Les méthodes sont répertoriées en premier, suivies des propriétés.
Exemples
Exemple 1 : Obtenir les membres des objets de processus
Cette commande affiche les propriétés et méthodes des objets de service générés par l’applet Get-Service de commande.
Étant donné que la Get-Member partie de la commande n’a aucun paramètre, elle utilise des valeurs par défaut pour les paramètres. Par défaut, Get-Member n’obtient pas de membres statiques ou intrinsèques.
Get-Service | Get-Member
TypeName: System.Service.ServiceController#StartupType
Name MemberType Definition
---- ---------- ----------
Name AliasProperty Name = ServiceName
RequiredServices AliasProperty RequiredServices = ServicesDependedOn
Disposed Event System.EventHandler Disposed(System.Object, System.EventArgs)
Close Method void Close()
Continue Method void Continue()
Dispose Method void Dispose(), void IDisposable.Dispose()
Equals Method bool Equals(System.Object obj)
ExecuteCommand Method void ExecuteCommand(int command)
GetHashCode Method int GetHashCode()
GetLifetimeService Method System.Object GetLifetimeService()
GetType Method type GetType()
InitializeLifetimeService Method System.Object InitializeLifetimeService()
Pause Method void Pause()
Refresh Method void Refresh()
Start Method void Start(), void Start(string[] args)
Stop Method void Stop()
WaitForStatus Method void WaitForStatus(System.ServiceProcess.ServiceControllerSt...
BinaryPathName Property System.String {get;set;}
CanPauseAndContinue Property bool CanPauseAndContinue {get;}
CanShutdown Property bool CanShutdown {get;}
CanStop Property bool CanStop {get;}
Container Property System.ComponentModel.IContainer Container {get;}
DelayedAutoStart Property System.Boolean {get;set;}
DependentServices Property System.ServiceProcess.ServiceController[] DependentServices {get;}
Description Property System.String {get;set;}
DisplayName Property string DisplayName {get;set;}
MachineName Property string MachineName {get;set;}
ServiceHandle Property System.Runtime.InteropServices.SafeHandle ServiceHandle {get;}
ServiceName Property 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;}
StartType Property System.ServiceProcess.ServiceStartMode StartType {get;}
StartupType Property Microsoft.PowerShell.Commands.ServiceStartupType {get;set;}
Status Property System.ServiceProcess.ServiceControllerStatus Status {get;}
UserName Property System.String {get;set;}
ToString ScriptMethod System.Object ToString();
Exemple 2 : Obtenir des membres d’objets de service
Cet exemple obtient tous les membres (propriétés et méthodes) des objets de service récupérés par l’applet Get-Service de commande, y compris les membres intrinsèques, tels que psbase, psobject et les méthodes get_ et set_.
Get-Service | Get-Member -Force
(Get-Service Schedule).psbase
La Get-Member commande 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. 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. Pour plus d’informations sur les membres intrinsèques, consultez about_Intrinsic_Members
Exemple 3 : Obtenir des membres étendus d’objets de service
Cet exemple obtient les méthodes et les propriétés des objets de service qui ont été étendus à l’aide d’un Types.ps1xml fichier ou de l’applet Add-Member de commande.
Get-Service | Get-Member -View Extended
TypeName: System.Service.ServiceController#StartupType
Name MemberType Definition
---- ---------- ----------
Name AliasProperty Name = ServiceName
RequiredServices AliasProperty RequiredServices = ServicesDependedOn
ToString ScriptMethod System.Object ToString();
La Get-Member commande utilise le paramètre View pour obtenir uniquement les membres étendus des objets de service. Dans ce cas, le membre étendu est la propriété Name , qui est une propriété alias de la propriété ServiceName .
Exemple 4 : Obtenir les propriétés de script des objets du journal des événements
Cet exemple obtient les propriétés de script des objets du journal des événements dans le journal système dans l’Observateur d’événements.
Get-WinEvent -LogName System -MaxEvents 1 | Get-Member -MemberType NoteProperty
TypeName: System.Diagnostics.Eventing.Reader.EventLogRecord
Name MemberType Definition
---- ---------- ----------
Message NoteProperty string Message=The machine-default permission settings do not grant Local ...
Le paramètre MemberType obtient uniquement des objets ayant la valeur de NoteProperty leur propriété MemberType .
La commande retourne la propriété Message de l’objet EventLogRecord .
Exemple 5 : Obtenir des objets avec une propriété spécifiée
Cet exemple obtient des objets qui ont une propriété MachineName dans la sortie à partir d’une liste d’applets de commande.
La $list variable contient une liste d’applets de commande à évaluer. L’instruction foreach appelle chaque commande et envoie les résultats à Get-Member. Le paramètre Name limite les résultats des Get-Member membres qui ont le nom MachineName.
$list = "Get-Process", "Get-Service", "Get-Culture", "Get-PSDrive", "Get-ExecutionPolicy"
foreach ($cmdlet in $list) {& $cmdlet | Get-Member -Name MachineName}
TypeName: System.Diagnostics.Process
Name MemberType Definition
---- ---------- ----------
MachineName Property string MachineName {get;}
TypeName: System.Service.ServiceController#StartupType
Name MemberType Definition
---- ---------- ----------
MachineName Property string MachineName {get;set;}
Les résultats montrent que seuls les objets de traitement et les objets de service ont une propriété MachineName .
Exemple 6 : Obtenir des membres pour un tableau
Cet exemple montre comment rechercher les membres d’un tableau d’objets. Lorsque vous dirigez et tableaux d’objets vers Get-Member, l’applet de commande retourne une liste de membres pour chaque type d’objet unique dans le tableau.
Si vous passez le tableau à l’aide du paramètre InputObject , le tableau est traité comme un seul objet.
$array = @(1,'hello')
$array | Get-Member
TypeName: System.Int32
Name MemberType Definition
---- ---------- ----------
CompareTo Method int CompareTo(System.Object value), int CompareTo(int value), int ICompar...
Equals Method bool Equals(System.Object obj), bool Equals(int obj), bool IEquatable[int...
GetHashCode Method int GetHashCode()
GetType Method type GetType()
GetTypeCode Method System.TypeCode GetTypeCode(), System.TypeCode IConvertible.GetTypeCode()
ToBoolean Method bool IConvertible.ToBoolean(System.IFormatProvider provider)
ToByte Method byte IConvertible.ToByte(System.IFormatProvider provider)
...
TypeName: System.String
Name MemberType Definition
---- ---------- ----------
Clone Method System.Object Clone(), System.Object ICloneable.Clone()
CompareTo Method int CompareTo(System.Object value), int CompareTo(str...
Contains Method bool Contains(string value), bool Contains(string val...
CopyTo Method void CopyTo(int sourceIndex, char[] destination, int ...
EndsWith Method bool EndsWith(string value), bool EndsWith(string val...
EnumerateRunes Method System.Text.StringRuneEnumerator EnumerateRunes()
Equals Method bool Equals(System.Object obj), bool Equals(string va...
GetEnumerator Method System.CharEnumerator GetEnumerator(), System.Collect...
GetHashCode Method int GetHashCode(), int GetHashCode(System.StringCompa...
...
Get-Member -InputObject $array
TypeName: System.Object[]
Name MemberType Definition
---- ---------- ----------
Add Method int IList.Add(System.Object value)
Address Method System.Object&, System.Private.CoreLib, Version=4.0.0.0, Cu...
Clear Method void IList.Clear()
Clone Method System.Object Clone(), System.Object ICloneable.Clone()
CompareTo Method int IStructuralComparable.CompareTo(System.Object other, Sy...
...
La $array variable contient un objet Int32 et un objet de chaîne , comme indiqué lorsque le tableau est redirigé vers Get-Member. Lorsqu’il $array est passé à l’aide du paramètre Get-MemberInputObject, les membres du type Object[] sont retournés.
Exemple 7 : Déterminer les propriétés d’objet que vous pouvez définir
Cet exemple montre comment déterminer les propriétés d’un objet qui peuvent être modifiées.
$File = Get-Item C:\test\textFile.txt
$File.psobject.Properties | Where-Object IsSettable | Select-Object -Property Name
Name
----
PSPath
PSParentPath
PSChildName
PSDrive
PSProvider
PSIsContainer
IsReadOnly
CreationTime
CreationTimeUtc
LastAccessTime
LastAccessTimeUtc
LastWriteTime
LastWriteTimeUtc
Attributes
Exemple 8 : Répertorier les propriétés d’un objet dans l’ordre dans lequel ils ont été créés
Cet exemple montre comment créer un objet PSObject et y ajouter des propriétés.
Get-Member répertorie les propriétés dans l’ordre alphabétique. Pour afficher les propriétés dans l’ordre dans lequel elles ont été ajoutées à l’objet, vous devez utiliser le membre intrinsèque psobject .
$Asset = New-Object -TypeName psobject
$d = [ordered]@{Name="Server30";System="Server Core";PSVersion="4.0"}
$Asset | Add-Member -NotePropertyMembers $d -TypeName Asset
$Asset.psobject.Properties | Select-Object Name, Value
Name Value
---- -----
Name Server30
System Server Core
PSVersion 4.0
Paramètres
-Force
Ajoute les membres intrinsèques et les méthodes get_ générées par le compilateur et set_ à l’affichage. La liste suivante décrit les propriétés qui sont ajoutées lorsque vous utilisez le paramètre Force :
-
psbase: propriétés d’origine de l’objet .NET sans extension ni adaptation. Il s’agit des propriétés définies pour la classe d’objet. -
psadapted: propriétés et méthodes définies dans le système de type étendu PowerShell. -
psextended: propriétés et méthodes ajoutées dans lesTypes.ps1xmlfichiers ou à l’aide de l’applet deAdd-Membercommande. -
psobject: adaptateur qui convertit l’objet de base en objet PSObject PowerShell. -
pstypenames: liste de types d’objets qui décrivent l’objet, dans l’ordre de spécificité. Lors de la mise en forme de l’objet, PowerShell recherche les types dans lesFormat.ps1xmlfichiers dans le répertoire d’installation de PowerShell ($PSHOME). Il utilise la définition de mise en forme pour le premier type qu’il trouve.
Par défaut, Get-Member obtient ces propriétés dans toutes les vues, sauf Base et Adapté, mais ne les affiche pas.
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 |
-InputObject
Spécifie l’objet dont les membres sont récupérés.
L’utilisation du paramètre InputObject n’est pas la même que la piping d’un objet vers Get-Member. Les différences sont les suivantes :
- Lorsque vous dirigez une collection d’objets vers
Get-Member,Get-Memberobtient les membres des objets individuels de la collection, tels que les propriétés de chaque chaîne dans un tableau de chaînes. - Lorsque vous utilisez InputObject pour envoyer une collection d’objets,
Get-Memberobtient les membres de la collection, tels que les propriétés du tableau dans un tableau de chaînes.
Propriétés du paramètre
| Type: | PSObject |
| 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: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-MemberType
Spécifie le type de membre que cette applet de commande obtient. La valeur par défaut est All.
Les valeurs acceptables pour ce paramètre sont les suivantes :
AliasPropertyCodePropertyPropertyNotePropertyScriptPropertyPropertiesPropertySetMethodCodeMethodScriptMethodMethodsParameterizedPropertyMemberSetEventDynamicAll
Ces valeurs sont définies comme une énumération basée sur des indicateurs. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être transmises au paramètre MemberType en tant que tableau de valeurs ou sous forme de chaîne séparées par des virgules de ces valeurs. L’applet de commande combine les valeurs à l’aide d’une opération binary-OR. La transmission de valeurs en tant que tableau est l’option la plus simple et vous permet également d’utiliser la complétion par tabulation pour les valeurs.
Pour plus d’informations sur ces valeurs, consultez énumération PSMemberTypes.
Tous les objets n’ont pas tous les types de membres. Si vous spécifiez un type de membre dont l’objet n’a pas, PowerShell retourne une valeur Null. Pour obtenir des types de membres associé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.
Propriétés du paramètre
| Type: | PSMemberTypes |
| Valeur par défaut: | None |
| Valeurs acceptées: | AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet, Event, Dynamic, All |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Catégorie |
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 |
-Name
Spécifie les noms 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 le paramètre MemberType, View ou Static , Get-Member obtient uniquement les membres qui répondent aux critères de tous les paramètres.
Pour obtenir un membre statique par nom, utilisez le paramètre static avec 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
(All)
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Static
Indique que cette applet de commande obtient uniquement les propriétés et méthodes statiques de l’objet. Les propriétés et méthodes statiques sont définies sur la classe d’objets, et non sur une instance particulière de la classe.
Si vous utilisez le paramètre statique avec les paramètres View ou Force , l’applet de commande ignore ces paramètres. Si vous utilisez le paramètre Static avec le paramètre MemberType , Get-Member obtient uniquement les membres qui appartiennent aux deux jeux.
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 |
-View
Spécifie que cette applet de commande obtient uniquement des propriétés et des méthodes de types particuliers. Spécifiez une ou plusieurs des valeurs. La valeur par défaut est Adapt, Extended.
Les valeurs acceptables pour ce paramètre sont les suivantes :
- Base. Obtient uniquement les propriétés et méthodes d’origine de l’objet .NET (sans extension ou adaptation).
- Adapté. Obtient uniquement les propriétés et méthodes définies dans le système de type étendu PowerShell.
- Prolongé. Obtient uniquement les propriétés et méthodes ajoutées dans un
Types.ps1xmlfichier ou à l’aide de l’applet deAdd-Membercommande. - Tout. Obtient les membres des vues Base, Adaptée et Étendue.
Le paramètre View détermine les membres récupérés, pas seulement l’affichage de ces membres.
Pour obtenir des types de membres particuliers, tels que des propriétés de script, utilisez le paramètre MemberType Get-Member obtient les membres qui appartiennent aux deux jeux. Si vous utilisez les paramètres statiques et View dans la même commande, le paramètre View est ignoré.
Propriétés du paramètre
| Type: | PSMemberViewTypes |
| Valeur par défaut: | Adapted, Extended |
| Valeurs acceptées: | Extended, Adapted, Base, All |
| 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 |
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
PSObject
Vous pouvez diriger n’importe quel objet vers cette applet de commande.
Sorties
MemberDefinition
Cette applet de commande retourne un MemberDefinition pour chaque propriété ou méthode qu’elle obtient.
Notes
PowerShell inclut les alias suivants pour Get-Member:
- Toutes les plateformes :
gm
Vous pouvez obtenir des informations sur un objet de collection à l’aide du paramètre InputObject ou en pipissant l’objet, précédé d’une virgule, vers Get-Member.
Vous pouvez utiliser la variable automatique $this dans les blocs de script qui définissent les valeurs des nouvelles propriétés et méthodes. La variable $this fait référence à l’instance de l’objet auquel les propriétés et méthodes sont ajoutées. Pour plus d’informations sur la variable $this, consultez about_Automatic_Variables.
Si vous passez un objet représentant un type, comme un littéral de type tel que [int], Get-Member retournez des informations sur le [System.RuntimeType] type. Toutefois, lorsque vous utilisez le paramètre Static , Get-Member retourne les membres statiques du type spécifique représenté par l’instance System.RuntimeType .