Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Como os objetos desempenham um papel tão central no PowerShell, há vários comandos nativos projetados para trabalhar com tipos de objetos arbitrários. O mais importante é o Get-Member comando.
A técnica mais simples para analisar os objetos que um comando retorna é canalizar a saída desse comando para o Get-Member cmdlet. O Get-Member cmdlet mostra o nome formal do tipo de objeto e uma lista completa de seus membros. O número de elementos que são retornados às vezes pode ser esmagador. Por exemplo, um objeto de processo pode ter mais de 100 membros.
O comando a seguir permite que você veja todos os membros de um objeto Process e página através da saída.
Get-Process | Get-Member | Out-Host -Paging
TypeName: System.Diagnostics.Process
Name MemberType Definition
---- ---------- ----------
Handles AliasProperty Handles = Handlecount
Name AliasProperty Name = ProcessName
NPM AliasProperty NPM = NonpagedSystemMemorySize
PM AliasProperty PM = PagedMemorySize
VM AliasProperty VM = VirtualMemorySize
WS AliasProperty WS = WorkingSet
add_Disposed Method System.Void add_Disposed(Event...
...
Podemos tornar esta longa lista de informações mais utilizável filtrando os elementos que queremos ver. O Get-Member comando permite listar apenas os membros que são propriedades. Existem várias formas de propriedades. O cmdlet exibe propriedades de um tipo usando o parâmetro MemberType com o valor Properties. A lista resultante ainda é muito longa, mas mais gerenciável:
Get-Process | Get-Member -MemberType Properties
TypeName: System.Diagnostics.Process
Name MemberType Definition
---- ---------- ----------
Handles AliasProperty Handles = Handlecount
Name AliasProperty Name = ProcessName
...
ExitCode Property System.Int32 ExitCode {get;}
...
Handle Property System.IntPtr Handle {get;}
...
CPU ScriptProperty System.Object CPU {get=$this.Total...
...
Path ScriptProperty System.Object Path {get=$this.Main...
...
Nota
Os valores permitidos de MemberType são AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet e All.
Existem mais de 60 propriedades para um processo. Por padrão, o PowerShell determina como exibir um tipo de objeto usando informações armazenadas em arquivos XML com nomes terminados em .format.ps1xml. A definição de formatação para objetos de processo é armazenada em DotNetTypes.format.ps1xml.
Se você precisar examinar propriedades diferentes daquelas que o PowerShell exibe por padrão, poderá formatar a saída usando os Format-* cmdlets.