Uno de los cmdlets más útiles es Get-Member, que muestra información sobre el objeto de .NET Framework devuelto por un comando. En la información se especifican el tipo, las propiedades y los métodos del objeto.

Para usar Get-Member, utilice un operador de canalización (|) para enviar los resultados de un comando a Get-Member. Por ejemplo:

get-service | get-member

Este comando pone de manifiesto que, en realidad, Get-Service devuelve un conjunto de objetos System.ServiceProcess.ServiceController, uno por cada servicio del equipo.

   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;}

Esta información parece demasiado técnica, pero en realidad resulta muy práctica.

  • El nombre de tipo (como "System.ServiceProcess.ServiceController") indica qué tipo de objeto de .NET es devuelto por el cmdlet. Para obtener información sobre los objetos de esta clase de .NET, pegue el nombre de tipo en el cuadro de texto Buscar de MSDN. El tema de MSDN relacionado contiene información sobre las propiedades y los métodos de los objetos de esta clase, incluidos los objetos que Get-Service devuelve.

  • Los tipos Property representan las propiedades de los objetos. El valor de cada propiedad da información sobre el objeto de servicio. Por ejemplo, los objetos ServiceController tienen la propiedad CanPauseAndContinue. En la descripción de MSDN se especifica que esta propiedad indica si el servicio puede interrumpirse y reanudarse.

    Para mostrar el valor de una propiedad de un determinado servicio, escriba:

    (get-service <service-name>).<property-name>
    Por ejemplo:

    (get-service alerter).canpauseandcontinue
    Para ver una lista con el nombre y el valor de la propiedad CanPauseAndContinue del servicio Alerter, escriba:

    get-service alerter | format-list -property name, CanPauseAndContinue
    Para ver una lista con los valores de todas las propiedades del servicio Alerter, escriba:

    get-service alerter | format-list -property *
    Para ver una tabla con el nombre y el valor de la propiedad CanPauseAndContinue de todos los servicios, escriba:

    get-service | format-table -property name, CanPauseAndContinue
  • Los tipos Method representan los métodos del objeto, es decir, las acciones que se pueden llevar a cabo sobre el objeto. Por ejemplo, los objetos ServiceController tienen un método Stop que permite detener el servicio.

    Para llamar a un método de un objeto de servicio, utilice el formato siguiente (no olvide los paréntesis):

    (get-service <service-name>).<method-name>()
    For example,
    (get-service schedule).stop()
    

Para obtener más información sobre el comando Get-Member, escriba:

get-help get-member -detailed




Tabla de contenido