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


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

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

Имена типов можно передавать в 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 может удалить только данные расширенного типа в текущем сеансе. Он не может удалять данные расширенных типов, которые находятся на компьютере, но не добавлены в текущий сеанс, например расширенные типы, определенные в модулях, которые не импортированы в текущий сеанс.