Remove-Type
Data
Deletes extended types from the current session.
Syntax
Remove-Type Data
-TypeData <TypeData>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Type Data
[-TypeName] <String>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Type Data
-Path <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The
Remove-TypeData
cmdlet deletes extended type data from the current session. This cmdlet
affects only the current session and sessions that are created in the current session.
You can add properties and methods to objects in PowerShell by defining them in
Update-TypeData
commands and
Types.ps1xml
files.
Remove-TypeData
deletes those extended properties and methods
from the current session.
Remove-TypeData
does not delete the
Types.ps1xml
files or delete any
extended type definitions from the
Types.ps1xml
files. For more information about
Types.ps1xml
files, see
about_Types.ps1xml
.
This cmdlet was introduced in Windows PowerShell 3.0.
Examples
Example 1: Remove type data for a specified type
This example deletes all type data for the
System.Array
type from the session, including type
data that was added by a
Types.ps1xml
file and dynamic type data that was added to the session by
using the
Update-TypeData
cmdlet.
Remove-TypeData -TypeName System.Array
Example 2: Remove an extended data type from a session
This example shows the effect of removing extended type data from a session. The first
Get-TypeData
gets extended type data for the
System.DateTime
type. The output shows that a
DateTime
property has been added to all
System.DateTime
objects in PowerShell. The
Get-Date
cmdlet returns a
System.DateTime
object. The command uses dot notation to get the
value of the
DateTime
property of the
System.DateTime
object that
Get-Date
returns.
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
The next
Get-TypeData
cmdlet to get all extended type data for the
System.DateTime
type and
pipes that to the
Remove-TypeData
cmdlet to delete the extended type data. The last
Get-Date
cmdlet shows the effect of deleting the extended type data for the
System.DateTime
type. Because
the
System.DateTime
property no longer exists, a command to get its value returns nothing.
Example 3: Remove extended types for modules
This example removes all extended type data for module objects. When you pipe an object to
Remove-TypeData
,
Remove-TypeData
gets the name of the object type and removes all type data for
all objects of that type.
Get-Module | Remove-TypeData
Example 4: Remove extended types from specified modules
This example uses the
Path
parameter of the
Remove-TypeData
cmdlet to remove the extended
types that are defined in the
Types.ps1xml
files that are added by the
PSScheduledJob
and
PSWorkflow
modules. This command does not affect dynamic type data that is added by using the
Update-TypeData
cmdlet. The command succeeds only when the modules have been imported into the
current session.
Remove-TypeData -Path "$PSHOME\Modules\PSScheduledJob", "$PSHOME\Modules\PSWorkflow\PSWorkflow.types.ps1xml"
For more information about modules, see about_Modules .
Example 5: Remove extended types from a remote session
This example removes extended types from a remote session. The command uses the
Invoke-Command
cmdlet to remove extended type data for all CIM types in the sessions in the
$S
variable.
Invoke-Command -Session $S {Get-TypeData -TypeName *CIM* | Remove-TypeData}
Parameters
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Specifies an array of files that this cmdlet deletes from the session extended type data. This parameter is required.
Enter the paths and file names of one or more
Types.ps1xml
files. Wildcards are not supported. If
you omit the path, the default location is the current directory.
Type: | String [ ] |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypeData
Specifies the type data that this cmdlet deletes from the session. This parameter is required. Enter
a variable that contains
TypeData
objects (
System.Management.Automation.Runspaces.TypeData
)
or a command that gets
TypeData
objects, such as a
Get-TypeData
command. You can also pipe
TypeData
objects to
Remove-TypeData
.
Type: | TypeData |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-TypeName
Specifies the types that this cmdlet deletes all extended type data for. For types in the System namespace, enter the short name. Otherwise, the full type name is required. Wildcards are not supported.
You can pipe type names to
Remove-TypeData
. When you pipe an object to
Remove-TypeData
,
Remove-TypeData
gets the type name of the object and removes all type data for the object type.
Type: | String |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
TypeData
You can pipe a
TypeData
object, such as the ones that the
Get-TypeData
cmdlet returns, to
this cmdlet.
String
You can pipe a string containing the type name to this cmdlet. When you pipe an object to this cmdlet, it gets the type name of the object and removes all type data for the object type.
Outputs
None
This cmdlet returns no output.
Notes
Remove-TypeData
can remove only the extended type data in the current session. It cannot remove
extended type data that is on the computer, but has not been added to the current session, such as
extended types that are defined in modules that have not been imported into the current session.