mardi 27 septembre 2011

Get-Member

NOM
    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, 2009
Applies 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:

get-service | get-member
This command reveals that Get-Service actually returns a set of System.ServiceProcess.ServiceController objects -- one for each service on the computer.

           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;}
This information looks very technical, but it is actually very practical.
  • 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>
    such as:

    (get-service alerter).canpauseandcontinue
    To display a list with the name and the value of the CanPauseAndContinue property of the Alerter service, type:

    get-service alerter | format-list -property name, CanPauseAndContinue
    To display a list of the values of all properties of the Alerter service, type:

    get-service alerter | format-list -property *
    To display a table with the name and the value of the CanPauseAndContinue property of all services, type:

    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()
    
For more information about the Get-Member command, type:

get-help get-member -detailed


 _________________________________________________________________________________
Community Content   What is Community Content?


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

Aucun commentaire:

Enregistrer un commentaire