Get-TypeData

Получает данные расширенного типа в текущем сеансе.

Синтаксис

Get-TypeData
   [[-TypeName] <String[]>]
   [<CommonParameters>]

Описание

Командлет Get-TypeData получает данные расширенного типа в текущем сеансе. Сюда входят данные типа, добавленные в сеанс с помощью Types.ps1xml файла, и данные динамического типа, добавленные с помощью параметра командлета Update-TypeData .

Возвращаемые Get-TypeData данные расширенного типа можно использовать для проверки данных типа в сеансе и их отправки Update-TypeData в командлеты и Remove-TypeData .

Данные расширенных типов добавляют свойства и методы к объектам в PowerShell. Вы можете использовать добавленные свойства и методы таким же образом, как свойства и методы, определенные в типе объекта. Однако при написании скриптов следует учитывать, что добавленные свойства и методы могут присутствовать не во всех сеансах PowerShell.

Дополнительные сведения о Types.ps1xml файлах см. в разделе about_Types.ps1xml. Дополнительные сведения о данных динамического типа, добавляемые командлетом, см. в Update-TypeData разделе Update-TypeData.

Этот командлет впервые появился в Windows PowerShell 3.0.

Примеры

Пример 1. Получение всех данных расширенных типов

В этом примере возвращаются все данные расширенных типов в текущем сеансе.

Get-TypeData

Пример 2. Получение типов по имени

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

"*Eventing*" | Get-TypeData

TypeName                                                  Members
--------                                                  -------
System.Diagnostics.Eventing.Reader.EventLogConfiguration  {}System.Diagnostics.Eventing.Reader.EventLogRecord
                                                          {}System.Diagnostics.Eventing.Reader.ProviderMetadata
                                                          {[ProviderName, System.Management.Automation.Runspaces.AliasProper...

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

В этом примере возвращается блок скрипта, который создает значение свойства EventID объектов EventLogEntry .

(Get-TypeData *EventLogEntry*).Members.EventID

GetScriptBlock                     SetScriptBlock     IsHidden Name
--------------                     --------------     -------- ----
$this.get_EventID() -band 0xFFFF                         False EventID

Пример 4. Получение блока скрипта, определяющего свойство для указанного объекта

В этом примере возвращается блок скрипта, определяющий свойство DateTime объектов System.DateTime в PowerShell.

(Get-TypeData -TypeName System.DateTime).Members["DateTime"].GetScriptBlock
if ((& { Set-StrictMode -Version 1; $this.DisplayHint }) -ieq  "Date") {
    "{0}" -f $this.ToLongDateString()
}
elseif ((& { Set-StrictMode -Version 1; $this.DisplayHint }) -ieq "Time") {
    "{0}" -f  $this.ToLongTimeString()
}
else {
    "{0} {1}" -f $this.ToLongDateString(), $this.ToLongTimeString()
}

Команда использует командлет для Get-TypeData получения данных расширенного типа для типа System.DataTime . Команда получает свойство Members объекта TypeData.

Свойство Members содержит хэш-таблицу свойств и методов, определенных данными расширенного типа. Каждый ключ в хэш-таблице Members — это имя свойства или метода, а каждое значение — это определение значения свойства или метода.

Команда получает ключ DateTime в элементе Members и значение свойства GetScriptBlock .

В выходных данных показан блок скрипта, который создает значение свойства DateTime каждого объекта System.DateTime в PowerShell.

Параметры

-TypeName

Указывает данные типа в виде массива только для типов с указанными именами. По умолчанию Get-TypeData получает все типы в сеансе.

Введите имена типов или шаблоны имен. Полные имена или шаблоны имен с подстановочными знаками являются обязательными даже для типов в пространстве имен System. Поддерживаются подстановочные знаки, а имя параметра TypeName является необязательным. Вы также можете передать имена типов в Get-TypeData.

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

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

String

Имена типов можно передать в Get-TypeData.

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

TypeData

Примечания

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