Поделиться через


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

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

В этом примере удаляются все данные расширенного типа для объектов модуля. При канале объекта в Remove-TypeDataRemove-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

Запрашивает подтверждение перед запуском командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

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

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

Тип:String[]
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TypeData

Указывает данные типа, которые этот командлет удаляет из сеанса. Этот параметр является обязательным. Введите переменную, содержащую объекты TypeData (System.Management.Automation.Runspaces.TypeData) или команду, которая получает объекты TypeData, например команду Get-TypeData. Можно также передать объекты TypeData в Remove-TypeData.

Тип:TypeData
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-TypeName

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

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

Тип:String
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

TypeData

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

String

Можно передать строку, содержащую имя типа в этот командлет. При отправке объекта в этот командлет возвращает имя типа объекта и удаляет все данные типа для типа объекта.

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

None

Этот командлет не возвращает выходные данные.

Примечания

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