次の方法で共有


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

入力

TypeData

Get-TypeData コマンドレットから返されるオブジェクトなど、TypeData オブジェクトをこのコマンドレットにパイプできます。

String

型名を含む文字列をこのコマンドレットにパイプできます。 このコマンドレットにオブジェクトをパイプすると、オブジェクトの型名が取得され、オブジェクト型のすべての型データが削除されます。

出力

None

このコマンドレットは出力を返しません。

メモ

Remove-TypeData は、現在のセッションの拡張型データのみを削除できます。 コンピューター上にあるが、現在のセッションに追加されていない拡張型データ (現在のセッションにインポートされていないモジュールで定義されている拡張型など) は削除できません。