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>]
Description
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 中已將 DateTime 屬性新增至所有 System.DateTime 物件。
Get-Date Cmdlet 會傳回 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 刪除所有擴充型別數據的類型。 針對 System 命名空間中的類型,輸入簡短名稱。 否則,需要完整類型名稱。 不支援通配符。
您可以使用管線將類型名稱傳送至 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 只能移除目前會話中的擴充型別數據。 它無法移除電腦上的擴充類型數據,但尚未新增至目前的會話,例如未匯入目前會話之模組中所定義的擴充類型。