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 central no PowerShell, existem vários comandos nativos concebidos para funcionar com tipos arbitrários de objetos. O mais importante é o Get-Member comando.
A técnica mais simples para analisar os objetos que um comando devolve é canalizar a saída desse comando para o Get-Member cmdlet. O Get-Member cmdlet mostra-lhe o nome formal do tipo de objeto e uma lista completa dos seus membros. O número de elementos que são devolvidos pode, por vezes, ser esmagador. Por exemplo, um objeto de processo pode ter mais de 100 membros.
O comando seguinte permite-lhe ver todos os membros de um objeto Process e da 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ção mais utilizável filtrando os elementos que queremos ver. O comando Get-Member permite listar apenas os membros que correspondem a propriedades. Existem várias formas de propriedades. O cmdlet apresenta propriedades de um tipo usando o parâmetro MemberType com o valor Properties. A lista resultante continua a ser muito longa, mas mais gerí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...
...
Note
Os valores permitidos do MemberType são AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet e todos.
Existem mais de 60 propriedades para um processo. Por defeito, o PowerShell determina como mostrar um tipo de objeto usando informação armazenada em ficheiros XML cujos nomes terminam em .format.ps1xml. A definição de formatação para objetos de processo é armazenada em DotNetTypes.format.ps1xml.
Se precisares de ver propriedades diferentes das que o PowerShell mostra por defeito, podes formatar a saída usando os Format-* cmdlets.