Get-TypeData
Haalt de uitgebreide typegegevens op in de huidige sessie.
Syntaxis
Get-TypeData
[[-TypeName] <String[]>]
[<CommonParameters>]
Description
De Get-TypeData
cmdlet haalt de uitgebreide typegegevens op in de huidige sessie. Dit omvat typegegevens die aan de sessie zijn toegevoegd door Types.ps1xml
bestand en dynamische typegegevens die zijn toegevoegd met behulp van de parameter van de Update-TypeData
-cmdlet.
U kunt de uitgebreide typegegevens gebruiken die Get-TypeData
retourneert om de typegegevens in de sessie te onderzoeken en naar de Update-TypeData
en Remove-TypeData
cmdlets te verzenden.
Uitgebreide typegegevens voegt eigenschappen en methoden toe aan objecten in PowerShell. U kunt de toegevoegde eigenschappen en methoden op dezelfde manier gebruiken als de eigenschappen en methoden die zijn gedefinieerd in het objecttype. Houd er bij het schrijven van scripts echter rekening mee dat de toegevoegde eigenschappen en methoden mogelijk niet aanwezig zijn in elke PowerShell-sessie.
Zie about_Types.ps1xmlvoor meer informatie over Types.ps1xml
bestanden. Zie Update-TypeData
voor meer informatie over dynamische typegegevens die door de Update-TypeData
cmdlet worden toegevoegd.
Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.
Voorbeelden
Voorbeeld 1: alle uitgebreide typegegevens ophalen
In dit voorbeeld worden alle uitgebreide typegegevens in de huidige sessie opgehaald.
Get-TypeData
Voorbeeld 2: Typegegevens ophalen op naam
In dit voorbeeld worden alle typegegevens opgehaald in de huidige sessie waarvan de naam is gekwalificeerd met '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…
Voorbeeld 3: Het scriptblok ophalen waarmee een eigenschapswaarde wordt gemaakt
In dit voorbeeld wordt het scriptblok opgehaald waarmee de waarde van de eigenschap EventID van EventLogEntry-objecten wordt gemaakt.
(Get-TypeData *EventLogEntry*).Members.EventID
GetScriptBlock SetScriptBlock IsHidden Name
-------------- -------------- -------- ----
$this.get_EventID() -band 0xFFFF False EventID
Voorbeeld 4: Het scriptblok ophalen waarmee een eigenschap voor een opgegeven object wordt gedefinieerd
In dit voorbeeld wordt het scriptblok opgehaald dat de eigenschap DateTime van System.DateTime-objecten in PowerShell definieert.
(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()
}
De opdracht gebruikt de Get-TypeData
cmdlet om de uitgebreide typegegevens op te halen voor het System.DataTime type. Met de opdracht wordt de eigenschap Leden van het TypeData--object opgehaald.
De eigenschap Leden bevat een hash-tabel met eigenschappen en methoden die worden gedefinieerd door uitgebreide typegegevens. Elke sleutel in de hashtabel Leden is een eigenschap of methodenaam en elke waarde is de definitie van de eigenschap of methodewaarde.
Met de opdracht wordt de DateTime--sleutel opgehaald in leden en de eigenschapswaarde GetScriptBlock.
De uitvoer toont het scriptblok waarmee de waarde wordt gemaakt van de eigenschap DateTime van elk System.DateTime--object in PowerShell.
Parameters
-TypeName
Hiermee geeft u typegegevens op als een matrix alleen voor de typen met de opgegeven namen. Standaard worden Get-TypeData
alle typen in de sessie opgehaald.
Typ namen of een naampatronen. Volledige namen of naampatronen met jokertekens zijn vereist, zelfs voor typen in de systeemnaamruimte. Jokertekens worden ondersteund en de parameternaam TypeName is optioneel. U kunt ook namen van pijptypen om te Get-TypeData
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | True |
Invoerwaarden
U kunt tekenreeksen met typenamen naar deze cmdlet doorsluizen.
Uitvoerwaarden
Notities
Get-TypeData
alleen de uitgebreide typegegevens in de huidige sessie ophaalt. Het krijgt geen uitgebreide typegegevens die zich op de computer bevinden, maar is niet toegevoegd aan de huidige sessie, zoals uitgebreide typen die zijn gedefinieerd in modules die niet zijn geïmporteerd in de huidige sessie.