Condividi tramite


Update-TypeData

Aggiorna i dati del tipo esteso della sessione.

Sintassi

FileSet (impostazione predefinita).

Update-TypeData
    [[-AppendPath] <String[]>]
    [-PrependPath <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

DynamicTypeSet

Update-TypeData
    -TypeName <String>
    [-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[]>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

TypeDataSet

Update-TypeData
    [-TypeData] <TypeData[]>
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Descrizione

Il cmdlet Update-TypeData aggiorna i dati dei tipi estesi nella sessione ricaricando i file Types.ps1xml 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 Types.ps1xml caricati nella sessione, inclusi tutti i file di tipo aggiunti. È possibile usare i parametri di Update-TypeData per aggiungere nuovi file di tipo e aggiungere e sostituire i dati dei tipi estesi.

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

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

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

Le eccezioni che si verificano nelle proprietà o dall'aggiunta di proprietà a un comando Update-TypeData non segnalano errori. Si tratta di sopprimere le eccezioni che si verificano in molti tipi comuni di operazioni 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 Update-TypeData non possono usare la sintassi del metodo.

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

Esempio

Esempio 1: Aggiornare i tipi estesi

Update-TypeData

Questo comando aggiorna la configurazione del tipo esteso dai file Types.ps1xml 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 tipo esteso dai file di Types.ps1xml, elaborando prima i file TypesA.types.ps1xml e TypesB.types.ps1xml.

Il secondo comando mostra come aggiornare di nuovo il TypesA.types.ps1xml, ad esempio se è stato aggiunto o modificato un tipo nel file. È possibile ripetere il comando precedente per il file TypesA.types.ps1xml oppure eseguire un comando Update-TypeData senza parametri, perché TypesA.types.ps1xml si trova già 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

Questo esempio usa Update-TypeData per aggiungere la proprietà script quarter per oggetti System.DateTime nella sessione corrente, ad esempio quelli restituiti dal cmdlet Get-Date.

$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 comando Update-TypeData usa il parametro TypeName per specificare tipo di System.DateTime, il parametro MemberName per specificare un nome per la nuova proprietà, la proprietà MemberType per specificare il tipo di ScriptProperty e il parametro Valore 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 variabile automatica $this 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 informazioni sugli operatori di confronto.

Il secondo comando ottiene la nuova proprietà Quarter 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 file di Types.ps1xml, è efficace 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
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

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

Il secondo comando usa il cmdlet Update-TypeData 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 corrente e la visualizza nuovamente in un formato elenco. Visualizza solo le proprietà definite nel comando Update-TypeData 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 cmdlet Format-Wide.

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

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

L'esempio usa quindi Update-TypeData per definire sia il DefaultDisplayProperty che una nuova proprietà script per il tipo CommandInfo. L'output per Get-Command restituisce CommandInfo oggetti 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 cmdlet Update-TypeData è in grado di definire la nuova proprietà script e usarla come DefaultDisplayProperty nello stesso comando.

Infine, l'output mostra i risultati del Get-Command visualizzati 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.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

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

Questa tecnica è più rapida rispetto all'uso del cmdlet Get-Member o del metodo Get-Type 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 cmdlet Get-Module per ottenere il modulo Microsoft.PowerShell.Utility. Il comando invia tramite pipe l'oggetto modulo al cmdlet Update-TypeData, che aggiorna i dati di tipo per il tipo System.Management.Automation.PSModuleInfo e i tipi derivati, ad esempio il tipo ModuleInfoGroupingGet-Module restituito quando si usa il parametro ListAvailable nel comando.

I comandi Update-TypeData 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 da Get-Module al cmdlet Format-Table, che visualizza il Name e SupportsUpdatableHelp proprietà dei moduli disponibili.

Parametri

-AppendPath

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

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:PSPath, Percorso

Set di parametri

FileSet
Posizione:0
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-DefaultDisplayProperty

Specifica la proprietà del tipo visualizzato dal cmdlet Format-Wide 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 aggiunto nello stesso comando.

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

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-DefaultDisplayPropertySet

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

Digitare i nomi delle proprietà standard o estese del tipo. Il valore di questo parametro può essere costituito dai nomi dei tipi aggiunti nello stesso comando.

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

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-DefaultKeyPropertySet

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

Digitare i nomi delle proprietà standard o estese del tipo. Il valore di questo parametro può essere costituito dai nomi dei tipi aggiunti nello stesso comando.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
TypeDataSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-InheritPropertySerializationSet

Indica se il set di proprietà serializzate viene ereditato. Il valore predefinito è $null. I valori accettabili 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.

Proprietà dei parametri

Tipo:

Nullable<T>[Boolean]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-MemberName

Specifica il nome di una proprietà o di un metodo.

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

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-MemberType

Specifica il tipo del membro da aggiungere o modificare.

Utilizzare questo parametro con TypeName, MemberType, Value e parametri di SecondValue per aggiungere o modificare una proprietà o un metodo di un tipo. I valori accettabili 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.

Proprietà dei parametri

Tipo:PSMemberTypes
Valore predefinito:None
Valori accettati:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-PrependPath

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

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

FileSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-PropertySerializationSet

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

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-SecondValue

Specifica valori aggiuntivi per AliasProperty, ScriptProperty, CodePropertyo membri di CodeMethod.

Usare questo parametro con i parametri TypeName, MemberType, Valuee parametri 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 Valore ottiene il valore di una variabile. Il blocco di script nel valore del parametro SecondValue impostare il valore della variabile.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:Object
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-SerializationDepth

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

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:1
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-SerializationMethod

Specifica un metodo di serializzazione per il tipo. Un metodo di serializzazione determina le proprietà del tipo serializzate e la tecnica utilizzata per serializzarle. I valori accettabili per questo parametro sono:

  • AllPublicProperties. Serializzare tutte le proprietà pubbliche del tipo. È possibile utilizzare il parametro serializationDepth per determinare se le proprietà figlio vengono serializzate.
  • String. Serializzare il tipo come stringa. È possibile utilizzare il 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à viene ereditato e il parametro SerializationDepth per determinare se le proprietà figlio vengono serializzate.

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

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-StringSerializationSource

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

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-TargetTypeForDeserialization

Specifica il tipo in cui viene convertito l'oggetto di questo tipo quando vengono deserializzati.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:Type
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:Type
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-TypeConverter

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

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

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:Type
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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 comando Get-TypeData. È anche possibile inviare tramite pipe un oggetto TypeData a Update-TypeData.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:

TypeData[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

TypeDataSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti: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 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.

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

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Value

Specifica il valore della proprietà o del metodo .

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

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

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:Object
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DynamicTypeSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-WhatIf

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

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

String

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

Output

None

Questo cmdlet non restituisce alcun output.