Get-Member 是最有用的 cmdlet 之一,它显示有关命令返回的 .NET Framework 对象的信息。该信息包括对象的类型、属性和方法。

若要使用 Get-Member,请使用管道运算符 (|) 将相关命令的结果发送到 Get-Member。例如:

get-service | get-member

此命令显示 Get-Service 实际上返回了一组 System.ServiceProcess.ServiceController 对象,计算机上的每个服务都有一个这样的对象。

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

此信息看起来技术性很强,但是它实际上非常实用。

  • 类型名称(如“System.ServiceProcess.ServiceController”)显示 cmdlet 返回什么类型的 .NET 对象。若要获取有关此 .NET 类中的对象的信息,请将该类型名称粘贴到 MSDN 上的搜索文本框中。相关的 MSDN 主题包括有关此类中对象的属性和方法的信息,其中包括 Get-Service 返回的对象。

  • 属性类型表示对象的属性。每个属性的值是有关服务对象的信息。例如,ServiceController 对象具有 CanPauseAndContinue 属性。该属性的 MSDN 说明解释,该属性指示是否可以暂停和恢复服务。

    若要列出特定服务的属性的值,请键入:

    (get-service <service-name>).<property-name>
    例如:

    (get-service alerter).canpauseandcontinue
    若要显示 Alerter 服务的 CanPauseAndContinue 属性的名称和值的列表,请键入:

    get-service alerter | format-list -property name, CanPauseAndContinue
    若要显示 Alerter 服务的所有属性值的列表,请键入:

    get-service alerter | format-list -property *
    若要显示所有服务的 CanPauseAndContinue 属性的名称和值的表,请键入:

    get-service | format-table -property name, CanPauseAndContinue
  • 方法类型表示对象的方法,即可以对对象执行的操作。例如,ServiceController 对象具有 Stop 方法,使用该方法可以停止服务。

    若要调用服务对象的方法,请使用以下格式。(务必包括圆括号)。

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

有关 Get-Member 命令的详细信息,请键入:

get-help get-member -detailed




目录