オブジェクトは PowerShell でこのような中心的な役割を果たすので、任意のオブジェクト型を操作するように設計されたネイティブ コマンドがいくつかあります。 最も重要なのは、 Get-Member コマンドです。
コマンドから返されるオブジェクトを分析する最も簡単な手法は、そのコマンドの出力を Get-Member コマンドレットにパイプすることです。
Get-Member コマンドレットには、オブジェクト型の正式な名前とそのメンバーの完全な一覧が表示されます。 返される要素の数が多い場合があります。 たとえば、プロセス オブジェクトには 100 を超えるメンバーを含めることができます。
次のコマンドを使用すると、 Process オブジェクトのすべてのメンバーを表示し、出力を通じてページを表示できます。
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...
...
表示する要素をフィルター処理することで、この長い情報の一覧をより使いやすくすることができます。
Get-Member コマンドを使用すると、プロパティであるメンバーのみを一覧表示できます。 プロパティにはいくつかの形式があります。 このコマンドレットは、 MemberType パラメーターと値 Propertiesを使用して、型のプロパティを表示します。 結果のリストはまだ非常に長いですが、より管理しやすいです。
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...
...
Note
MemberType に指定できる値は、AliasProperty、CodeProperty、Property、NoteProperty、ScriptProperty、Properties、PropertySet、Method、CodeMethod、ScriptMethod、Methods、ParameterizedProperty、MemberSet、および All です。
プロセスには 60 を超えるプロパティがあります。 既定では、PowerShell は、名前が .format.ps1xml で終わる XML ファイルに格納されている情報を使用して、オブジェクトの種類を表示する方法を決定します。 プロセス オブジェクトの書式設定定義は、 DotNetTypes.format.ps1xmlに格納されます。
PowerShell に既定で表示されるプロパティ以外のプロパティを確認する必要がある場合は、 Format-* コマンドレットを使用して出力を書式設定できます。
PowerShell