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 . В выходных данных показано, что свойство DateTime добавлено ко всем объектам System.DateTime в PowerShell. Командлет Get-Date возвращает объект System.DateTime . Команда использует точечное нотацию для получения значения свойства DateTime возвращаемого объекта Get-DateSystem.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 командлет для получения всех данных расширенного типа для типа System.DateTime и передает их командлету Remove-TypeData для удаления данных расширенного типа. Последний Get-Date командлет показывает результат удаления данных расширенного типа для типа System.DateTime . Так как свойство System.DateTime больше не существует, команда для получения его значения ничего не возвращает.

Пример 3. Удаление расширенных типов для модулей

В этом примере удаляются все данные расширенных типов для объектов модуля. При конвейере объекта в Remove-TypeDataполучает Remove-TypeData имя типа объекта и удаляет все данные типа для всех объектов этого типа.

Get-Module | Remove-TypeData

Пример 4. Удаление расширенных типов из указанных модулей

В этом примере используется параметр Path командлета Remove-TypeData для удаления расширенных типов, определенных в Types.ps1xml файлах, добавленных модулями PSScheduledJob и PSWorkflow . Эта команда не влияет на данные динамического типа, добавляемые с помощью командлета Update-TypeData . Эта команда завершается успешно, только если модули импортированы в текущий сеанс.

Remove-TypeData -Path "$PSHOME\Modules\PSScheduledJob", "$PSHOME\Modules\PSWorkflow\PSWorkflow.types.ps1xml"

Дополнительные сведения о модулях см. в разделе about_Modules.

Пример 5. Удаление расширенных типов из удаленного сеанса

В этом примере из удаленного сеанса удаляются расширенные типы. Команда использует Invoke-Command командлет для удаления данных расширенных типов для всех типов CIM в сеансах в переменной $S .

Invoke-Command -Session $S {Get-TypeData -TypeName *CIM* | Remove-TypeData}

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

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

-Path

Указывает массив файлов, которые этот командлет удаляет из данных расширенного типа сеанса. Это обязательный параметр.

Введите пути и имена файлов для одного или нескольких Types.ps1xml файлов. Подстановочные знаки не поддерживаются. Если путь не указан, расположением по умолчанию является текущий каталог.

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

-TypeData

Указывает данные типа, которые этот командлет удаляет из сеанса. Это обязательный параметр. Введите переменную, содержащую объекты 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

Указывает типы, для которые этот командлет удаляет все данные расширенных типов. Для типов в пространстве имен System вводятся краткие имена. В остальных случаях требуется полное имя типа. Подстановочные знаки не поддерживаются.

Имена типов можно передать в Remove-TypeData. При конвейере объекта в Remove-TypeDataполучает Remove-TypeData имя типа объекта и удаляет все данные типа для типа объекта.

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

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

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

Входные данные

TypeData

Объект TypeData , например возвращаемый командлетом Get-TypeData , можно передать по конвейеру в Remove-TypeData.

String

Имена типов можно передать по конвейеру в Remove-TypeData. При конвейере объекта в Remove-TypeDataполучает Remove-TypeData имя типа объекта и удаляет все данные типа для типа объекта.

Выходные данные

None

Этот командлет не формирует никаких выходных данных.

Примечания

Remove-TypeData может удалять только данные расширенного типа в текущем сеансе. Он не может удалять данные расширенных типов, которые находятся на компьютере, но не добавлены в текущий сеанс, например расширенные типы, определенные в модулях, которые не импортированы в текущий сеанс.