Partilhar via


Update-TypeData

Atualiza os dados de tipo estendidos 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 estendidos conforme necessário. Sem parâmetros, Update-TypeData recarrega todos os Types.ps1xml arquivos que ele carregou na sessão, incluindo todos os arquivos de 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 estendidos.

O Update-TypeData cmdlet pode ser usado para pré-carregar todos os dados de tipo. Esse recurso é particularmente útil quando você está desenvolvendo tipos e deseja 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 estendidos na sessão sem usar um Types.ps1xml arquivo. Os dados de tipo que são adicionados dinamicamente, ou seja, sem um arquivo, são adicionados apenas à 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 os tipos estendidos da sessão atual.

As exceções que ocorrem em propriedades ou na adição de propriedades a um Update-TypeData comando não relatam erros. Isso é para suprimir exceções que ocorreriam em muitos tipos comuns durante a formatação e 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 sintaxe do Update-TypeData 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

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

Exemplo 2: Tipos de atualização 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 o TypesA.types.ps1xml novamente, como você pode fazer se você adicionou ou alterou 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 aos objetos System.DateTime na sessão atual, como os retornados Get-Date pelo 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 inteira. Para obter mais informações sobre o -in operador, consulte about_Comparison_Operators.

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 a 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 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 Quarter 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 amplo

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 contendo 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 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.

Finalmente, a saída mostra os Get-Command resultados do exibido em grande formato após a atualização do 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 adiciona dados de tipo estendidos 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-TypeDatao , ele atualizará os dados de tipo do primeiro tipo de objeto e, em seguida, retornará um erro para todos os outros objetos da 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 module 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 estiver preenchida e $false de outra forma.

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 sã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
Position:0
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Confirm

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

Tipo:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-DefaultDisplayProperty

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

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

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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 padrão ou estendidas do tipo. O valor desse parâmetro pode ser os nomes dos tipos que são adicionados no mesmo comando.

Esse valor só é efetivo quando não há nenhuma lista, tabela ou modos de exibição personalizados, respectivamente, definidos para o tipo em um Format.ps1xml arquivo.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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 padrão ou estendidas do tipo. O valor desse parâmetro pode ser os nomes dos tipos que são adicionados no mesmo comando.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-InheritPropertySerializationSet

Indica se o conjunto de propriedades que são serializadas é herdado. O valor predefinido é $Null. Os valores aceitáveis para este 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.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Nullable<T>[Boolean]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-MemberType

Especifica o tipo de membro a ser adicionado ou alterado.

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 este parâmetro são:

  • AliasProperty
  • CodeMethod
  • CodeProperty
  • Noteproperty
  • ScriptMethod
  • ScriptProperty

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:PSMemberTypes
Valores aceites:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-PrependPath

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

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-PropertySerializationSet

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

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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 é AliasProperty, o valor do parâmetro SecondValue deve 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 alias que fornece um nome alternativo para uma propriedade string, você também pode especificar um SecondValue de System.Int32 para converter o valor de cadeia de caracteres aliased 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.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Object
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Int32
Position:Named
Default value:1
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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 este 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 usado como resultado da serialização. Caso contrário, o tipo é 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 .

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-TargetTypeForDeserialization

Especifica o tipo para o qual o objeto desse tipo é convertido quando eles são desserializados.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Type
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Type
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-TypeConverter

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

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Type
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:TypeData[]
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-TypeName

Especifica o nome do tipo a ser estendido.

Para tipos no namespace System , insira o nome abreviado. Caso contrário, o nome completo do tipo é necessário. Não são suportados carateres universais.

Você pode canalizar nomes de tipo para Update-TypeData. Quando você canaliza um objeto para Update-TypeDatao , Update-TypeData obtém o nome do tipo do objeto e digita dados 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.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Value

Especifica o valor da propriedade ou método.

Se você adicionar um AliasProperty, CodeProperty, ScriptProperty, ou CodeMethod membro, 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.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Object
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

String

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

Saídas

None

Este cmdlet não retorna nenhuma saída.