Get-TypeData (Microsoft.PowerShell.Utility)
Get-TypeData
- Модуль:
- Microsoft.PowerShell.Utility
Получает данные расширенного типа в текущем сеансе.
Синтаксис
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. Получение данных типа по имени
В этом примере получаются все данные типа в текущем сеансе, имя которого дополнено «System.IO».
Get-TypeData -TypeName System.IO.*
TypeName Members
-------- -------
System.IO.DirectoryInfo {[Mode, System.Management.Automation.Runspaces.CodePropert…
System.IO.FileInfo {[Mode, System.Management.Automation.Runspaces.CodePropert…Пример 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 получает все типы в сеансе.
Введите имена типов или шаблоны имен. Полные имена или шаблоны имен с подстановочными знаками необходимы даже для типов в пространстве имен системы. Поддерживаются подстановочные знаки, а имя параметра TypeName является необязательным. Вы также можете передать имена типов в Get-TypeData.
- Тип :
String[]
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
True
Входы
Строка
В этот командлет можно передавать строки, содержащие имена типов.
Выходы
Данные типа
Примечания
Get-TypeData получает только данные расширенного типа в текущем сеансе. Он не получает данные расширенного типа, которые находятся на компьютере, но не были добавлены в текущий сеанс, например расширенные типы, определенные в модулях, которые не были импортированы в текущий сеанс.