Get-TypeData
取得目前會話中的擴充型別數據。
語法
Default (預設值)
Get-TypeData
[[-TypeName] <String[]>]
[<CommonParameters>]
Description
Get-TypeData Cmdlet 會取得目前會話中的擴充型別數據。 這包括使用 Types.ps1xml Cmdlet 的 參數,Update-TypeData 檔案和動態類型數據新增至會話的類型數據。
您可以使用 Get-TypeData 傳回的擴充型別數據來檢查會話中的型別數據,並將它傳送至 Update-TypeData 和 Remove-TypeData Cmdlet。
擴充類型數據會將屬性和方法新增至 PowerShell 中的物件。 您可以使用與使用物件類型中所定義之屬性和方法相同的方式來使用新增的屬性和方法。 不過,撰寫腳本時,請注意,新增的屬性和方法可能不會出現在每個 PowerShell 會話中。
如需 Types.ps1xml 檔案的詳細資訊,請參閱 about_Types.ps1xml。 如需 Update-TypeData Cmdlet 新增之動態類型資料的詳細資訊,請參閱 Update-TypeData。
此 Cmdlet 已在 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 Cmdlet 來取得 System.DataTime 類型的擴充類型數據。 此命令會取得 TypeData 物件的 Members 屬性。
Members 屬性包含擴充類型數據所定義之屬性和方法的哈希表。 Members 哈希表中的每個索引鍵都是屬性或方法名稱,而每個值都是屬性或方法值的定義。
此命令會取得 Members 及其 GetScriptBlock 屬性值中的 DateTime 索引鍵。
輸出會顯示文本區塊,此區塊會建立 PowerShell 中每個 System.DateTime 物件的 DateTime 屬性值。
參數
-TypeName
僅針對具有指定名稱的類型,指定類型數據做為陣列。 根據預設,Get-TypeData 會取得會話中的所有類型。
輸入類型名稱或名稱模式。 即使系統命名空間中的類型,也需要具有通配符的完整名稱或名稱模式。 支援通配符,而且 TypeName Get-TypeData。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
(All)
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
String
您可以使用管線將包含類型名稱的字串傳送至此 Cmdlet。
輸出
TypeData
備註
Get-TypeData 只會取得目前會話中的擴充型別數據。 它不會取得電腦上的擴充型別數據,但尚未新增至目前的會話,例如未匯入目前會話之模組中所定義的擴充類型。