Nesne Yapısını Görüntüleme (Get-Member)

nesneler Windows PowerShell ' de bir merkezi rol oynadığından, rastgele nesne türleriyle çalışmak için tasarlanan birkaç yerel komut vardır. En önemli bir Get-Member komuttur.

Bir komutun döndürdüğü nesneleri analiz etmenin en basit tekniği, bu komutun çıkışını cmdlet 'e yöneltmektir Get-Member . Get-MemberCmdlet 'i, nesne türünün biçimsel adını ve üyelerinin tam listesini gösterir. Döndürülen öğelerin sayısı bazen çok fazla olabilir. Örneğin, bir işlem nesnesi 100 ' ten fazla üyeye sahip olabilir.

Bir Işlem nesnesinin tüm üyelerini görmek ve tüm bunları görüntüleyebilmeniz için çıktıyı sayfaya eklemek için şunu yazın:

Get-Process | Get-Member | Out-Host -Paging

Bu komutun çıktısı aşağıdakine benzer şekilde görünür:

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 öğeler için filtreleyerek bu uzun bilgi listesini daha kullanılabilir hale getirebilirsiniz. Get-MemberKomutu yalnızca özellikleri olan üyeleri listelemenizi sağlar. Birçok özellik biçimi vardır. Üye türü parametresini değer özelliklerine ayarlarsanız cmdlet, herhangi bir türün özelliklerini görüntüler. Elde edilen liste hala çok uzun, ancak biraz 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, diğerad, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet ve All özellikleridir.

Bir işlem için 60 ' den fazla özellik vardır. Windows PowerShell nedeni, genellikle iyi bilinen bir nesne için yalnızca bir dizi özelliği gösterir. bunların tümünün, tüm bunları göstermek, yönetilemez bir bilgi üretecektir.

Not

Windows PowerShell,. format. ps1xml ile biten adlara sahip XML dosyalarında depolanan bilgileri kullanarak bir nesne türünün nasıl görüntüleneceğini belirler. .NET System. Diagnostics. Process nesneleri olan işlem nesnelerine yönelik biçimlendirme verileri DotNetTypes. Format. ps1xml içinde depolanır.

Windows PowerShell varsayılan olarak görüntüleenlerden farklı özelliklere bakmanız gerekiyorsa, çıktı verilerini kendiniz biçimlendirmeniz gerekecektir. Bu, Biçim cmdlet 'leri kullanılarak yapılabilir.