Nesne yapısını görüntüleme

Nesneler PowerShell'de bu kadar merkezi bir rol oynadığından, rastgele nesne türleriyle çalışmak için tasarlanmış birkaç yerel komut vardır. En önemlisi komutudur Get-Member .

Bir komutun döndürdüğü nesneleri analiz etmek için en basit teknik, bu komutun çıkışını cmdlet'ine yöneltmektir Get-Member . cmdlet'i Get-Member , nesne türünün resmi adını ve üyelerinin tam listesini gösterir. Döndürülen öğelerin sayısı bazen bunaltıcı olabilir. Örneğin, bir işlem nesnesinin 100'den fazla üyesi olabilir.

Aşağıdaki komut, bir Process nesnesinin tüm üyelerini görmenize ve çıkışta sayfalandırmanıza olanak tanır.

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

Görmek istediğimiz öğeleri filtreleyerek bu uzun bilgi listesini daha kullanışlı hale getirebilirsiniz. Get-Member komutu yalnızca özellik olan üyeleri listelemenize olanak tanır. Özelliklerin çeşitli biçimleri vardır. cmdlet'i, değeriyle PropertiesMemberType parametresini kullanarak bir türün özelliklerini görüntüler. Sonuçta elde edilen liste hala çok uzundur, ancak daha yönetilebilir:

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

Not

MemberType'ın izin verilen değerleri AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet ve All değerleridir.

Bir işlem için 60'tan fazla özellik vardır. Varsayılan olarak, PowerShell ile biten .format.ps1xmladlara sahip XML dosyalarında depolanan bilgileri kullanarak bir nesne türünün nasıl görüntüleneceğini belirler. İşlem nesnelerinin biçimlendirme tanımı içinde DotNetTypes.format.ps1xmldepolanır.

PowerShell'in varsayılan olarak görüntülediği özellikler dışında özelliklere bakmanız gerekiyorsa, cmdlet'leri kullanarak Format-* çıkışı biçimlendirebilirsiniz.