Condividi tramite


Update-TypeData

Aggiorna i dati del tipo esteso della sessione.

Sintassi

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>]

Descrizione

Il Update-TypeData cmdlet aggiorna i dati dei tipi estesi nella sessione ricaricando i Types.ps1xml file in memoria e aggiungendo nuovi dati di tipo esteso.

Per impostazione predefinita, PowerShell carica i dati di tipo esteso in base alle esigenze. Senza parametri, Update-TypeData ricarica tutti i file caricati nella sessione, inclusi i Types.ps1xml file di tipo aggiunti. È possibile usare i parametri di per aggiungere nuovi file di Update-TypeData tipo e aggiungere e sostituire i dati dei tipi estesi.

Il Update-TypeData cmdlet può essere usato per precaricare tutti i dati di tipo. Questa funzionalità è particolarmente utile quando si sviluppano tipi e si vogliono caricare i nuovi tipi a scopo di test.

A partire da Windows PowerShell 3.0, è possibile usare per aggiungere e sostituire i dati dei tipi estesi nella sessione senza usare Update-TypeData un Types.ps1xml file. I dati di tipo vengono aggiunti in modo dinamico, ovvero, senza un file, vengono aggiunti solo alla sessione corrente. Per aggiungere i dati del tipo a tutte le sessioni, aggiungere un Update-TypeData comando al profilo di PowerShell. Per altre informazioni, vedere about_Profiles.

Inoltre, a partire da Windows PowerShell 3.0, è possibile usare il Get-TypeData cmdlet per ottenere i tipi estesi nella sessione corrente e il Remove-TypeData cmdlet per eliminare i tipi estesi dalla sessione corrente.

Le eccezioni che si verificano nelle proprietà o dall'aggiunta di proprietà a un Update-TypeData comando non segnalano errori. Ciò serve a sopprimere le eccezioni che si verificherebbero in molti dei tipi più comuni durante la formattazione e l'output. Se si ottengono proprietà .NET, è possibile aggirare l'eliminazione delle eccezioni usando invece la sintassi del metodo, come illustrato nell'esempio seguente:

"hello".get_Length()

Si noti che la sintassi del metodo può essere usata solo con le proprietà .NET. Le proprietà aggiunte eseguendo il cmdlet non possono usare la sintassi del Update-TypeData metodo.

Per altre informazioni sui Types.ps1xml file in PowerShell, vedere about_Types.ps1xml.

Esempio

Esempio 1: Aggiornare i tipi estesi

Update-TypeData

Questo comando aggiorna la configurazione del Types.ps1xml tipo esteso dai file già usati nella sessione.

Esempio 2: Aggiornare i tipi più volte

In questo esempio viene illustrato come aggiornare i tipi in un file di tipo più volte nella stessa sessione.

Il primo comando aggiorna prima la configurazione del Types.ps1xml tipo esteso dai file, elaborando i TypesA.types.ps1xml file e TypesB.types.ps1xml .

Il secondo comando mostra come aggiornare di TypesA.types.ps1xml nuovo, ad esempio se è stato aggiunto o modificato un tipo nel file. È possibile ripetere il comando precedente per il TypesA.types.ps1xml file oppure eseguire un Update-TypeData comando senza parametri, perché TypesA.types.ps1xml è già presente nell'elenco di file di tipo per la sessione corrente.

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

Esempio 3: Aggiungere una proprietà script agli oggetti DateTime

In questo esempio viene Update-TypeData utilizzata per aggiungere la proprietà script Quarter agli oggetti System.DateTime nella sessione corrente, ad esempio quelli restituiti dal 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

Il Update-TypeData comando usa il parametro TypeName per specificare il tipo System.DateTime , il parametro MemberName per specificare un nome per la nuova proprietà, la proprietà MemberType per specificare il tipo ScriptProperty e il parametro Value per specificare lo script che determina il trimestre annuale.

Il valore della proprietà Value è uno script che calcola il trimestre annuale corrente. Il blocco di script usa la $this variabile automatica per rappresentare l'istanza corrente dell'oggetto e l'operatore In per determinare se il valore del mese viene visualizzato in ogni matrice integer. Per altre informazioni sull'operatore -in , vedere about_Comparison_Operators.

Il secondo comando recupera la nuova proprietà trimestre della data corrente.

Esempio 4: Aggiornare un tipo visualizzato negli elenchi per impostazione predefinita

In questo esempio viene illustrato come impostare le proprietà di un tipo visualizzato negli elenchi per impostazione predefinita, ovvero quando non vengono specificate proprietà. Poiché i dati di tipo non vengono specificati in un Types.ps1xml file, è effettivo solo nella sessione corrente.

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

Il primo comando mostra la visualizzazione elenco per il Get-Date comando, che restituisce un oggetto System.DateTime che rappresenta la data corrente. Il comando usa un operatore pipeline (|) per inviare l'oggetto DateTime al Format-List cmdlet . Poiché il Format-List comando non specifica le proprietà da visualizzare nell'elenco, PowerShell visualizza ogni proprietà pubblica e non nascosta per l'oggetto.

Il secondo comando usa il Update-TypeData cmdlet per impostare le proprietà di elenco predefinite per il tipo System.DateTime . Il comando usa il parametro TypeName per specificare il tipo e il parametro DefaultDisplayPropertySet per specificare le proprietà predefinite per un elenco. Le proprietà selezionate includono la nuova proprietà script Quarter aggiunta in un esempio precedente.

L'ultimo comando ottiene la data currnet e la visualizza nuovamente in un formato elenco. Visualizza solo le proprietà definite nel Update-TypeData comando, anziché l'elenco completo delle proprietà.

Esempio 5: Impostare la proprietà visualizzata in un tipo in formato wide

In questo esempio viene illustrato come creare una nuova proprietà script e usarla come proprietà predefinita visualizzata quando il tipo viene passato 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

Il primo comando usa il Get-Command cmdlet per restituire ogni comando con un nome contenente la parola File. Invia tramite pipe l'output al Format-Wide cmdlet, che mostra i nomi dei comandi nelle colonne.

L'esempio usa Update-TypeData quindi per definire sia DefaultDisplayProperty che una nuova proprietà script per il tipo CommandInfo. L'output per Get-Command restituisce oggetti CommandInfo e oggetti derivati da tale tipo. La nuova proprietà script, FullyQualifiedName, restituisce il percorso completo delle applicazioni eseguibili e il nome completo per i cmdlet, che prefissi il nome del cmdlet con il modulo che lo definisce. Il Update-TypeData cmdlet è in grado di definire la nuova proprietà script e usarla come DefaultDisplayProperty nello stesso comando.

Infine, l'output mostra i risultati dell'oggetto Get-Command visualizzato in formato wide dopo l'aggiornamento del tipo. Mostra il nome completo per i cmdlet e il percorso completo delle applicazioni eseguibili.

Esempio 6: Aggiornare i dati del tipo per un oggetto inviato tramite pipe

$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

In questo esempio viene illustrato che quando si invia tramite pipe un oggetto a Update-TypeData, Update-TypeData vengono aggiunti dati di tipo esteso per il tipo di oggetto.

Questa tecnica è più rapida rispetto all'uso del Get-Member cmdlet o del Get-Type metodo per ottenere il tipo di oggetto. Tuttavia, se si invia tramite pipe una raccolta di oggetti a Update-TypeData, aggiorna i dati di tipo del primo tipo di oggetto e quindi restituisce un errore per tutti gli altri oggetti dell'insieme perché il membro è già definito nel tipo.

Il primo comando usa il Get-Module cmdlet per ottenere il modulo Microsoft.PowerShell.Utility . Il comando invia tramite pipe l'oggetto modulo al Update-TypeData cmdlet , che aggiorna i dati di tipo per il tipo System.Management.Automation.PSModuleInfo e i tipi derivati da esso, ad esempio il tipo ModuleInfoGrouping che Get-Module restituisce quando si utilizza il parametro ListAvailable nel comando.

I Update-TypeData comandi aggiungono la proprietà script SupportsUpdatableHelp a tutti i moduli importati. Il valore del parametro Value è uno script che restituisce $true se la proprietà HelpInfoUri del modulo viene popolata e $false in caso contrario.

Il secondo comando invia tramite pipe gli oggetti modulo dal Get-Module Format-Table cmdlet , che visualizza le proprietà Name e SupportsUpdatableHelp dei moduli disponibili.

Parametri

-AppendPath

Specifica il percorso dei file facoltativi .ps1xml . I file specificati vengono caricati nell'ordine in cui sono elencati dopo il caricamento dei file incorporati. È anche possibile inviare tramite pipe un valore AppendPath a Update-TypeData.

Tipo:String[]
Alias:PSPath, Path
Posizione:0
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultDisplayProperty

Specifica la proprietà del tipo visualizzato dal Format-Wide cmdlet quando non vengono specificate altre proprietà.

Digitare il nome di una proprietà standard o estesa del tipo. Il valore di questo parametro può essere il nome di un tipo che viene aggiunto nello stesso comando.

Questo valore è efficace solo quando non sono definite visualizzazioni wide per il tipo in un Format.ps1xml file.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultDisplayPropertySet

Specifica una o più proprietà del tipo. Queste proprietà vengono visualizzate dai Format-Listcmdlet , Format-Tablee Format-Custom quando non vengono specificate altre proprietà.

Digitare i nomi di proprietà standard o estese del tipo. Il valore di questo parametro possono essere i nomi dei tipi che vengono aggiunti nello stesso comando.

Questo valore è effettivo solo quando non sono presenti visualizzazioni elenco, tabella o personalizzata, rispettivamente, definite per il tipo in un Format.ps1xml file.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultKeyPropertySet

Specifica una o più proprietà del tipo. Queste proprietà vengono usate dai Group-Object cmdlet e Sort-Object quando non vengono specificate altre proprietà.

Digitare i nomi di proprietà standard o estese del tipo. Il valore di questo parametro possono essere i nomi dei tipi che vengono aggiunti nello stesso comando.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Force

Indica che il cmdlet usa i dati di tipo specificati, anche se per tale tipo sono già stati specificati dati di tipo.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InheritPropertySerializationSet

Indica se il set di proprietà serializzate viene ereditato. Il valore predefinito è $Null. I valori validi per questo parametro sono:

  • $True. Il set di proprietà viene ereditato.
  • $False. Il set di proprietà non viene ereditato.
  • $Null. L'ereditarietà non è definita.

Questo parametro è valido solo quando il valore del parametro SerializationMethod è SpecificProperties. Quando il valore di questo parametro è $False, è necessario il parametro PropertySerializationSet .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:Nullable<T>[Boolean]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MemberName

Specifica il nome di una proprietà o metodo.

Utilizzare questo parametro con i parametri TypeName, MemberType, Value e SecondValue per aggiungere o modificare una proprietà o un metodo di un tipo.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MemberType

Specifica il tipo del membro da aggiungere o modificare.

Utilizzare questo parametro con i parametri TypeName, MemberType, Value e SecondValue per aggiungere o modificare una proprietà o un metodo di un tipo. I valori validi per questo parametro sono:

  • AliasProperty
  • CodeMethod
  • CodeProperty
  • NotaProperty
  • ScriptMethod
  • ScriptProperty

Per informazioni su questi valori, vedere Enumerazione PSMemberTypes.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:PSMemberTypes
Valori accettati:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PrependPath

Specifica il percorso dei file facoltativi .ps1xml . I file specificati vengono caricati nell'ordine in cui sono elencati prima del caricamento dei file incorporati.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PropertySerializationSet

Specifica i nomi delle proprietà che vengono serializzate. Usare questo parametro quando il valore del parametro SerializationMethod è SpecificProperties.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SecondValue

Specifica valori aggiuntivi per i membri AliasProperty, ScriptProperty, CodeProperty o CodeMethod.

Utilizzare questo parametro con i parametri TypeName, MemberType, Value e SecondValue per aggiungere o modificare una proprietà o un metodo di un tipo.

Quando il valore del parametro MemberType è AliasProperty, il valore del parametro SecondValue deve essere un tipo di dati. PowerShell converte ,ovvero esegue il cast, il valore della proprietà alias nel tipo specificato. Ad esempio, se si aggiunge una proprietà alias che fornisce un nome alternativo per una proprietà stringa, è anche possibile specificare un SecondValue di System.Int32 per convertire il valore stringa con alias in un numero intero.

Quando il valore del parametro MemberType è ScriptProperty, è possibile usare il parametro SecondValue per specificare un blocco di script aggiuntivo. Il blocco di script nel valore del parametro Value ottiene il valore di una variabile. Il blocco di script nel valore del parametro SecondValue imposta il valore della variabile.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:Object
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SerializationDepth

Specifica quanti livelli di oggetti di tipo verranno serializzati come stringhe. Il valore 1 predefinito serializza l'oggetto e le relative proprietà. Un valore di 0 serializza l'oggetto, ma non le relative proprietà. Un valore di serializza l'oggetto, le relative proprietà ed eventuali oggetti nei valori delle 2 proprietà.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:Int32
Posizione:Named
Valore predefinito:1
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SerializationMethod

Specifica un metodo di serializzazione per il tipo. Un metodo di serializzazione determina quali proprietà del tipo vengono serializzate e la tecnica usata per serializzarle. I valori validi per questo parametro sono:

  • AllPublicProperties. Serializza tutte le proprietà pubbliche del tipo. È possibile utilizzare il parametro SerializationDepth per determinare se le proprietà figlio vengono serializzate.
  • String. Serializza il tipo come stringa. È possibile utilizzare StringSerializationSource per specificare una proprietà del tipo da utilizzare come risultato della serializzazione. In caso contrario, il tipo viene serializzato utilizzando il metodo ToString dell'oggetto .
  • SpecificProperties. Serializzare solo le proprietà specificate di questo tipo. Utilizzare il parametro PropertySerializationSet per specificare le proprietà del tipo serializzato. È anche possibile utilizzare il parametro InheritPropertySerializationSet per determinare se il set di proprietà è ereditato e il parametro SerializationDepth per determinare se le proprietà figlio vengono serializzate.

In PowerShell i metodi di serializzazione vengono archiviati in oggetti interni PSStandardMembers .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-StringSerializationSource

Specifica il nome di una proprietà del tipo. Il valore della proprietà specificata viene usato come risultato della serializzazione. Questo parametro è valido solo quando il valore del parametro SerializationMethod è String.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-TargetTypeForDeserialization

Specifica il tipo cui vengono convertiti oggetti di questo tipo quando vengono deserializzati.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:Type
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-TypeAdapter

Specifica il tipo di un adattatore di tipo, ad esempio Microsoft.PowerShell.Cim.CimInstanceAdapter. Un adattatore di tipo consente a PowerShell di ottenere i membri di un tipo.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:Type
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-TypeConverter

Specifica un convertitore di tipi per convertire i valori tra tipi diversi. Se viene definito un convertitore di tipi per un tipo, per la conversione viene usata un'istanza del convertitore di tipi.

Immettere un valore System.Type derivato dalle classi System.ComponentModel.TypeConverter o System.Management.Automation.PSTypeConverter .

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:Type
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-TypeData

Specifica una matrice di dati di tipo che questo cmdlet aggiunge alla sessione. Immettere una variabile contenente un oggetto TypeData o un comando che ottiene un oggetto TypeData , ad esempio un Get-TypeData comando. È anche possibile inviare tramite pipe un oggetto TypeData a Update-TypeData.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:TypeData[]
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-TypeName

Specifica il nome del tipo da estendere.

Per i tipi nello spazio dei nomi System immettere il nome breve. In caso contrario, è necessario immettere il nome completo del tipo. I caratteri jolly non sono supportati.

È possibile inviare tramite pipe i nomi dei tipi a Update-TypeData. Quando si invia tramite pipe un oggetto a Update-TypeData, Update-TypeData ottiene il nome del tipo dell'oggetto e i dati di tipo al tipo di oggetto.

Utilizzare questo parametro con i parametri MemberName, MemberType, Value e SecondValue per aggiungere o modificare una proprietà o un metodo di un tipo.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Value

Specifica il nome della proprietà o del metodo.

Se si aggiunge un AliasPropertymembro , CodeProperty, ScriptPropertyo CodeMethod , è possibile usare il parametro SecondValue per aggiungere informazioni aggiuntive.

Utilizzare questo parametro con i parametri MemberName, MemberType, Value e SecondValue per aggiungere o modificare una proprietà o un metodo di un tipo.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Tipo:Object
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

String

È possibile inviare tramite pipe una stringa contenente i valori dei parametri AppendPath, TypeName o TypeData a questo cmdlet.

Output

None

Questo cmdlet non restituisce output.