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
Puede canalizar cadenas que contengan nombres de tipo a este cmdlet.
Salidas
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.