Menampilkan struktur objek

Karena objek memainkan peran pusat seperti itu di PowerShell, ada beberapa perintah asli yang dirancang untuk bekerja dengan jenis objek arbitrer. Yang paling penting adalah Get-Member perintah.

Teknik paling sederhana untuk menganalisis objek yang dikembalikan perintah adalah menyalurkan output perintah tersebut ke Get-Member cmdlet. Get-Member Cmdlet menunjukkan nama formal jenis objek dan daftar lengkap anggotanya. Jumlah elemen yang dikembalikan terkadang bisa luar biasa. Misalnya, objek proses dapat memiliki lebih dari 100 anggota.

Perintah berikut memungkinkan Anda melihat semua anggota objek Proses dan halaman melalui output.

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

Kita dapat membuat daftar panjang informasi ini lebih dapat digunakan dengan memfilter elemen yang ingin kita lihat. Perintah ini Get-Member memungkinkan Anda hanya mencantumkan anggota yang merupakan properti. Ada beberapa bentuk properti. Cmdlet menampilkan properti jenis menggunakan parameter MemberType dengan nilai Properties. Daftar yang dihasilkan masih sangat panjang, tetapi lebih mudah dikelola:

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

Catatan

Nilai yang diizinkan dari MemberType adalah AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet, dan All.

Ada lebih dari 60 properti untuk sebuah proses. Secara default, PowerShell menentukan cara menampilkan jenis objek menggunakan informasi yang disimpan dalam file XML yang memiliki nama yang berakhiran .format.ps1xml. Definisi pemformatan untuk objek proses disimpan di DotNetTypes.format.ps1xml.

Jika Anda perlu melihat properti selain properti yang ditampilkan PowerShell secara default, Anda dapat memformat output menggunakan Format-* cmdlet.