Командлет Get-Member является одним из самых полезных: он отображает сведения об объекте .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;}

Несмотря на обилие технических подробностей эти сведения очень практичны.

  • Значение typename (например, System.ServiceProcess.ServiceController) позволяет узнать тип объекта .NET, возвращаемого командлетом. Чтобы получить сведения об объектах этого класса .NET, вставьте имя типа в текстовое поле Поиск в MSDN. Соответствующий раздел MSDN включает сведения о свойствах и методах объектов этого класса, в том числе объектов, возвращаемых командлетом Get-Service.

  • Типы Property представляют свойства объектов. В нашем случае значение каждого свойства характеризует объект-службу. Например, объекты ServiceController имеют свойство CanPauseAndContinue. Как сказано в MSDN, оно показывает, можно ли приостановить и возобновить выполнение службы.

    Чтобы узнать значение свойства конкретной службы, введите следующую команду:

    (get-service <service-name>).<property-name>
    Пример:

    (get-service alerter).canpauseandcontinue
    Чтобы отобразить список с именем и значением свойства CanPauseAndContinue службы Alerter, введите следующую команду:

    get-service alerter | format-list -property name, CanPauseAndContinue
    Чтобы отобразить список значений всех свойств службы Alerter, введите следующую команду:

    get-service alerter | format-list -property *
    Чтобы отобразить таблицу с именем и значениями свойства CanPauseAndContinue всех служб, введите следующую команду:

    get-service | format-table -property name, CanPauseAndContinue
  • Типы Method представляют методы объекта, то есть действия, которые можно выполнять над объектом. Например, объекты ServiceController включают метод Stop, позволяющий остановить выполнение службы.

    Чтобы вызвать метод объекта-службы, введите команду следующего формата (не забудьте ввести скобки):

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

Чтобы получить дополнительные сведения о команде Get-Member, введите:

get-help get-member -detailed




Содержание