Get-Member
RÉSUMÉ
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 [<SwitchParameter>]
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 uniquemen
t 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 [<SwitchParameter>]
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, WarningAction, WarningVariable,
OutBuffer et OutVariable. Pour plus d'informations, tapez
« get-help about_commonparameters ».
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.
NOTES
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.Vo
i...
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.
LIENS CONNEXES
Online version: http://go.microsoft.com/fwlink/?LinkID=113322
Add-Member
Get-Help
Get-Command
Get-PSDrive
_______________________________________________________________________________
Learning About Objects: Get-Member
Published: May 20, 2009Applies To: Windows PowerShell 2.0
One of the most useful cmdlets is Get-Member, which displays
information about the .NET Framework object that a command returns. The
information includes the type, properties, and methods of the object.
To use Get-Member, use a pipeline operator (|) to send the results of a command to Get-Member. For example:
This command reveals that Get-Service actually returns a set of System.ServiceProcess.ServiceController objects -- one for each service on the computer.
This information looks very technical, but it is actually very practical.
To use Get-Member, use a pipeline operator (|) to send the results of a command to Get-Member. For example:
get-service | get-member
TypeName: System.ServiceProcess.ServiceController
Name MemberType Definition
---- ---------- ----------
Name AliasProperty Name = ServiceName
add_Disposed Method System.Void add_Disposed(EventHandler value)
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)
get_CanPauseAndContinue Method System.Boolean get_CanPauseAndContinue()
get_CanShutdown Method System.Boolean get_CanShutdown()
get_CanStop Method System.Boolean get_CanStop()
get_Container Method System.ComponentModel.IContainer get_Container()
get_DependentServices Method System.ServiceProcess.ServiceController[] get_DependentServices()
get_DisplayName Method System.String get_DisplayName()
get_MachineName Method System.String get_MachineName()
get_ServiceHandle Method System.Runtime.InteropServices.SafeHandle get_ServiceHandle()
get_ServiceName Method System.String get_ServiceName()
get_ServicesDependedOn Method System.ServiceProcess.ServiceController[] get_ServicesDependedOn()
get_ServiceType Method System.ServiceProcess.ServiceType get_ServiceType()
get_Site Method System.ComponentModel.ISite get_Site()
get_Status Method System.ServiceProcess.ServiceControllerStatus get_Status()
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()
remove_Disposed Method System.Void remove_Disposed(EventHandler value)
set_DisplayName Method System.Void set_DisplayName(String value)
set_MachineName Method System.Void set_MachineName(String value)
set_ServiceName Method System.Void set_ServiceName(String value)
set_Site Method System.Void set_Site(ISite value)
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;}
- The typename (such as "System.ServiceProcess.ServiceController") tells you what type of .NET object the cmdlet returns. For information about objects in this .NET class, paste the typename in the Search text box in MSDN. The associated MSDN topic includes information about the properties and methods of objects in this class, including the objects that Get-Service returns.
-
The Property types represent properties of the objects. The
value of each property is information about the service object. For
example, the ServiceController objects have a CanPauseAndContinue property. The MSDN description of the property explains that the property tells whether the service can be paused and resumed.
To list the value of a property of a particular service, type:
(get-service <service-name>).<property-name>
(get-service alerter).canpauseandcontinue
get-service alerter | format-list -property name, CanPauseAndContinue
get-service alerter | format-list -property *
get-service | format-table -property name, CanPauseAndContinue
-
The Method types represent methods of the object, that is,
actions that you can perform on the object. For example,
ServiceController objects have a Stop method that lets you stop the
service.
To call a method of a service object, use the following format. (Be sure to include the parentheses).
(get-service <service-name>).<method-name>() For example, (get-service schedule).stop()
get-help get-member -detailed
_________________________________________________________________________________
get-member -force |
Actually, the first command according to a result is
get-service | get-member -Force
[Aleksandar Nikolić:]If Force parameter were used, we would get hidden members as well:
PS C:\> get-service | get-member -Force
TypeName: System.ServiceProcess.ServiceController
Name MemberType Definition
---- ---------- ----------
... .... ....
pstypenames CodeProperty System.Collections.ObjectModel.Collection`1[[System.S
psadapted MemberSet psadapted {CanPauseAndContinue, CanShutdown, CanStop,
psbase MemberSet psbase {CanPauseAndContinue, CanShutdown, CanStop, Di
psextended MemberSet psextended {Name, RequiredServices}
psobject MemberSet psobject {Members, Properties, Methods, ImmediateBase
PSStandardMembers MemberSet PSStandardMembers {DefaultDisplayPropertySet}
.... ..... .....
So, the first command is right: get-service | get-member
get-service | get-member -Force
[Aleksandar Nikolić:]If Force parameter were used, we would get hidden members as well:
PS C:\> get-service | get-member -Force
TypeName: System.ServiceProcess.ServiceController
Name MemberType Definition
---- ---------- ----------
... .... ....
pstypenames CodeProperty System.Collections.ObjectModel.Collection`1[[System.S
psadapted MemberSet psadapted {CanPauseAndContinue, CanShutdown, CanStop,
psbase MemberSet psbase {CanPauseAndContinue, CanShutdown, CanStop, Di
psextended MemberSet psextended {Name, RequiredServices}
psobject MemberSet psobject {Members, Properties, Methods, ImmediateBase
PSStandardMembers MemberSet PSStandardMembers {DefaultDisplayPropertySet}
.... ..... .....
So, the first command is right: get-service | get-member
Aucun commentaire:
Enregistrer un commentaire