共用方式為


Remove-TypeData

從目前的工作階段刪除延伸類型。

Syntax

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

Description

Cmdlet Remove-TypeData 會從目前的工作階段中刪除擴充類型數據。 此 Cmdlet 只會影響目前的工作階段和在目前工作階段中建立的工作階段。

您可以在命令和檔案中定義屬性和方法,將屬性和Types.ps1xml方法新增至PowerShell中的Update-TypeData物件。 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 物件。 Cmdlet 會 Get-Date 傳回 System.DateTime 物件。 此命令會使用點表示法來取得傳回之 System.DateTime 物件的 Get-DateDateTime 屬性值。

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-TypeDataPath 參數,移除 PSScheduledJobPSWorkflow 模組所新增檔案中所Types.ps1xml定義的擴充類型。 此命令不會影響使用 Cmdlet 新增的 Update-TypeData 動態類型數據。 只有在模組已經匯入目前的工作階段時,命令才會成功。

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 前提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定此 Cmdlet 要從工作階段刪除延伸類型資料之檔案的陣列。 此為必要參數。

輸入一或多個 Types.ps1xml 檔案的路徑和檔名。 不支援萬用字元。 若省略路徑,則預設位置為目前目錄。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TypeData

指定此 Cmdlet 要從工作階段中刪除的類型資料。 此為必要參數。 輸入變數,其中包含 TypeData 物件 (System.Management.Automation.Runspaces.TypeData) 或取得 TypeData 物件的命令,例如 Get-TypeData 命令。 您也可以使用管線 將 TypeData 物件傳送至 Remove-TypeData

Type:TypeData
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TypeName

指定此 Cmdlet 要刪除所有延伸類型資料的類型。 對於系統命名空間中的類型,請輸入簡短名稱。 否則,需要完整類型名稱。 不支援萬用字元。

您可以使用管線將類型名稱傳送至 Remove-TypeData。 當您使用管線將 對象傳送至 Remove-TypeData時, Remove-TypeData 取得 物件的型別名稱,並移除物件型別的所有型別數據。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

TypeData

您可以使用管線將 TypeData 物件,例如 Cmdlet 傳回的物件 Get-TypeData 傳送至 Remove-TypeData

String

您可以使用管線將類型名稱傳送至 Remove-TypeData。 當您使用管線將 對象傳送至 Remove-TypeData時, Remove-TypeData 取得 物件的型別名稱,並移除物件型別的所有型別數據。

輸出

None

此 Cmdlet 不會產生任何輸出。

備註

Remove-TypeData 只能移除目前會話中的擴充類型數據。 它無法移除已在電腦上但尚未新增至目前工作階段的延伸類型資料,例如尚未匯入目前工作階段之模組中定義的延伸類型。