Compartir a través de


Update-TypeData

Actualiza los datos de tipo extendido en la sesión.

Sintaxis

Update-TypeData
      [[-AppendPath] <String[]>]
      [-PrependPath <String[]>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-TypeData
      [-MemberType <PSMemberTypes>]
      [-MemberName <String>]
      [-Value <Object>]
      [-SecondValue <Object>]
      [-TypeConverter <Type>]
      [-TypeAdapter <Type>]
      [-SerializationMethod <String>]
      [-TargetTypeForDeserialization <Type>]
      [-SerializationDepth <Int32>]
      [-DefaultDisplayProperty <String>]
      [-InheritPropertySerializationSet <Nullable`1>]
      [-StringSerializationSource <String>]
      [-DefaultDisplayPropertySet <String[]>]
      [-DefaultKeyPropertySet <String[]>]
      [-PropertySerializationSet <String[]>]
      -TypeName <String>
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-TypeData
      [-Force]
      [-TypeData] <TypeData[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

El Update-TypeData cmdlet actualiza los datos de tipo extendido en la sesión mediante la recarga de los Types.ps1xml archivos en memoria y la adición de nuevos datos de tipo extendido.

De forma predeterminada, PowerShell carga los datos de tipo extendido según sea necesario. Sin parámetros, Update-TypeData vuelve a cargar todos los Types.ps1xml archivos que ha cargado en la sesión, incluidos los archivos de tipo que haya agregado. Puede usar los parámetros de para agregar nuevos archivos de Update-TypeData tipo y agregar y reemplazar datos de tipo extendido.

El Update-TypeData cmdlet se puede usar para cargar previamente todos los datos de tipo. Esta característica es especialmente útil cuando está desarrollando tipos y quiere cargar esos nuevos tipos con fines de prueba.

A partir de Windows PowerShell 3.0, puede usar Update-TypeData para agregar y reemplazar datos de tipo extendido en la sesión sin usar un Types.ps1xml archivo. Los datos de tipos que se agregan de forma dinámica, es decir, sin un archivo, solo se agregan a la sesión actual. Para agregar los datos de tipo a todas las sesiones, agregue un Update-TypeData comando al perfil de PowerShell. Para obtener más información, consulte about_Profiles.

Además, a partir de Windows PowerShell 3.0, puede usar el Get-TypeData cmdlet para obtener los tipos extendidos en la sesión actual y el Remove-TypeData cmdlet para eliminar tipos extendidos de la sesión actual.

Las excepciones que se producen en las propiedades, o desde agregar propiedades a un Update-TypeData comando, no notifican errores. Esto es para suprimir las excepciones que se producirían en muchos tipos comunes durante la aplicación del formato y la generación del resultado. Si obtiene propiedades de .NET, puede solucionar la supresión de excepciones mediante la sintaxis del método en su lugar, como se muestra en el ejemplo siguiente:

"hello".get_Length()

Tenga en cuenta que la sintaxis del método solo se puede usar con propiedades de .NET. Las propiedades agregadas mediante la ejecución del cmdlet no pueden usar la sintaxis del Update-TypeData método.

Para obtener más información sobre los Types.ps1xml archivos de PowerShell, consulte about_Types.ps1xml.

Ejemplos

Ejemplo 1: Actualización de tipos extendidos

Update-TypeData

Este comando actualiza la configuración de tipo extendido de los Types.ps1xml archivos que ya se han usado en la sesión.

Ejemplo 2: Actualizar tipos varias veces

En este ejemplo se muestra cómo actualizar los tipos de un archivo de tipo varias veces en la misma sesión.

El primer comando actualiza la configuración de tipo extendido de los Types.ps1xml archivos, procesando primero los TypesA.types.ps1xml archivos y TypesB.types.ps1xml .

El segundo comando muestra cómo actualizar de TypesA.types.ps1xml nuevo, como puede hacer si agregó o cambió un tipo en el archivo. Puede repetir el comando anterior para el TypesA.types.ps1xml archivo o ejecutar un Update-TypeData comando sin parámetros, ya que TypesA.types.ps1xml ya está en la lista de archivos de tipo para la sesión actual.

Update-TypeData -PrependPath TypesA.types.ps1xml, TypesB.types.ps1xml
Update-TypeData -PrependPath TypesA.types.ps1xml

Ejemplo 3: Adición de una propiedad de script a objetos DateTime

En este ejemplo se usa Update-TypeData para agregar la propiedad quarter script a objetos System.DateTime en la sesión actual, como las devueltas por el Get-Date cmdlet .

$typeDataParams = @{
    TypeName   = 'System.DateTime'
    MemberType = 'ScriptProperty'
    MemberName = 'Quarter'
    Value      = {
        switch ($this.Month) {
            { $_ -in @(1, 2, 3) } { return 'Q1' }
            { $_ -in @(4, 5, 6) } { return 'Q2' }
            { $_ -in @(7, 8, 9) } { return 'Q3' }
            default               { return 'Q4' }
        }
    }
}
Update-TypeData @typeDataParams

(Get-Date).Quarter

Q1

El Update-TypeData comando usa el parámetro TypeName para especificar el tipo System.DateTime , el parámetro MemberName para especificar un nombre para la nueva propiedad, la propiedad MemberType para especificar el tipo ScriptProperty y el parámetro Value para especificar el script que determina el trimestre anual.

El valor de la propiedad Value es un script que calcula el trimestre anual actual. El bloque de script usa la $this variable automática para representar la instancia actual del objeto y el operador In para determinar si el valor del mes aparece en cada matriz de enteros. Para obtener más información sobre el -in operador, consulte about_Comparison_Operators.

El segundo comando obtiene la nueva propiedad Quarter de la fecha actual.

Ejemplo 4: Actualización de un tipo que se muestra en listas de forma predeterminada

En este ejemplo se muestra cómo establecer las propiedades de un tipo que se muestra en listas de forma predeterminada, es decir, cuando no se especifica ninguna propiedad. Dado que los datos de tipo no se especifican en un Types.ps1xml archivo, solo es efectivo en la sesión actual.

Get-Date | Format-list

Update-TypeData -TypeName "System.DateTime" -DefaultDisplayPropertySet @(
    'DateTime'
    'DayOfYear'
    'Quarter'
)

Get-Date | Format-List

DisplayHint : DateTime
Date        : 8/7/2024 12:00:00 AM
Day         : 7
DayOfWeek   : Wednesday
DayOfYear   : 220
Hour        : 10
Kind        : Local
Millisecond : 568
Minute      : 34
Month       : 8
Second      : 43
Ticks       : 638586236835683086
TimeOfDay   : 10:34:43.5683086
Year        : 2024
DateTime    : Wednesday, August 7, 2024 10:34:43 AM
Quarter     : Q3


DateTime  : Wednesday, August 7, 2024 10:34:43 AM
DayOfYear : 220
Quarter   : Q3

El primer comando muestra la vista de lista del Get-Date comando, que genera un objeto System.DateTime que representa la fecha actual. El comando usa un operador de canalización (|) para enviar el objeto DateTime al Format-List cmdlet . Dado que el Format-List comando no especifica las propiedades que se van a mostrar en la lista, PowerShell muestra todas las propiedades públicas y no ocultas del objeto.

El segundo comando usa el Update-TypeData cmdlet para establecer las propiedades de lista predeterminadas para el tipo System.DateTime . El comando usa el parámetro TypeName para especificar el tipo y el parámetro DefaultDisplayPropertySet para especificar las propiedades predeterminadas de una lista. Las propiedades seleccionadas incluyen la nueva propiedad de script Quarter que se agregó en un ejemplo anterior.

El último comando obtiene la fecha actual y la muestra de nuevo en un formato de lista. Solo muestra las propiedades definidas en el Update-TypeData comando, en lugar de la lista completa de propiedades.

Ejemplo 5: Establecer la propiedad en la que se muestra un tipo en formato ancho

En este ejemplo se muestra cómo crear una nueva propiedad de script y usarla como la propiedad predeterminada que se muestra cuando el tipo se pasa al Format-Wide cmdlet .

Get-Command *File* | Format-Wide

Set-AppPackageProvisionedDataFile                          Set-ProvisionedAppPackageDataFile
Set-ProvisionedAppXDataFile                                Write-FileSystemCache
Write-FileSystemCache                                      Block-FileShareAccess
Clear-FileStorageTier                                      Close-SmbOpenFile
Debug-FileShare                                            Disable-NetIPHttpsProfile
Enable-NetIPHttpsProfile                                   Get-FileHash
Get-FileIntegrity                                          Get-FileShare
Get-FileShareAccessControlEntry                            Get-FileStorageTier
Get-NetConnectionProfile                                   Get-NetFirewallHyperVProfile
Get-NetFirewallProfile                                     Get-SmbOpenFile
Get-StorageFileServer                                      Get-SupportedFileSystems
Grant-FileShareAccess                                      Import-PowerShellDataFile
New-FileShare                                              New-NetFirewallHyperVProfile
New-ScriptFileInfo                                         New-StorageFileServer
New-TemporaryFile                                          Publish-BCFileContent
Remove-FileShare                                           Remove-NetFirewallHyperVProfile
Remove-StorageFileServer                                   Repair-FileIntegrity
Revoke-FileShareAccess                                     Set-FileIntegrity
Set-FileShare                                              Set-FileStorageTier
Set-NetConnectionProfile                                   Set-NetFirewallHyperVProfile
Set-NetFirewallProfile                                     Set-StorageBusProfile
Set-StorageFileServer                                      Test-ScriptFileInfo
Unblock-FileShareAccess                                    Update-ScriptFileInfo
Add-BitsFile                                               Get-AIPFileStatus
Get-AppLockerFileInformation                               New-FileCatalog
New-PSRoleCapabilityFile                                   New-PSSessionConfigurationFile
Out-File                                                   Set-AIPFileClassification
Set-AIPFileLabel                                           Set-AppXProvisionedDataFile
Set-UevTemplateProfile                                     Test-FileCatalog
Test-PSSessionConfigurationFile                            Unblock-File
FileDialogBroker.exe                                       FileHistory.exe
forfiles.exe                                               openfiles.exe

$typeDataParams = @{
    TypeName               = 'System.Management.Automation.CommandInfo'
    DefaultDisplayProperty = 'FullyQualifiedName'
    MemberType             = 'ScriptProperty'
    MemberName             = 'FullyQualifiedName'
    Value                  = {
        [OutputType([string])]
        param()

        # For executables, return the path to the application.
        if ($this -is [System.Management.Automation.ApplicationInfo]) {
            return $this.Path
        }

        # For commands defined outside a module, return only the name.
        if ([string]::IsNullOrEmpty($this.ModuleName)) {
            return $this.Name
        }

        # Return the fully-qualified command name "<ModuleName>\<CommandName>"
        return '{0}\{1}' -f $this.ModuleName, $this.Name
    }
}
Update-TypeData @typeDataParams

Get-Command *File* | Format-Wide

Dism\Set-AppPackageProvisionedDataFile                     Dism\Set-ProvisionedAppPackageDataFile
Dism\Set-ProvisionedAppXDataFile                           Storage\Write-FileSystemCache
VMDirectStorage\Write-FileSystemCache                      Storage\Block-FileShareAccess
Storage\Clear-FileStorageTier                              SmbShare\Close-SmbOpenFile
Storage\Debug-FileShare                                    NetworkTransition\Disable-NetIPHttpsProfile
NetworkTransition\Enable-NetIPHttpsProfile                 Microsoft.PowerShell.Utility\Get-FileHash
Storage\Get-FileIntegrity                                  Storage\Get-FileShare
Storage\Get-FileShareAccessControlEntry                    Storage\Get-FileStorageTier
NetConnection\Get-NetConnectionProfile                     NetSecurity\Get-NetFirewallHyperVProfile
NetSecurity\Get-NetFirewallProfile                         SmbShare\Get-SmbOpenFile
Storage\Get-StorageFileServer                              Storage\Get-SupportedFileSystems
Storage\Grant-FileShareAccess                              Microsoft.PowerShell.Utility\Import-PowerShellDataFile
Storage\New-FileShare                                      NetSecurity\New-NetFirewallHyperVProfile
PowerShellGet\New-ScriptFileInfo                           Storage\New-StorageFileServer
Microsoft.PowerShell.Utility\New-TemporaryFile             BranchCache\Publish-BCFileContent
Storage\Remove-FileShare                                   NetSecurity\Remove-NetFirewallHyperVProfile
Storage\Remove-StorageFileServer                           Storage\Repair-FileIntegrity
Storage\Revoke-FileShareAccess                             Storage\Set-FileIntegrity
Storage\Set-FileShare                                      Storage\Set-FileStorageTier
NetConnection\Set-NetConnectionProfile                     NetSecurity\Set-NetFirewallHyperVProfile
NetSecurity\Set-NetFirewallProfile                         StorageBusCache\Set-StorageBusProfile
Storage\Set-StorageFileServer                              PowerShellGet\Test-ScriptFileInfo
Storage\Unblock-FileShareAccess                            PowerShellGet\Update-ScriptFileInfo
BitsTransfer\Add-BitsFile                                  AzureInformationProtection\Get-AIPFileStatus
AppLocker\Get-AppLockerFileInformation                     Microsoft.PowerShell.Security\New-FileCatalog
Microsoft.PowerShell.Core\New-PSRoleCapabilityFile         Microsoft.PowerShell.Core\New-PSSessionConfigurationFile
Microsoft.PowerShell.Utility\Out-File                      AzureInformationProtection\Set-AIPFileClassification
AzureInformationProtection\Set-AIPFileLabel                Dism\Set-AppXProvisionedDataFile
UEV\Set-UevTemplateProfile                                 Microsoft.PowerShell.Security\Test-FileCatalog
Microsoft.PowerShell.Core\Test-PSSessionConfigurationFile  Microsoft.PowerShell.Utility\Unblock-File
C:\WINDOWS\system32\FileDialogBroker.exe                   C:\WINDOWS\system32\FileHistory.exe
C:\WINDOWS\system32\forfiles.exe                           C:\WINDOWS\system32\openfiles.exe

El primer comando usa el Get-Command cmdlet para devolver todos los comandos con un nombre que contenga la palabra File. Canaliza la salida al Format-Wide cmdlet , que muestra los nombres de los comandos en columnas.

A continuación, el ejemplo usa Update-TypeData para definir defaultDisplayProperty y una nueva propiedad de script para el tipo CommandInfo. La salida de Get-Command devuelve objetos CommandInfo y objetos derivados de ese tipo. La nueva propiedad de script, FullyQualifiedName, devuelve la ruta de acceso completa a las aplicaciones ejecutables y el nombre completo de los cmdlets, que prefijo el nombre del cmdlet con el módulo que lo define. El Update-TypeData cmdlet puede definir la nueva propiedad de script y usarla como DefaultDisplayProperty en el mismo comando.

Por último, la salida muestra los resultados del objeto mostrado en formato ancho después de Get-Command la actualización de tipo. Muestra el nombre completo de los cmdlets y la ruta de acceso completa a las aplicaciones ejecutables.

Ejemplo 6: Actualización de datos de tipo para un objeto canalización

$typeDataParams = @{
    MemberType = 'ScriptProperty'
    MemberName = 'SupportsUpdatableHelp'
    Value      = {
        [OutputType([bool])]
        param()

        return (-not [string]::IsNullOrEmpty($this.HelpInfoUri))
    }
}
Get-Module Microsoft.PowerShell.Utility | Update-TypeData @typeDataParams

Get-Module -ListAvailable -Name Microsoft.PowerShell.* |
    Format-Table Name, SupportsUpdatableHelp

Name                                      SupportsUpdatableHelp
----                                      ---------------------
Microsoft.PowerShell.Operation.Validation                  True
Microsoft.PowerShell.Archive                               True
Microsoft.PowerShell.Diagnostics                           True
Microsoft.PowerShell.Host                                  True
Microsoft.PowerShell.LocalAccounts                         True
Microsoft.PowerShell.Management                            True
Microsoft.PowerShell.ODataUtils                            True
Microsoft.PowerShell.Security                              True
Microsoft.PowerShell.Utility                               True

En este ejemplo se muestra que cuando canaliza un objeto a Update-TypeData, Update-TypeData agrega datos de tipo extendido para el tipo de objeto.

Esta técnica es más rápida que usar el Get-Member cmdlet o el Get-Type método para obtener el tipo de objeto. Sin embargo, si canaliza una colección de objetos a Update-TypeData, actualiza los datos de tipo del primer tipo de objeto y, a continuación, devuelve un error para todos los demás objetos de la colección porque el miembro ya está definido en el tipo.

El primer comando usa el Get-Module cmdlet para obtener el módulo Microsoft.PowerShell.Utility . El comando canaliza el objeto de módulo al Update-TypeData cmdlet , que actualiza los datos de tipo para el tipo System.Management.Automation.PSModuleInfo y los tipos derivados de él, como el tipo ModuleInfoGrouping que Get-Module devuelve cuando se usa el parámetro ListAvailable en el comando.

Los Update-TypeData comandos agregan la propiedad de script SupportsUpdatableHelp a todos los módulos importados. El valor del parámetro Value es un script que devuelve $true si la propiedad HelpInfoUri del módulo se rellena y $false de lo contrario.

El segundo comando canaliza los objetos de módulo desde Get-Module al Format-Table cmdlet , que muestra las propiedades Name y SupportsUpdatableHelp de los módulos disponibles.

Parámetros

-AppendPath

Especifica la ruta de acceso a los archivos opcionales .ps1xml . Los archivos especificados se cargan en el orden con que aparecen después de que se carguen los archivos integrados. También puede canalizar un valor AppendPath a Update-TypeData.

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

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultDisplayProperty

Especifica la propiedad del tipo que muestra el Format-Wide cmdlet cuando no se especifican otras propiedades.

Especifique el nombre de una propiedad estándar o extendida del tipo. El valor de este parámetro puede ser el nombre de un tipo que se agrega en el mismo comando.

Este valor solo es efectivo cuando no hay vistas amplias definidas para el tipo en un Format.ps1xml archivo.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultDisplayPropertySet

Especifica una o más propiedades del tipo. Estos cmdlets , y Format-Custom muestran Format-ListFormat-Tableestas propiedades cuando no se especifica ninguna otra propiedad.

Especifique los nombres de propiedades estándar o extendidas del tipo. El valor de este parámetro puede ser nombres de tipos que se agregan en el mismo comando.

Este valor solo es efectivo cuando no hay ninguna lista, tabla o vistas personalizadas, respectivamente, definidas para el tipo en un Format.ps1xml archivo.

Este parámetro se incorporó en Windows PowerShell 3.0.

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

-DefaultKeyPropertySet

Especifica una o más propiedades del tipo. Estos cmdlets y usan Group-Object Sort-Object estas propiedades cuando no se especifica ninguna otra propiedad.

Especifique los nombres de propiedades estándar o extendidas del tipo. El valor de este parámetro puede ser nombres de tipos que se agregan en el mismo comando.

Este parámetro se incorporó en Windows PowerShell 3.0.

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

-Force

Indica que el cmdlet usa los datos de tipo especificados, incluso si ya se han especificado datos de tipo para ese tipo.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InheritPropertySerializationSet

Indica si se hereda el conjunto de propiedades serializadas. El valor predeterminado es $Null. Los valores permitidos para este parámetro son los siguientes:

  • $True. Se hereda el conjunto de propiedades.
  • $False. No se hereda el conjunto de propiedades.
  • $Null. La herencia no está definida.

Este parámetro solo es válido cuando el valor del parámetro SerializationMethod es SpecificProperties. Cuando el valor de este parámetro es $False, se requiere el parámetro PropertySerializationSet .

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:Nullable<T>[Boolean]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-MemberName

Especifica el nombre de una propiedad o método.

Use este parámetro con los parámetros TypeName, MemberType, Value y SecondValue para agregar o cambiar una propiedad o un método de un tipo.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-MemberType

Especifica el tipo del miembro que se va a agregar o cambiar.

Use este parámetro con los parámetros TypeName, MemberType, Value y SecondValue para agregar o cambiar una propiedad o un método de un tipo. Los valores permitidos para este parámetro son los siguientes:

  • AliasProperty
  • CodeMethod
  • CodeProperty
  • Propiedad note
  • ScriptMethod
  • ScriptProperty

Para obtener información sobre estos valores, vea ENUMERAción PSMemberTypes.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:PSMemberTypes
Valores aceptados:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PrependPath

Especifica la ruta de acceso a los archivos opcionales .ps1xml . Los archivos especificados se cargan en el orden con que aparecen antes de que se carguen los archivos integrados.

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

-PropertySerializationSet

Especifica los nombres de las propiedades que se serializan. Use este parámetro cuando el valor del parámetro SerializationMethod sea SpecificProperties.

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

-SecondValue

Especifica valores adicionales para los miembros AliasProperty, ScriptProperty, CodeProperty o CodeMethod.

Use este parámetro con los parámetros TypeName, MemberType, Value y SecondValue para agregar o cambiar una propiedad o un método de un tipo.

Cuando el valor del parámetro MemberType es AliasProperty, el valor del parámetro SecondValue debe ser un tipo de datos. PowerShell convierte (es decir, convierte) el valor de la propiedad alias en el tipo especificado. Por ejemplo, si agrega una propiedad de alias que proporciona un nombre alternativo para una propiedad de cadena, también puede especificar un SecondValue de System.Int32 para convertir el valor de cadena con alias en un entero.

Cuando el valor del parámetro MemberType es ScriptProperty, puede usar el parámetro SecondValue para especificar un bloque de script adicional. El bloque de script en el valor del parámetro Value obtiene el valor de una variable. El bloque de script en el valor del parámetro SecondValue establece el valor de la variable.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:Object
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SerializationDepth

Especifica cuántos niveles de objetos de tipo se serializan como cadenas. El valor 1 predeterminado serializa el objeto y sus propiedades. Un valor de 0 serializa el objeto, pero no sus propiedades. Un valor de 2 serializa el objeto, sus propiedades y los objetos de los valores de propiedad.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:Int32
Posición:Named
Valor predeterminado:1
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SerializationMethod

Especifica un método de serialización para el tipo. Un método de serialización determina qué propiedades del tipo se serializan y la técnica que se utiliza para serializarlas. Los valores permitidos para este parámetro son los siguientes:

  • AllPublicProperties. serializa todas las propiedades públicas del tipo. Puede usar el parámetro SerializationDepth para determinar si se serializan las propiedades secundarias.
  • String. serializar el tipo como una cadena. Puede usar StringSerializationSource para especificar una propiedad del tipo que se usará como resultado de la serialización. De lo contrario, el tipo se serializa mediante el método ToString del objeto .
  • SpecificProperties. Serialice solo las propiedades especificadas de este tipo. Use el parámetro PropertySerializationSet para especificar las propiedades del tipo que se serializan. También puede usar el parámetro InheritPropertySerializationSet para determinar si el conjunto de propiedades se hereda y el parámetro SerializationDepth para determinar si se serializan las propiedades secundarias.

En PowerShell, los métodos de serialización se almacenan en objetos internos PSStandardMembers .

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-StringSerializationSource

Especifica el nombre de una propiedad del tipo. El valor de la propiedad especificada se utiliza como el resultado de la serialización. Este parámetro solo es válido cuando el valor del parámetro SerializationMethod es String.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TargetTypeForDeserialization

Especifica el tipo al que se convierten los objetos de este tipo cuando se deserializan.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:Type
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TypeAdapter

Especifica el tipo de un adaptador de tipo, como Microsoft.PowerShell.Cim.CimInstanceAdapter. Un adaptador de tipo permite a PowerShell obtener los miembros de un tipo.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:Type
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TypeConverter

Especifica un convertidor de tipos para convertir los valores entre los distintos tipos. Si se define un convertidor de tipos para un tipo, se utiliza una instancia del convertidor de tipos para la conversión.

Escriba un valor System.Type derivado de las clases System.ComponentModel.TypeConverter o System.Management.Automation.PSTypeConverter .

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:Type
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TypeData

Especifica una matriz de datos de tipo que este cmdlet agrega a la sesión. Escriba una variable que contenga un objeto TypeData o un comando que obtenga un objeto TypeData , como un Get-TypeData comando. También puede canalizar un objeto TypeData a Update-TypeData.

Este parámetro se incorporó en Windows PowerShell 3.0.

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

-TypeName

Especifica el nombre del tipo que se va a extender.

En el caso de los tipos del espacio de nombres Del sistema , escriba el nombre corto. De lo contrario, se requiere el nombre de tipo completo. No se admiten caracteres comodín.

Puede canalizar nombres de tipo a Update-TypeData. Cuando canaliza un objeto a Update-TypeData, Update-TypeData obtiene el nombre de tipo del objeto y los datos de tipo al tipo de objeto.

Use este parámetro con los parámetros MemberName, MemberType, Value y SecondValue para agregar o cambiar una propiedad o un método de un tipo.

Este parámetro se incorporó en Windows PowerShell 3.0.

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

-Value

Especifica el valor de la propiedad o método.

Si agrega un AliasPropertymiembro , CodeProperty, ScriptPropertyo CodeMethod , puede usar el parámetro SecondValue para agregar información adicional.

Use este parámetro con los parámetros MemberName, MemberType, Value y SecondValue para agregar o cambiar una propiedad o un método de un tipo.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:Object
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

String

Puede canalizar una cadena que contenga los valores de los parámetros AppendPath, TypeName o TypeData a este cmdlet.

Salidas

None

Este cmdlet no devuelve ningún resultado.