Поиск по сайту:

Remove-TypeData (Microsoft.PowerShell.Utility)


Remove-TypeData

Модуль:
Microsoft.PowerShell.Utility

Удаляет расширенные типы из текущего сеанса.

Синтаксис

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 объекта 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-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

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

Тип :

SwitchParameter

Псевдонимы:

cf

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Path

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

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

Тип :

String[]

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-TypeData

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

Тип :

TypeData

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-TypeName

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

Вы можете передать имена типов в Remove-TypeData. Когда вы передаете объект в Remove-TypeData, Remove-TypeData получает имя типа объекта и удаляет все данные типа для этого типа объекта.

Тип :

String

Позиция:

0

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-WhatIf

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

Тип :

SwitchParameter

Псевдонимы:

wi

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

Входы

Данные типа

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

Строка

В этот командлет можно передать строку, содержащую имя типа. Когда вы передаете объект этому командлету, он получает имя типа объекта и удаляет все данные типа для этого типа объекта.

Выходы

Нет

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

Примечания

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