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-egenskapenfö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-egenskapenfö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.

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

Indata

String

Du kan skicka rörsträngar som innehåller typnamn till den här cmdleten.

Utdata

TypeData

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.