Get-TypeData
Hämtar utökade typdata i den aktuella sessionen.
Syntax
Get-TypeData
[[-TypeName] <String[]>]
[<CommonParameters>]
Description
Cmdleten Get-TypeData
hämtar utökade typdata i den aktuella sessionen. Detta inkluderar typdata som lades till i sessionen av Types.ps1xml
fil och dynamiska typdata som lades till med hjälp av parametern för cmdleten Update-TypeData
.
Du kan använda de utökade typdata som Get-TypeData
returnerar för att undersöka typdata i sessionen och skicka dem till cmdletarna Update-TypeData
och Remove-TypeData
.
Utökade typdata lägger till egenskaper och metoder i objekt i PowerShell. Du kan använda de tillagda egenskaperna och metoderna på samma sätt som du använder de egenskaper och metoder som definieras i objekttypen. När du skriver skript bör du dock vara medveten om att de tillagda egenskaperna och metoderna kanske inte finns i varje PowerShell-session.
Mer information om Types.ps1xml
filer finns i about_Types.ps1xml. Mer information om dynamiska typdata som Update-TypeData
cmdleten lägger till finns i Update-TypeData
.
Den här cmdleten introducerades i Windows PowerShell 3.0.
Exempel
Exempel 1: Hämta alla data av utökad typ
Det här exemplet hämtar alla utökade typdata i den aktuella sessionen.
Get-TypeData
Exempel 2: Hämta typdata efter namn
Det här exemplet hämtar alla typdata i den aktuella sessionen vars namn är kvalificerat med "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…
Exempel 3: Hämta skriptblocket som skapar ett egenskapsvärde
Det här exemplet hämtar skriptblocket som skapar värdet för egenskapen EventID för EventLogEntry objekt.
(Get-TypeData *EventLogEntry*).Members.EventID
GetScriptBlock SetScriptBlock IsHidden Name
-------------- -------------- -------- ----
$this.get_EventID() -band 0xFFFF False EventID
Exempel 4: Hämta skriptblocket som definierar en egenskap för ett angivet objekt
Det här exemplet hämtar skriptblocket som definierar egenskapen DateTime för System.DateTime objekt i PowerShell.
(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()
}
Kommandot använder cmdleten Get-TypeData
för att hämta utökade typdata för System.DataTime typ. Kommandot hämtar egenskapen Medlemmar för objektet TypeData.
Egenskapen Medlemmar innehåller en hash-tabell med egenskaper och metoder som definieras av utökade typdata. Varje nyckel i tabellen Medlemmars hash är en egenskap eller ett metodnamn och varje värde är definitionen av egenskapen eller metodvärdet.
Kommandot hämtar nyckeln DateTime i Medlemmar och dess egenskapsvärde GetScriptBlock.
Utdata visar skriptblocket som skapar värdet för egenskapen DateTime för varje System.DateTime-objekt i PowerShell.
Parametrar
-TypeName
Anger typdata som en matris endast för typerna med de angivna namnen. Som standard hämtar Get-TypeData
alla typer i sessionen.
Ange typnamn eller namnmönster. Fullständiga namn eller namnmönster med jokertecken krävs, även för typer i systemnamnområdet. Jokertecken stöds och parameternamnet TypeName är valfritt. Du kan också ange namn på pipe-typ för att Get-TypeData
.
Typ: | String[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
Indata
Du kan skicka rörsträngar som innehåller typnamn till den här cmdleten.
Utdata
Kommentarer
Get-TypeData
hämtar endast data av utökad typ i den aktuella sessionen. Den hämtar inte utökade typdata som finns på datorn, men har inte lagts till i den aktuella sessionen, till exempel utökade typer som definieras i moduler som inte har importerats till den aktuella sessionen.