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. Получение данных типа по имени
В этом примере возвращаются все данные типа в текущем сеансе, имя которого квалифицируется как "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
получает все типы в сеансе.
Введите имена типов или шаблоны имен. Полные имена или шаблоны имен с подстановочными знаками являются обязательными даже для типов в пространстве имен System. Поддерживаются подстановочные знаки, а имя параметра TypeName является необязательным. Имена типов также можно передать в Get-TypeData
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Входные данные
Строки, содержащие имена типов, можно передать в этот командлет.
Выходные данные
Примечания
Get-TypeData
получает только данные расширенного типа в текущем сеансе. Командлет не получает расширенный тип данных, который находится на компьютере, но не был добавлен к текущему сеансу, например расширенные типы, определенные в модулях, но не импортированные в текущий сеанс.