Dela via


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 .

Data av utökad typ 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.

Denna cmdlet 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 typer efter namn

Det här exemplet hämtar alla typer i den aktuella sessionen som har namn som innehåller Händelse.

"*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...

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 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 data av utökad typ för typen System.DataTime . 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 egenskapen DateTime för varje System.DateTime-objekt i PowerShell.

Parametrar

-TypeName

Anger typdata som en matris endast för de typer 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å skicka 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 namn på pipe-typ till Get-TypeData.

Utdata

TypeData

Kommentarer

Get-TypeData hämtar endast data av utökad typ i den aktuella sessionen. Den får inte utökade typdata som finns på datorn, men som inte har lagts till i den aktuella sessionen, till exempel utökade typer som definieras i moduler som inte har importerats till den aktuella sessionen.