Informações sobre objetos: Get-Member
Um dos cmdlets mais úteis é Get-Member, que exibe informações sobre o objeto do .NET Framework retornado por um comando. As informações incluem o tipo, as propriedades e os métodos do objeto.
Para usar Get-Member, use um operador de pipeline (|) para enviar os resultados de um comando para Get-Member. Por exemplo:
get-service | get-member
Esse comando revela que Get-Service na verdade retorna um conjunto de objetos System.ServiceProcess.ServiceController, um para cada serviço no computador.
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;}
Essas informações parecem muito técnicas, mas são na verdade bastante práticas.
- O nome de tipo (como "System.ServiceProcess.ServiceController") informa qual é o tipo de objeto .NET retornado pelo cmdlet. Para obter informações sobre os objetos dessa classe .NET, cole o nome de tipo na caixa de texto Pesquisar do MSDN. O tópico associado do MSDN inclui informações sobre as propriedades e os métodos dos objetos nessa classe, inclusive os objetos retornados por Get-Service.
- Os tipos Property representam propriedades dos objetos. O valor de cada propriedade são informações sobre o objeto de serviço. Por exemplo, os objetos ServiceController têm uma propriedade CanPauseAndContinue. A descrição do MSDN da propriedade explica que a propriedade informa se o serviço pode ser pausado e reiniciado.
Para listar o valor de uma propriedade de um serviço específico, digite:
como:(get-service <service-name>).<property-name>
Para exibir uma lista com o nome e o valor da propriedade CanPauseAndContinue do serviço Alerter, digite:(get-service alerter).canpauseandcontinue
Para exibir uma lista de valores de todas as propriedades do serviço Alerter, digite:get-service alerter | format-list -property name, CanPauseAndContinue
Para exibir uma tabela com o nome e o valor da propriedade CanPauseAndContinue de todos os serviços, digite:get-service alerter | format-list -property *
get-service | format-table -property name, CanPauseAndContinue
- Os tipos Method representam métodos do objeto, ou seja, ações que podem ser executadas no objeto. Por exemplo, os objetos ServiceController têm um método Stop que permite interromper o serviço.
Para chamar um método de um objeto de serviço, use o formato a seguir. (Lembre-se de incluir os parênteses).
(get-service <service-name>).<method-name>() For example, (get-service schedule).stop()
Para obter mais informações sobre o comando Get-Member, digite:
get-help get-member -detailed