Compartir a través de


Get-TypeData

Obtiene los datos de tipo extendido de la sesión actual.

Sintaxis

Get-TypeData
   [[-TypeName] <String[]>]
   [<CommonParameters>]

Description

El Get-TypeData cmdlet obtiene los datos de tipo extendido en la sesión actual. Esto incluye los datos de tipo que se agregaron a la sesión por Types.ps1xml archivo y datos de tipo dinámico que se agregaron mediante el parámetro del Update-TypeData cmdlet .

Puede usar los datos de tipo extendido que Get-TypeData devuelven para examinar los datos de tipo en la sesión y enviarlos a los Update-TypeData cmdlets y Remove-TypeData .

Los datos de tipo extendido agregan propiedades y métodos a objetos de PowerShell. Estos métodos y propiedades agregados se pueden usar de la misma manera en que se usarían los métodos y propiedades definidos en el tipo de objeto. Sin embargo, al escribir scripts, tenga en cuenta que es posible que las propiedades y los métodos agregados no estén presentes en todas las sesiones de PowerShell.

Para obtener más información sobre Types.ps1xml los archivos, consulte about_Types.ps1xml. Para obtener más información sobre los datos de tipo dinámico que agrega el Update-TypeData cmdlet, consulte Update-TypeData.

Este cmdlet se introdujo en Windows PowerShell 3.0.

Ejemplos

Ejemplo 1: Obtención de todos los datos de tipo extendido

En este ejemplo se obtienen todos los datos de tipo extendido en la sesión actual.

Get-TypeData

Ejemplo 2: Obtener datos de tipo por nombre

En este ejemplo se obtienen todos los datos de tipo de la sesión actual cuyo nombre está calificado con "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…

Ejemplo 3: Obtener el bloque de script que crea un valor de propiedad

En este ejemplo se obtiene el bloque de script que crea el valor de la propiedad EventID de los objetos EventLogEntry .

(Get-TypeData *EventLogEntry*).Members.EventID

GetScriptBlock                     SetScriptBlock     IsHidden Name
--------------                     --------------     -------- ----
$this.get_EventID() -band 0xFFFF                         False EventID

Ejemplo 4: Obtener el bloque de script que define una propiedad para un objeto especificado

En este ejemplo se obtiene el bloque de script que define la propiedad DateTime de objetos System.DateTime en 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()
}

El comando usa el Get-TypeData cmdlet para obtener los datos de tipo extendido para el tipo System.DataTime . El comando obtiene la propiedad Members del objeto TypeData .

La propiedad Members contiene una tabla hash de propiedades y métodos definidos por datos de tipo extendido. Cada clave de la tabla hash Members es un nombre de propiedad o método y cada valor, la definición del valor de propiedad o método.

El comando obtiene la clave DateTime en Members y su valor de propiedad GetScriptBlock .

La salida muestra el bloque de script que crea el valor de la propiedad DateTime de cada objeto System.DateTime en PowerShell.

Parámetros

-TypeName

Especifica los datos de tipo como una matriz solo para los tipos con los nombres especificados. De forma predeterminada, Get-TypeData obtiene todos los tipos de la sesión.

Escriba los nombres de tipo o un patrón de nombre. Se requieren nombres completos o patrones de nombres con caracteres comodín, incluso para los tipos del espacio de nombres System. Se admiten caracteres comodín y el nombre de parámetro TypeName es opcional. También puede canalizar nombres de tipo a Get-TypeData.

Tipo:String[]
Posición:0
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

Entradas

String

Puede canalizar cadenas que contengan nombres de tipo a este cmdlet.

Salidas

TypeData

Notas

Get-TypeData obtiene solo los datos de tipo extendido en la sesión actual. No obtiene los datos de tipo extendido que están en el equipo, pero que no se han agregado a la sesión actual, como los tipos extendidos definidos en módulos que no se han importado a la sesión actual.