当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 删除类型数据 (Microsoft.PowerShell.Utility)

作者:精品下载站 日期:2024-12-14 02:04:16 浏览:13 分类:玩电脑

删除类型数据 (Microsoft.PowerShell.Utility)


Remove-TypeData

模块 :Microsoft.PowerShell.Utility

从当前会话中删除扩展类型。

句法

Remove-TypeData
      -TypeData <TypeData>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-TypeData
      [-TypeName] <String>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
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 类型的扩展类型数据。输出显示 DateTime 属性已添加到 PowerShell 中的所有 System.DateTime 对象中。 Get-Date cmdlet 返回一个 System.DateTime 对象。该命令使用点表示法来获取 Get-Date 返回的 System.DateTime 对象的 DateTime 属性值。

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:从指定模块中删除扩展类型

此示例使用 Remove-TypeData cmdlet 的 Path 参数删除在添加的 Types.ps1xml 文件中定义的扩展类型由 PSScheduledJobPSWorkflow 模块实现。此命令不会影响使用 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

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Path

指定此 cmdlet 从会话扩展类型数据中删除的文件数组。此参数是必需的。

输入一个或多个 Types.ps1xml 文件的路径和文件名。不支持通配符。如果省略路径,则默认位置是当前目录。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

-TypeData

指定此 cmdlet 从会话中删除的类型数据。此参数是必需的。输入包含 TypeData 对象 (System.Management.Automation.Runspaces.TypeData) 的变量或获取 TypeData 对象的命令,例如Get-TypeData 命令。您还可以通过管道将 TypeData 对象传递给 Remove-TypeData

类型 :

TypeData

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-TypeName

指定此 cmdlet 删除其所有扩展类型数据的类型。对于系统命名空间中的类型,输入短名称。否则,需要完整的类型名称。不支持通配符。

您可以通过管道将类型名称传递给Remove-TypeData。当您通过管道将对象传递给 Remove-TypeData 时,Remove-TypeData 会获取该对象的类型名称并删除该对象类型的所有类型数据。

类型 :

String

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-WhatIf

显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。

类型 :

SwitchParameter

别名:

wi

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

类型数据

您可以通过管道将 TypeData 对象(例如 Get-TypeData cmdlet 返回的对象)传递给此 cmdlet。

字符串

您可以通过管道将包含类型名称的字符串传递给此 cmdlet。当您通过管道将对象传递给此 cmdlet 时,它会获取该对象的类型名称并删除该对象类型的所有类型数据。

输出

此 cmdlet 不返回任何输出。

笔记

Remove-TypeData 只能删除当前会话中的扩展类型数据。它无法删除计算机上但尚未添加到当前会话的扩展类型数据,例如在尚未导入当前会话的模块中定义的扩展类型。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯