Embora não seja possível perceber no início, ao trabalhar no Windows PowerShell, você estará trabalhando com objetos do .NET Framework. Conforme obtiver mais experiência, a capacidade de processamento de objetos ficará mais evidente, e será possível usar e até mesmo lembrar dos objetos.

Tecnicamente, um objeto do .NET Framework é uma ocorrência de uma classe do .NET Framework, que consiste em dados e operações associadas a esses dados. No entanto, é possível imaginar um objeto como uma entidade de dados que apresenta propriedades, como características e métodos, que são ações que podem ser realizadas no objeto.

Por exemplo, ao obter um serviço no Windows PowerShell, você estará na verdade obtendo um objeto que representa o serviço. Ao exibir informações sobre um serviço, serão mostradas as propriedades do objeto de serviço desse serviço. Além disso, ao iniciar um serviço, ou seja, quando altera a propriedade Status do serviço para "iniciado", você estará usando um método do objeto de serviço.

Todos os objetos do mesmo tipo têm as mesmas propriedades e métodos, mas cada ocorrência de um objeto pode ter valores diferentes para as propriedades. Por exemplo, cada objeto de serviços tem uma propriedade Nome e uma propriedade Status. No entanto, cada serviço pode ter um nome e um status diferentes.

Quando estiver pronto, será fácil obter informações sobre os objetos. Para descobrir qual é o tipo de objeto obtido por um cmdlet, utilize um operador de pipeline (|) para enviar os resultados de um comando "get" para o comando Get-Member. Por exemplo, o comando a seguir envia os objetos recuperados por um comando Get-Service ao comando Get-Member.

get-service | get-member 

Get-Member exibe informações sobre o objeto de serviço, inclusive o nome de tipo do objeto e uma lista de suas propriedades e métodos.

   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()
...

Para obter informações sobre a classe do objeto, copie e cole o nome do tipo, como System.ServiceProcess.ServiceController, no MSDN. Ao localizar a classe, leia os subtópicos do MSDN para saber mais sobre as propriedades e os métodos de objetos com base nessa classe, como os objetos no Windows PowerShell.

Para localizar os valores de todas as propriedades de um objeto específico, use um operador de pipeline (|) para enviar os resultados de um comando "get" para um comando Format-List ou Format-Table. Use o parâmetro Property dos cmdlets de formato com um valor de all (*). Por exemplo, para localizar todas as propriedades do serviço Schedule no sistema, digite:

get-service schedule | format-list -property *

Este é um exemplo do resultado:

Name                : Schedule
CanPauseAndContinue : True
CanShutdown         : True
CanStop             : True
DisplayName         : Task Scheduler
DependentServices   : {}
MachineName         : .
ServiceName         : Schedule
ServicesDependedOn  : {RpcSs}
ServiceHandle       : SafeServiceHandle
Status              : Running
ServiceType         : Win32ShareProcess
Site                :
Container           :

Não é necessário ter conhecimentos sobre objetos para aprender a utilizar o Windows PowerShell, mas tenha sempre em mente o conceito de objeto. Em breve, será possível utilizar o máximo de recursos dos objetos.




Sumário