Compartilhar via


Update-TypeData

Atualiza os dados de tipo estendido na sessão.

Sintaxe

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

O Update-TypeData cmdlet atualiza os dados de tipo estendido na sessão recarregando os Types.ps1xml arquivos na memória e adicionando novos dados de tipo estendido.

Por padrão, o PowerShell carrega dados de tipo estendido conforme necessário. Sem parâmetros, Update-TypeData recarrega todos os arquivos carregados na sessão, incluindo todos os arquivos de Types.ps1xml tipo que você adicionou. Você pode usar os parâmetros de para adicionar novos arquivos de tipo e adicionar e substituir dados de Update-TypeData tipo estendido.

O Update-TypeData cmdlet pode ser usado para pré-carregar todos os dados de tipo. Esse recurso é particularmente útil quando você estiver desenvolvendo tipos e desejar carregar esses novos tipos para fins de teste.

A partir do Windows PowerShell 3.0, você pode usar Update-TypeData para adicionar e substituir dados de tipo estendido na sessão sem usar um Types.ps1xml arquivo. Dados de tipo adicionados dinamicamente, ou seja, sem um arquivo, são adicionados somente à sessão atual. Para adicionar os dados de tipo a todas as sessões, adicione um Update-TypeData comando ao seu perfil do PowerShell. Para obter mais informações, consulte about_Profiles.

Além disso, a partir do Windows PowerShell 3.0, você pode usar o Get-TypeData cmdlet para obter os tipos estendidos na sessão atual e o Remove-TypeData cmdlet para excluir tipos estendidos da sessão atual.

As exceções que ocorrem nas propriedades ou na adição de propriedades a um Update-TypeData comando não relatam erros. Isso é para suprimir exceções que podem ocorrer em muitos tipos comuns durante a formatação e a saída. Se você estiver obtendo propriedades do .NET, poderá contornar a supressão de exceções usando a sintaxe do método, conforme mostrado no exemplo a seguir:

"hello".get_Length()

Observe que a sintaxe do método só pode ser usada com propriedades .NET. As propriedades adicionadas pela execução do cmdlet não podem usar a Update-TypeData sintaxe do método.

Para obter mais informações sobre os Types.ps1xml arquivos no PowerShell, consulte about_Types.ps1xml.

Exemplos

Exemplo 1: Atualizar tipos estendidos

Update-TypeData

Esse comando atualiza a configuração de tipo estendido dos Types.ps1xml arquivos que já foram usados na sessão.

Exemplo 2: Atualizar tipos várias vezes

Este exemplo mostra como atualizar os tipos em um arquivo de tipo várias vezes na mesma sessão.

O primeiro comando atualiza a configuração de tipo estendido dos Types.ps1xml arquivos, processando os TypesA.types.ps1xml arquivos e TypesB.types.ps1xml primeiro.

O segundo comando mostra como atualizar novamente TypesA.types.ps1xml , como você faria se adicionasse ou alterasse um tipo no arquivo. Você pode repetir o comando anterior para o TypesA.types.ps1xml arquivo ou executar um Update-TypeData comando sem parâmetros, porque TypesA.types.ps1xml já está na lista de arquivos de tipo para a sessão atual.

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

Exemplo 3: Adicionar uma propriedade de script a objetos DateTime

Este exemplo usa Update-TypeData para adicionar a propriedade de script Quarter a objetos System.DateTime na sessão atual, como aqueles retornados pelo 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

O Update-TypeData comando usa o parâmetro TypeName para especificar o tipo System.DateTime , o parâmetro MemberName para especificar um nome para a nova propriedade, a propriedade MemberType para especificar o tipo ScriptProperty e o parâmetro Value para especificar o script que determina o trimestre anual.

O valor da propriedade Value é um script que calcula o trimestre anual atual. O bloco de script usa a $this variável automática para representar a instância atual do objeto e o operador In para determinar se o valor do mês aparece em cada matriz de inteiros. Para obter mais informações sobre o operador, consulte about_Comparison_Operators-in.

O segundo comando obtém a nova propriedade Quarter da data atual.

Exemplo 4: Atualizar um tipo que é exibido em listas por padrão

Este exemplo mostra como definir as propriedades de um tipo que é exibido em listas por padrão, ou seja, quando nenhuma propriedade é especificada. Como os dados de tipo não são especificados em um Types.ps1xml arquivo, eles são efetivos somente na sessão atual.

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
Microsecond : 308
Nanosecond  : 600
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

O primeiro comando mostra o modo de exibição de lista para o Get-Date comando, que gera um objeto System.DateTime que representa a data atual. O comando usa um operador de pipeline (|) para enviar o objeto DateTime para o Format-List cmdlet. Como o Format-List comando não especifica as propriedades a serem exibidas na lista, o PowerShell exibe todas as propriedades públicas e não ocultas do objeto.

O segundo comando usa o Update-TypeData cmdlet para definir as propriedades de lista padrão para o tipo System.DateTime . O comando usa o parâmetro TypeName para especificar o tipo e o parâmetro DefaultDisplayPropertySet para especificar as propriedades padrão de uma lista. As propriedades selecionadas incluem a nova propriedade de script Trimestre que foi adicionada em um exemplo anterior.

O último comando obtém a data atual e a exibe em um formato de lista novamente. Ele exibe apenas as propriedades definidas no Update-TypeData comando, em vez da lista completa de propriedades.

Exemplo 5: Definir a propriedade que um tipo exibe em formato largo

Este exemplo demonstra como criar uma nova propriedade de script e usá-la como a propriedade padrão exibida quando o tipo é passado para o Format-Wide cmdlet.

Get-Command *File* | Format-Wide

Set-AppPackageProvisionedDataFile                            Set-ProvisionedAppPackageDataFile
Set-ProvisionedAppXDataFile                                  Write-FileSystemCache
Write-FileSystemCache                                        Add-PoshGitToProfile
Block-FileShareAccess                                        Clear-FileStorageTier
Close-SmbOpenFile                                            Debug-FileShare
Disable-NetIPHttpsProfile                                    Enable-NetIPHttpsProfile
Get-FileIntegrity                                            Get-FileShare
Get-FileShareAccessControlEntry                              Get-FileStorageTier
Get-NetConnectionProfile                                     Get-NetFirewallHyperVProfile
Get-NetFirewallProfile                                       Get-SmbOpenFile
Get-StorageFileServer                                        Get-SupportedFileSystems
Grant-FileShareAccess                                        New-FileShare
New-NetFirewallHyperVProfile                                 New-ScriptFileInfo
New-ScriptFileInfo                                           New-StorageFileServer
Publish-BCFileContent                                        Remove-FileShare
Remove-NetFirewallHyperVProfile                              Remove-PoshGitFromProfile
Remove-StorageFileServer                                     Repair-FileIntegrity
Revoke-FileShareAccess                                       Set-FileIntegrity
Set-FileShare                                                Set-FileStorageTier
Set-NetConnectionProfile                                     Set-NetFirewallHyperVProfile
Set-NetFirewallProfile                                       Set-StorageBusProfile
Set-StorageFileServer                                        Test-ScriptFileInfo
Test-ScriptFileInfo                                          Unblock-FileShareAccess
Update-ScriptFileInfo                                        Update-ScriptFileInfo
Add-BitsFile                                                 Get-AppLockerFileInformation
Get-FileHash                                                 Get-PSScriptFileInfo
Import-PowerShellDataFile                                    New-FileCatalog
New-PSRoleCapabilityFile                                     New-PSScriptFileInfo
New-PSSessionConfigurationFile                               New-TemporaryFile
Out-File                                                     Set-AppXProvisionedDataFile
Test-FileCatalog                                             Test-PSScriptFileInfo
Test-PSSessionConfigurationFile                              Unblock-File
Update-PSScriptFileInfo                                      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                        posh-git\Add-PoshGitToProfile
Storage\Block-FileShareAccess                                Storage\Clear-FileStorageTier
SmbShare\Close-SmbOpenFile                                   Storage\Debug-FileShare
NetworkTransition\Disable-NetIPHttpsProfile                  NetworkTransition\Enable-NetIPHttpsProfile
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                                Storage\New-FileShare
NetSecurity\New-NetFirewallHyperVProfile                     PowerShellGet\New-ScriptFileInfo
PowerShellGet\New-ScriptFileInfo                             Storage\New-StorageFileServer
BranchCache\Publish-BCFileContent                            Storage\Remove-FileShare
NetSecurity\Remove-NetFirewallHyperVProfile                  posh-git\Remove-PoshGitFromProfile
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
PowerShellGet\Test-ScriptFileInfo                            Storage\Unblock-FileShareAccess
PowerShellGet\Update-ScriptFileInfo                          PowerShellGet\Update-ScriptFileInfo
BitsTransfer\Add-BitsFile                                    AppLocker\Get-AppLockerFileInformation
Microsoft.PowerShell.Utility\Get-FileHash                    Microsoft.PowerShell.PSResourceGet\Get-PSScriptFileInfo
Microsoft.PowerShell.Utility\Import-PowerShellDataFile       Microsoft.PowerShell.Security\New-FileCatalog
Microsoft.PowerShell.Core\New-PSRoleCapabilityFile           Microsoft.PowerShell.PSResourceGet\New-PSScriptFileInfo
Microsoft.PowerShell.Core\New-PSSessionConfigurationFile     Microsoft.PowerShell.Utility\New-TemporaryFile
Microsoft.PowerShell.Utility\Out-File                        Dism\Set-AppXProvisionedDataFile
Microsoft.PowerShell.Security\Test-FileCatalog               Microsoft.PowerShell.PSResourceGet\Test-PSScriptFileInfo
Microsoft.PowerShell.Core\Test-PSSessionConfigurationFile    Microsoft.PowerShell.Utility\Unblock-File
Microsoft.PowerShell.PSResourceGet\Update-PSScriptFileInfo   C:\WINDOWS\system32\FileDialogBroker.exe
C:\WINDOWS\system32\FileHistory.exe                          C:\WINDOWS\system32\forfiles.exe
C:\WINDOWS\system32\openfiles.exe

O primeiro comando usa o Get-Command cmdlet para retornar cada comando com um nome que contém a palavra File. Ele canaliza a saída para o Format-Wide cmdlet, que mostra os nomes dos comandos em colunas.

Em seguida, o exemplo usa Update-TypeData para definir o DefaultDisplayProperty e uma nova propriedade de script para o tipo CommandInfo . A saída para Get-Command retorna objetos CommandInfo e objetos derivados desse tipo. A nova propriedade de script, FullyQualifiedName, retorna o caminho completo para aplicativos executáveis e o nome totalmente qualificado para cmdlets, que prefixa o nome do cmdlet com o módulo que o define. O Update-TypeData cmdlet é capaz de definir a nova propriedade de script e usá-la como DefaultDisplayProperty no mesmo comando.

Por fim, a saída mostra os resultados do exibido em formato amplo após a atualização do Get-Command tipo. Ele mostra o nome totalmente qualificado para cmdlets e o caminho completo para aplicativos executáveis.

Exemplo 6: Atualizar dados de tipo para um objeto canalizado

$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.Archive                               True
Microsoft.PowerShell.Diagnostics                           True
Microsoft.PowerShell.Host                                  True
Microsoft.PowerShell.Management                            True
Microsoft.PowerShell.PSResourceGet                         True
Microsoft.PowerShell.Security                              True
Microsoft.PowerShell.Utility                               True
Microsoft.PowerShell.Operation.Validation                  True
Microsoft.PowerShell.LocalAccounts                         True

Este exemplo demonstra que, quando você canaliza um objeto para Update-TypeData, Update-TypeData o adiciona dados de tipo estendido para o tipo de objeto.

Essa técnica é mais rápida do que usar o Get-Member cmdlet ou o Get-Type método para obter o tipo de objeto. No entanto, se você canalizar uma coleção de objetos para Update-TypeData, ele atualizará os dados de tipo do primeiro tipo de objeto e, em seguida, retornará um erro para todos os outros objetos na coleção porque o membro já está definido no tipo.

O primeiro comando usa o Get-Module cmdlet para obter o módulo Microsoft.PowerShell.Utility . O comando canaliza o objeto de módulo para o Update-TypeData cmdlet, que atualiza os dados de tipo para o tipo System.Management.Automation.PSModuleInfo e os tipos derivados dele, como o tipo ModuleInfoGrouping que Get-Module retorna quando você usa o parâmetro ListAvailable no comando.

Os Update-TypeData comandos adicionam a propriedade de script SupportsUpdatableHelp a todos os módulos importados. O valor do parâmetro Value é um script que retorna $true se a propriedade HelpInfoUri do módulo for preenchida e $false , caso contrário.

O segundo comando canaliza os objetos do Get-Module módulo para o Format-Table cmdlet, que exibe as propriedades Name e SupportsUpdatableHelp dos módulos disponíveis.

Parâmetros

-AppendPath

Especifica o caminho para arquivos opcionais .ps1xml . Os arquivos especificados são carregados na ordem em que estão listados depois que os arquivos internos são carregados. Você também pode canalizar um valor AppendPath para Update-TypeData.

Tipo:String[]
Aliases:PSPath, Path
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultDisplayProperty

Especifica a propriedade do tipo que é exibida pelo Format-Wide cmdlet quando nenhuma outra propriedade é especificada.

Digite o nome de uma propriedade estendida ou padrão do tipo. O valor desse parâmetro pode ser o nome de um tipo que é adicionado no mesmo comando.

Esse valor só é efetivo quando não há exibições amplas definidas para o tipo em um Format.ps1xml arquivo.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultDisplayPropertySet

Especifica uma ou mais propriedades do tipo. Essas propriedades são exibidas pelos Format-Listcmdlets , Format-Tablee Format-Custom quando nenhuma outra propriedade é especificada.

Digite os nomes das propriedades estendidas ou padrão do tipo. O valor desse parâmetro pode ser os nomes de tipos que são adicionados no mesmo comando.

Esse valor é efetivo somente quando não há lista, tabela ou exibições personalizadas, respectivamente, definidas para o tipo em um Format.ps1xml arquivo.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultKeyPropertySet

Especifica uma ou mais propriedades do tipo. Essas propriedades são usadas pelos Group-Object cmdlets e Sort-Object quando nenhuma outra propriedade é especificada.

Digite os nomes das propriedades estendidas ou padrão do tipo. O valor desse parâmetro pode ser os nomes de tipos que são adicionados no mesmo comando.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Force

Indica que o cmdlet usa os dados de tipo especificados, mesmo que os dados de tipo já tenham sido especificados para esse tipo.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InheritPropertySerializationSet

Indica se o conjunto de propriedades serializadas é herdado. O valor padrão é $Null. Os valores aceitáveis para esse parâmetro são:

  • $True. O conjunto de propriedades é herdado.
  • $False. O conjunto de propriedades não é herdado.
  • $Null. A herança não está definida.

Esse parâmetro é válido somente quando o valor do parâmetro SerializationMethod é SpecificProperties. Quando o valor desse parâmetro é $False, o parâmetro PropertySerializationSet é necessário.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Nullable<T>[Boolean]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-MemberName

Especifica o nome de uma propriedade ou método.

Use esse parâmetro com os parâmetros TypeName, MemberType, Value e SecondValue para adicionar ou alterar uma propriedade ou método de um tipo.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-MemberType

Especifica o tipo do membro para adicionar ou alterar.

Use esse parâmetro com os parâmetros TypeName, MemberType, Value e SecondValue para adicionar ou alterar uma propriedade ou método de um tipo. Os valores aceitáveis para esse parâmetro são:

  • Propriedade de alias
  • Método de código
  • Propriedade do código
  • Observaçãopropriedade
  • Método de script
  • Propriedade do script

Para obter informações sobre esses valores, consulte Enumeração PSMemberTypes.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:PSMemberTypes
Valores aceitos:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PrependPath

Especifica o caminho para os arquivos opcionais .ps1xml . Os arquivos especificados são carregados na ordem em que estão listados antes que os arquivos internos são carregados.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PropertySerializationSet

Especifica os nomes das propriedades serializadas. Use esse parâmetro quando o valor do parâmetro SerializationMethod for SpecificProperties.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SecondValue

Especifica valores adicionais para membros AliasProperty, ScriptProperty, CodeProperty ou CodeMethod .

Use esse parâmetro com os parâmetros TypeName, MemberType, Value e SecondValue para adicionar ou alterar uma propriedade ou método de um tipo.

Quando o valor do parâmetro MemberType for AliasProperty, o valor do parâmetro SecondValue deverá ser um tipo de dados. O PowerShell converte (ou seja, converte) o valor da propriedade alias para o tipo especificado. Por exemplo, se você adicionar uma propriedade de alias que fornece um nome alternativo para uma propriedade de cadeia de caracteres, também poderá especificar um SecondValue de System.Int32 para converter o valor da cadeia de caracteres com alias em um inteiro.

Quando o valor do parâmetro MemberType for ScriptProperty, você poderá usar o parâmetro SecondValue para especificar um bloco de script adicional. O bloco de script no valor do parâmetro Value obtém o valor de uma variável. O bloco de script no valor do parâmetro SecondValue define o valor da variável.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Object
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SerializationDepth

Especifica quantos níveis de objetos de tipo são serializados como cadeias de caracteres. O valor 1 padrão serializa o objeto e suas propriedades. Um valor de 0 serializa o objeto, mas não suas propriedades. Um valor de serializa o objeto, suas propriedades e quaisquer objetos em valores de 2 propriedade.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Int32
Cargo:Named
Valor padrão:1
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SerializationMethod

Especifica um método de serialização para o tipo. Um método de serialização determina quais propriedades do tipo são serializadas e a técnica usada para serializá-las. Os valores aceitáveis para esse parâmetro são:

  • AllPublicProperties. Serialize todas as propriedades públicas do tipo. Você pode usar o parâmetro SerializationDepth para determinar se as propriedades filho são serializadas.
  • String. Serialize o tipo como uma cadeia de caracteres. Você pode usar o StringSerializationSource para especificar uma propriedade do tipo a ser usada como resultado da serialização. Caso contrário, o tipo será serializado usando o método ToString do objeto.
  • SpecificProperties. Serialize apenas as propriedades especificadas desse tipo. Use o parâmetro PropertySerializationSet para especificar as propriedades do tipo que são serializadas. Você também pode usar o parâmetro InheritPropertySerializationSet para determinar se o conjunto de propriedades é herdado e o parâmetro SerializationDepth para determinar se as propriedades filho são serializadas.

No PowerShell, os métodos de serialização são armazenados em objetos internos PSStandardMembers .

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-StringSerializationSource

Especifica o nome de uma propriedade do tipo. O valor da propriedade especificada é usado como o resultado da serialização. Esse parâmetro é válido somente quando o valor do parâmetro SerializationMethod é String.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-TargetTypeForDeserialization

Especifica o tipo ao qual objeto desse tipo é convertido quando desserializado.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Type
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-TypeAdapter

Especifica o tipo de um adaptador de tipo, como Microsoft.PowerShell.Cim.CimInstanceAdapter. Um adaptador de tipo permite que o PowerShell obtenha os membros de um tipo.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Type
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-TypeConverter

Especifica um conversor de tipos para converter valores entre tipos diferentes. Se for definido um conversor de tipo para um tipo, uma instância do conversor de tipo é usada para a conversão.

Insira um valor System.Type derivado das classes System.ComponentModel.TypeConverter ou System.Management.Automation.PSTypeConverter .

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Type
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-TypeData

Especifica uma matriz de dados de tipo que esse cmdlet adiciona à sessão. Insira uma variável que contenha um objeto TypeData ou um comando que obtenha um objeto TypeData , como um Get-TypeData comando. Você também pode canalizar um objeto TypeData para Update-TypeData.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:TypeData[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-TypeName

Especifica o nome do tipo a ser estendido.

Para tipos no namespace System , insira o nome abreviado. Caso contrário, é necessário o nome completo do tipo. Não há suporte para caracteres curinga.

Você pode canalizar nomes de tipo para Update-TypeData. Quando você canaliza um objeto para , Update-TypeDataUpdate-TypeData obtém o nome do tipo do objeto e os dados do tipo para o tipo de objeto.

Use esse parâmetro com os parâmetros MemberName, MemberType, Value e SecondValue para adicionar ou alterar uma propriedade ou método de um tipo.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Value

Especifica o valor da propriedade ou método.

Se você adicionar um AliasPropertymembro , CodeProperty, ScriptProperty, ou CodeMethod , poderá usar o parâmetro SecondValue para adicionar informações adicionais.

Use esse parâmetro com os parâmetros MemberName, MemberType, Value e SecondValue para adicionar ou alterar uma propriedade ou método de um tipo.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Object
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

String

Você pode canalizar uma cadeia de caracteres que contém os valores dos parâmetros AppendPath, TypeName ou TypeData para esse cmdlet.

Saídas

None

Esse cmdlet não retorna nenhuma saída.