Objektumstruktúra megtekintése

Mivel az objektumok ilyen központi szerepet töltenek be a PowerShellben, számos natív parancsot terveztek tetszőleges objektumtípusok használatához. A legfontosabb a Get-Member parancs.

A parancs által visszaadott objektumok elemzésének legegyszerűbb módszere az, ha a parancs kimenetét a Get-Member parancsmagba irányítja. A Get-Member parancsmag megjeleníti az objektumtípus hivatalos nevét és a tagok teljes listáját. A visszaadott elemek száma néha túl sok lehet. Egy folyamatobjektumnak például több mint 100 tagja lehet.

Az alábbi parancs lehetővé teszi, hogy a folyamatobjektumok és lapok összes tagját a kimeneten keresztül láthassa.

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

Ezt a hosszú információlistát használhatóbbá tehetjük a megtekinteni kívánt elemek szűrésével. A Get-Member parancs lehetővé teszi, hogy csak tulajdonságokat tartalmazó tagokat listázz. A tulajdonságoknak számos formája létezik. A parancsmag egy típus tulajdonságait jeleníti meg a MemberType paraméterrel az értékkel Properties. Az eredményül kapott lista még mindig nagyon hosszú, de kezelhetőbb:

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

Feljegyzés

A MemberType megengedett értékei: AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet és All.

Egy folyamat több mint 60 tulajdonsággal rendelkezik. A PowerShell alapértelmezés szerint meghatározza, hogyan jeleníthet meg objektumtípust olyan XML-fájlokban tárolt információk használatával, amelyek neve végződik..format.ps1xml A folyamatobjektumok formázási definíciója a következő helyen DotNetTypes.format.ps1xmltalálható: .

Ha a PowerShell által alapértelmezés szerint megjelenített tulajdonságoktól eltérő tulajdonságokat kell megvizsgálnia, a parancsmagok használatával formázhatja a Format-* kimenetet.