Condividi tramite


Remove-TypeData

Elimina i tipi estesi dalla sessione corrente.

Sintassi

Remove-TypeData
      -TypeData <TypeData>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-TypeData
      [-TypeName] <String>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-TypeData
      -Path <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Descrizione

Il cmdlet Remove-TypeData elimina i dati dei tipi estesi dalla sessione corrente. Questo cmdlet influisce solo sulla sessione corrente e sulle sessioni create nella sessione corrente.

È possibile aggiungere proprietà e metodi agli oggetti in PowerShell definendoli nei comandi Update-TypeData e nei file Types.ps1xml. Remove-TypeData elimina le proprietà estese e i metodi dalla sessione corrente. Remove-TypeData non elimina i file di Types.ps1xml né elimina le definizioni dei tipi estesi dai file di Types.ps1xml. Per altre informazioni sui file di Types.ps1xml, vedere about_Types.ps1xml.

Questo cmdlet è stato introdotto in Windows PowerShell 3.0.

Esempio

Esempio 1: Rimuovere i dati di tipo per un tipo specificato

In questo esempio vengono eliminati tutti i dati di tipo per il tipo System.Array dalla sessione, inclusi i dati di tipo aggiunti da un file di Types.ps1xml e dati di tipo dinamico aggiunti alla sessione usando il cmdlet Update-TypeData.

Remove-TypeData -TypeName System.Array

Esempio 2: Rimuovere un tipo di dati esteso da una sessione

In questo esempio viene illustrato l'effetto della rimozione dei dati di tipo esteso da una sessione. Il primo Get-TypeData ottiene dati di tipo esteso per il tipo di System.DateTime. L'output mostra che una proprietà DateTime è stata aggiunta a tutti gli oggetti System.DateTime in PowerShell. Il cmdlet Get-Date restituisce un oggetto System.DateTime. Il comando usa la notazione punto per ottenere il valore della proprietà DateTime dell'oggetto System.DateTime restituito da Get-Date.

Get-TypeData System.DateTime
(Get-Date).DateTime
Get-TypeData System.DateTime | Remove-TypeData
(Get-Date).DateTime

TypeName        Members
--------        -------
System.DateTime {[DateTime, System.Management.Automation.Runspaces.ScriptPropertyData]}

Friday, January 20, 2012 9:01:00 PM

Il cmdlet Get-TypeData successivo per ottenere tutti i dati dei tipi estesi per il tipo System.DateTime e le pipe al cmdlet Remove-TypeData per eliminare i dati del tipo esteso. L'ultimo cmdlet Get-Date mostra l'effetto dell'eliminazione dei dati di tipo esteso per il tipo di System.DateTime. Poiché la proprietà System.DateTime non esiste più, un comando per ottenere il relativo valore non restituisce nulla.

Esempio 3: Rimuovere i tipi estesi per i moduli

In questo esempio vengono rimossi tutti i dati dei tipi estesi per gli oggetti modulo. Quando si invia tramite pipe un oggetto a Remove-TypeData, Remove-TypeData ottiene il nome del tipo di oggetto e rimuove tutti i dati di tipo per tutti gli oggetti di tale tipo.

Get-Module | Remove-TypeData

Esempio 4: Rimuovere i tipi estesi dai moduli specificati

In questo esempio viene utilizzato il parametro Path del cmdlet Remove-TypeData per rimuovere i tipi estesi definiti nei file Types.ps1xml aggiunti dal PSScheduledJob e moduli di PSWorkflow. Questo comando non influisce sui dati di tipo dinamico aggiunti tramite il cmdlet Update-TypeData. Il comando ha esito positivo solo quando i moduli sono stati importati nella sessione corrente.

Remove-TypeData -Path "$PSHOME\Modules\PSScheduledJob", "$PSHOME\Modules\PSWorkflow\PSWorkflow.types.ps1xml"

Per altre informazioni sui moduli, vedere about_Modules.

Esempio 5: Rimuovere i tipi estesi da una sessione remota

In questo esempio vengono rimossi i tipi estesi da una sessione remota. Il comando usa il cmdlet Invoke-Command per rimuovere i dati dei tipi estesi per tutti i tipi CIM nelle sessioni nella variabile $S.

Invoke-Command -Session $S {Get-TypeData -TypeName *CIM* | Remove-TypeData}

Parametri

-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

-Path

Specifica una matrice di file che questo cmdlet elimina dai dati del tipo esteso della sessione. Questo parametro è obbligatorio.

Immettere i percorsi e i nomi di file di uno o più file Types.ps1xml. I caratteri jolly non sono supportati. Se si omette il percorso, il percorso predefinito è la directory corrente.

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

-TypeData

Specifica i dati di tipo eliminati da questo cmdlet dalla sessione. Questo parametro è obbligatorio. Immettere una variabile contenente oggetti TypeData (System.Management.Automation.Runspaces.TypeData) o un comando che ottiene oggetti TypeData, ad esempio un comando Get-TypeData. È anche possibile inviare tramite pipe oggetti TypeData a Remove-TypeData.

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

-TypeName

Specifica i tipi per cui questo cmdlet elimina tutti i dati di tipo esteso. 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 Remove-TypeData. Quando si invia tramite pipe un oggetto a Remove-TypeData, Remove-TypeData ottiene il nome del tipo dell'oggetto e rimuove tutti i dati di tipo per il tipo di oggetto.

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

-WhatIf

Mostra cosa accadrebbe se il cmdlet viene eseguito. 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

TypeData

È possibile inviare tramite pipe un oggetto TypeData, ad esempio quelli restituiti dal cmdlet Get-TypeData, a questo cmdlet.

String

È possibile inviare tramite pipe una stringa contenente il nome del tipo a questo cmdlet. Quando si invia tramite pipe un oggetto a questo cmdlet, ottiene il nome del tipo dell'oggetto e rimuove tutti i dati di tipo per il tipo di oggetto.

Output

None

Questo cmdlet non restituisce alcun output.

Note

Remove-TypeData possibile rimuovere solo i dati di tipo esteso nella sessione corrente. Non è possibile rimuovere dati di tipo estesi presenti nel computer, ma non aggiunti alla sessione corrente, ad esempio i tipi estesi definiti nei moduli che non sono stati importati nella sessione corrente.