共用方式為


Get-TypeData

取得目前工作階段中的延伸類型資料。

Syntax

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

Description

Cmdlet Get-TypeData 會取得目前會話中的擴充類型數據。 這包括依 Types.ps1xml 檔案新增至會話的類型數據,以及使用 Cmdlet 參數新增的 Update-TypeData 動態類型數據。

您可以使用傳回的擴充型別數據 Get-TypeData 來檢查會話中的類型數據,並將它傳送至 Update-TypeDataRemove-TypeData Cmdlet。

擴充類型數據會將屬性和方法新增至 PowerShell 中的物件。 您可以比照使用物件類型中定義之屬性和方法的方式,來使用新增的屬性和方法。 不過,撰寫腳本時請注意,新增的屬性和方法可能不會出現在每個 PowerShell 會話中。

如需檔案的詳細資訊 Types.ps1xml ,請參閱 about_Types.ps1xml。 如需 Cmdlet 所新增之動態類型資料 Update-TypeData 的詳細資訊,請參閱 Update-TypeData

此 Cmdlet 是在 Windows PowerShell 3.0 中引進。

範例

範例 1:取得所有擴充類型數據

這個範例會取得目前會話中的所有擴充類型數據。

Get-TypeData

範例 2:依名稱取得類型

這個範例會取得目前會話中所有包含事件的名稱類型。

"*Eventing*" | Get-TypeData

TypeName                                                  Members
--------                                                  -------
System.Diagnostics.Eventing.Reader.EventLogConfiguration  {}System.Diagnostics.Eventing.Reader.EventLogRecord
                                                          {}System.Diagnostics.Eventing.Reader.ProviderMetadata
                                                          {[ProviderName, System.Management.Automation.Runspaces.AliasProper...

範例 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 使用 Cmdlet 來取得 System.DataTime 類型的擴充類型數據。 此命令取得 TypeData 物件的 Members 屬性。

Members 屬性包含擴充類型數據所定義之屬性和方法的哈希表。 Members 雜湊表中的每個索引鍵都是一個屬性或方法的名稱,而每個值則是該屬性或方法值的定義。

此命令會取得 Members 及其 GetScriptBlock 屬性值中的 DateTime 索引鍵。

輸出會顯示文本區塊,此區塊會建立 PowerShell 中每個 System.DateTime 物件的 DateTime 屬性值。

參數

-TypeName

只針對具有指定名稱的類型,指定類型數據做為陣列。 根據預設, Get-TypeData 取得會話中的所有類型。

請輸入類型名稱或名稱模式。 即使是 System 命名空間中的類型,也需要具有通配符的完整名稱或名稱模式。 支援通配符,且 參數名稱 TypeName 是選擇性的。 您也可以使用管線將類型名稱傳送至 Get-TypeData

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

輸入

String

您可以使用管線將類型名稱傳送至 Get-TypeData

輸出

TypeData

備註

Get-TypeData 只會取得目前會話中的擴充類型數據。 它不會取得已在電腦上但尚未新增至目前工作階段的延伸類型資料,例如尚未匯入目前工作階段之模組中定義的延伸類型。