Remove-TypeData
从当前会话中删除扩展类型。
语法
RemoveTypeDataSet (默认值)
Remove-TypeData
-TypeData <TypeData>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
RemoveTypeSet
Remove-TypeData
[-TypeName] <String>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
RemoveFileSet
Remove-TypeData
-Path <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Remove-TypeData cmdlet 从当前会话中删除扩展类型数据。 此 cmdlet 仅影响在当前会话中创建的当前会话和会话。
可以通过在 Update-TypeData 命令和 Types.ps1xml 文件中定义属性和方法,将属性和方法添加到 PowerShell 中的对象。
Remove-TypeData 从当前会话中删除这些扩展属性和方法。
Remove-TypeData 不会删除 Types.ps1xml 文件,也不会从 Types.ps1xml 文件中删除任何扩展类型定义。 有关 Types.ps1xml 文件的详细信息,请参阅 about_Types.ps1xml。
此 cmdlet 已在 Windows PowerShell 3.0 中引入。
示例
示例 1:删除指定类型的类型数据
此示例从会话中删除 System.Array 类型的所有类型数据,包括由 Types.ps1xml 文件添加的类型数据和通过使用 Update-TypeData cmdlet 添加到会话的动态类型数据。
Remove-TypeData -TypeName System.Array
示例 2:从会话中删除扩展数据类型
此示例显示从会话中删除扩展类型数据的效果。 第一个 Get-TypeData 获取 System.DateTime 类型的扩展类型数据。 输出显示已向 PowerShell 中的所有 System.DateTime 对象添加了 DateTime 属性。
Get-Date cmdlet 返回 System.DateTime 对象。 该命令使用点表示法获取 返回的 System.DateTime 对象的 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
下一个 Get-TypeData cmdlet,用于获取 System.DateTime 类型的所有扩展类型数据,并将其传递给 Remove-TypeData cmdlet 以删除扩展类型数据。 最后一个 Get-Date cmdlet 显示删除 System.DateTime 类型的扩展类型数据的效果。 由于 System.DateTime 属性不再存在,因此获取其值的命令不返回任何值。
示例 3:删除模块的扩展类型
此示例删除模块对象的所有扩展类型数据。 通过管道将对象传递给 Remove-TypeData时,Remove-TypeData 获取对象类型的名称,并删除该类型的所有对象的所有类型数据。
Get-Module | Remove-TypeData
示例 4:从指定的模块中删除扩展类型
此示例使用 cmdlet 的 Remove-TypeData 参数删除 Types.ps1xml 和 PSWorkflow 模块添加的 文件中定义的扩展类型。 此命令不会影响使用 Update-TypeData cmdlet 添加的动态类型数据。 仅当模块已导入到当前会话中时,该命令才会成功。
Remove-TypeData -Path "$PSHOME\Modules\PSScheduledJob", "$PSHOME\Modules\PSWorkflow\PSWorkflow.types.ps1xml"
有关模块的详细信息,请参阅 about_Modules。
示例 5:从远程会话中删除扩展类型
此示例从远程会话中删除扩展类型。 该命令使用 Invoke-Command cmdlet 删除 $S 变量中会话中所有 CIM 类型的扩展类型数据。
Invoke-Command -Session $S {Get-TypeData -TypeName *CIM* | Remove-TypeData}
参数
-Confirm
在运行 cmdlet 之前,提示你进行确认。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | cf |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Path
指定此 cmdlet 从会话扩展类型数据中删除的文件数组。 此参数是必需的。
输入一个或多个 Types.ps1xml 文件的路径和文件名。 不支持通配符。 如果省略路径,则默认位置为当前目录。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
RemoveFileSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-TypeData
指定此 cmdlet 从会话中删除的类型数据。 此参数是必需的。 输入包含 TypeData 对象的变量(System.Management.Automation.Runspaces.TypeData)或获取 TypeData 对象的命令,例如 Get-TypeData 命令。 还可以通过管道 TypeData 对象来 Remove-TypeData。
参数属性
| 类型: | TypeData |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
RemoveTypeDataSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-TypeName
指定此 cmdlet 删除其的所有扩展类型数据的类型。 对于系统命名空间中的类型,请输入短名称。 否则,需要完整类型名称。 不支持通配符。
可以通过管道将类型名称传递给 Remove-TypeData。 通过管道将对象传递给 Remove-TypeData时,Remove-TypeData 获取对象的类型名称,并删除对象类型的所有类型数据。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
RemoveTypeSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 无线 |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
TypeData
可以通过管道将 TypeData 对象(例如 Get-TypeData cmdlet 返回的对象)传递给此 cmdlet。
String
可以通过管道将包含类型名称的字符串传递给此 cmdlet。 通过管道将对象传递给此 cmdlet 时,它将获取对象的类型名称,并删除对象类型的所有类型数据。
输出
None
此 cmdlet 不返回任何输出。
备注
Remove-TypeData 只能删除当前会话中的扩展类型数据。 它无法删除计算机上的扩展类型数据,但尚未添加到当前会话,例如未导入到当前会话的模块中定义的扩展类型。