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
Du kan skicka namn på pipe-typ till Get-TypeData
.
Utdata
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.