次の方法で共有


Get-TypeData

現在のセッションで、拡張型データを取得します。

構文

Get-TypeData
   [[-TypeName] <String[]>]
   [<CommonParameters>]

説明

Get-TypeData コマンドレットは、現在のセッションの拡張型データを取得します。 これには、 Types.ps1xml ファイルによってセッションに追加された型データと、 Update-TypeData コマンドレットのパラメーターを使用して追加された動的な型データが含まれます。

Get-TypeData返される拡張型データを使用して、セッション内の型データを調べ、Update-TypeDataおよびRemove-TypeDataコマンドレットに送信できます。

拡張型データは、PowerShell のオブジェクトにプロパティとメソッドを追加します。 その追加されたプロパティとメソッドを、オブジェクトの型によって決定されるプロパティとメソッドを使用するのと同じ方法で使用することができます。 ただし、スクリプトを記述するときは、追加されたプロパティとメソッドがすべての PowerShell セッションに存在しない可能性があることに注意してください。

Types.ps1xml ファイルの詳細については、「about_Types.ps1xml」を参照してください。 Update-TypeData コマンドレットによって追加される動的な型データの詳細については、Update-TypeDataを参照してください。

このコマンドレットは、Windows PowerShell 3.0 で導入されました。

例 1: すべての拡張型データを取得する

この例では、現在のセッションのすべての拡張型データを取得します。

Get-TypeData

例 2: 名前で型データを取得する

この例では、名前が "System.IO" で修飾されている現在のセッションのすべての型データを取得します。

Get-TypeData -TypeName System.IO.*

TypeName                Members
--------                -------
System.IO.DirectoryInfo {[Mode, System.Management.Automation.Runspaces.CodePropert…
System.IO.FileInfo      {[Mode, System.Management.Automation.Runspaces.CodePropert…

例 3: プロパティ値を作成するスクリプト ブロックを取得する

この例では、EventLogEntry オブジェクトの EventID プロパティの値を作成するスクリプト ブロックを取得します。

(Get-TypeData *EventLogEntry*).Members.EventID

GetScriptBlock                     SetScriptBlock     IsHidden Name
--------------                     --------------     -------- ----
$this.get_EventID() -band 0xFFFF                         False EventID

例 4: 指定したオブジェクトのプロパティを定義するスクリプト ブロックを取得する

この例では、PowerShell の System.DateTime オブジェクトの DateTime プロパティを定義するスクリプト ブロックを取得します。

(Get-TypeData -TypeName System.DateTime).Members["DateTime"].GetScriptBlock
if ((& { Set-StrictMode -Version 1; $this.DisplayHint }) -ieq  "Date") {
    "{0}" -f $this.ToLongDateString()
}
elseif ((& { Set-StrictMode -Version 1; $this.DisplayHint }) -ieq "Time") {
    "{0}" -f  $this.ToLongTimeString()
}
else {
    "{0} {1}" -f $this.ToLongDateString(), $this.ToLongTimeString()
}

このコマンドは、 Get-TypeData コマンドレットを使用して、 System.DataTime 型の拡張型データを取得します。 このコマンドは、TypeData オブジェクトの Members プロパティを取得します。

Members プロパティには、拡張型データによって定義されるプロパティとメソッドのハッシュ テーブルが含まれています。 Members ハッシュ テーブルの各キーは、プロパティ名またはメソッド名であり、各値は、プロパティ値またはメソッド値の定義です。

このコマンドは、MembersDateTime キーとそのGetScriptBlock プロパティ値を取得します。

出力には、PowerShell のすべての System.DateTime オブジェクトの DateTime プロパティの値を作成するスクリプト ブロックが表示されます。

パラメーター

-TypeName

指定した名前の型に対してのみ、型データを配列として指定します。 既定では、 Get-TypeData はセッション内のすべての型を取得します。

型の名前または名前パターンを入力します。 システム名前空間の型の場合でも、完全な名前、またはワイルドカード文字を含む名前パターンが必要です。 ワイルドカードがサポートされており、パラメーター名 TypeName は省略可能です。 パイプ型の名前を Get-TypeDataすることもできます。

型:String[]
配置:0
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:True

入力

String

型名を含む文字列をこのコマンドレットにパイプできます。

出力

TypeData

メモ

Get-TypeData は、現在のセッションの拡張型データのみを取得します。 このコマンドレットは、モジュールに定義されている一方で現在のセッションにインポートされていない拡張型のように、コンピューター上に存在していて現在のセッションに追加されていない拡張型データは取得しません。