Get-TypeData
Hämtar utökade typdata i den aktuella sessionen.
Syntax
Get-TypeData
[[-TypeName] <String[]>]
[<CommonParameters>]
Description
Cmdleten Get-TypeData
hämtar data av utökad typ i den aktuella sessionen. Detta inkluderar typdata som lades till i sessionen efter 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
returneras för att undersöka typdata i sessionen och skicka dem till Update-TypeData
cmdletarna 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 cmdleten Update-TypeData
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 EventID-egenskapen 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 datetime-egenskapen 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-typen . Kommandot hämtar egenskapen Medlemmar för TypeData-objektet .
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 DateTime-nyckeln i Medlemmar och dess GetScriptBlock-egenskapsvärde .
Utdata visar skriptblocket som skapar värdet för datetime-egenskapen 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 Get-TypeData
hämtar 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 till 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 utökade typdata 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.