Remove-TypeData
現在のセッションから拡張型を削除します。
構文
Remove-TypeData
-TypeData <TypeData>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-TypeData
[-TypeName] <String>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-TypeData
-Path <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Remove-TypeData
コマンドレットは、現在のセッションから拡張型データを削除します。 このコマンドレットは、現在のセッションと、現在のセッションで作成されたセッションにのみ影響します。
PowerShell のオブジェクトにプロパティとメソッドを追加するには、Update-TypeData
コマンドと Types.ps1xml
ファイルで定義します。
Remove-TypeData
は、これらの拡張プロパティとメソッドを現在のセッションから削除します。
Remove-TypeData
は、Types.ps1xml
ファイルを削除したり、Types.ps1xml
ファイルから拡張型定義を削除したりすることはありません。
Types.ps1xml
ファイルの詳細については、「about_Types.ps1xml」を参照してください。
このコマンドレットは、Windows PowerShell 3.0 で導入されました。
例
例 1: 指定した型の型データを削除する
次の使用例は、System.Array 型のすべての型データをセッションから削除します。これには、Types.ps1xml
ファイルによって追加された型データや、Update-TypeData
コマンドレットを使用してセッションに追加された動的な型データが含まれます。
Remove-TypeData -TypeName System.Array
例 2: セッションから拡張データ型を削除する
この例では、セッションから拡張型データを削除した場合の影響を示します。 最初の Get-TypeData
は、System.DateTime 型の拡張型データを取得します。 出力は、PowerShell のすべての System.DateTime オブジェクトに、DateTime プロパティが追加されたことを示しています。
Get-Date
コマンドレットは、System.DateTime オブジェクトを返します。 このコマンドでは、ドット表記を使用して、返される System.DateTime オブジェクトの 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
コマンドレットは、System.DateTime 型のすべての拡張型データを取得し、Remove-TypeData
コマンドレットにパイプして拡張型データを削除します。 最後の Get-Date
コマンドレットは、System.DateTime 型の拡張型データを削除した結果を示しています。
System.DateTime プロパティが存在しなくなったため、その値を取得するコマンドは何も返しません。
例 3: モジュールの拡張型を削除する
この例では、モジュール オブジェクトのすべての拡張型データを削除します。 オブジェクトをパイプ処理して Remove-TypeData
すると、Remove-TypeData
はオブジェクト型の名前を取得し、その型のすべてのオブジェクトのすべての型データを削除します。
Get-Module | Remove-TypeData
例 4: 指定したモジュールから拡張型を削除する
この例では、Remove-TypeData
コマンドレットの Path パラメーターを使用して、PSScheduledJob および PSWorkflow モジュールによって追加される Types.ps1xml
ファイルで定義されている拡張型を削除します。 このコマンドは、Update-TypeData
コマンドレットを使用して追加される動的な型データには影響しません。 このコマンドは、モジュールが現在のセッションにインポートされている場合にのみ成功します。
Remove-TypeData -Path "$PSHOME\Modules\PSScheduledJob", "$PSHOME\Modules\PSWorkflow\PSWorkflow.types.ps1xml"
モジュールの詳細については、about_Modulesを参照してください。
例 5: リモート セッションから拡張型を削除する
この例では、リモート セッションから拡張型を削除します。 このコマンドでは、Invoke-Command
コマンドレットを使用して、$S
変数内のセッション内のすべての CIM 型の拡張型データを削除します。
Invoke-Command -Session $S {Get-TypeData -TypeName *CIM* | Remove-TypeData}
パラメーター
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Path
このコマンドレットがセッション拡張型データから削除するファイルの配列を指定します。 このパラメーターは必須です。
1 つ以上の Types.ps1xml
ファイルのパスとファイル名を入力します。 ワイルドカードはサポートされていません。 パスを省略した場合、既定の場所は現在のディレクトリです。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TypeData
このコマンドレットがセッションから削除する型データを指定します。 このパラメーターは必須です。 TypeData オブジェクト (System.Management.Automation.Runspaces.TypeData) 含む変数、または TypeData オブジェクト 取得するコマンド (Get-TypeData
コマンドなど) を入力します。 TypeData オブジェクト パイプして Remove-TypeData
することもできます。
型: | TypeData |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-TypeName
このコマンドレットがすべての拡張型データを削除する型を指定します。 System 名前空間の型の場合は、短い名前を入力します。 それ以外の場合は、完全な型名が必要です。 ワイルドカードはサポートされていません。
パイプ型の名前を Remove-TypeData
できます。 オブジェクトをパイプ処理して Remove-TypeData
すると、Remove-TypeData
はオブジェクトの型名を取得し、そのオブジェクト型のすべての型データを削除します。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
Get-TypeData
コマンドレットから返されるオブジェクトなど、TypeData オブジェクトをこのコマンドレットにパイプできます。
型名を含む文字列をこのコマンドレットにパイプできます。 このコマンドレットにオブジェクトをパイプすると、オブジェクトの型名が取得され、オブジェクト型のすべての型データが削除されます。
出力
None
このコマンドレットは出力を返しません。
メモ
Remove-TypeData
は、現在のセッションの拡張型データのみを削除できます。 コンピューター上にあるが、現在のセッションに追加されていない拡張型データ (現在のセッションにインポートされていないモジュールで定義されている拡張型など) は削除できません。