Aracılığıyla paylaş


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

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

Bir komutun döndürdüğü nesneleri analiz etmek için en basit teknik, bu komutun çıkışını cmdlet'e 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 zor olabilir. Örneğin, bir işlem nesnesinin 100'den fazla üyesi olabilir.

Aşağıdaki komut, bir process nesnesinin tüm üyelerini ve çıkışta sayfayı görmenize 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ılabilir hale getirebilirsiniz. Get-Member komutu yalnızca özellik olan üyeleri listelemenizi sağlar. Özelliklerin çeşitli biçimleri vardır. cmdlet değeriyle MemberType parametresini kullanarak bir türün Propertiesö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 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.