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


Get-FormatData

Возвращает данные форматирования в текущем сеансе.

Синтаксис

Get-FormatData
   [[-TypeName] <String[]>]
   [-PowerShellVersion <Version>]
   [<CommonParameters>]

Описание

Командлет Get-FormatData получает данные форматирования в текущем сеансе.

Данные форматирования в сеансе включают форматирование данных из Format.ps1xml файлов форматирования, таких как в каталоге $PSHOME, форматирование данных для модулей, импортируемых в сеанс, и форматирование данных для команд, импортируемых в сеанс, с помощью командлета Import-PSSession.

Этот командлет можно использовать для проверки данных форматирования. Затем можно использовать командлет Export-FormatData для сериализации объектов, преобразования их в XML и их сохранения в Format.ps1xml файлах.

Дополнительные сведения о форматировании файлов в PowerShell см. в about_Format.ps1xml.

Примеры

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

Этот пример получает все данные форматирования в сеансе.

Get-FormatData -PowerShellVersion 5.1

Важный

Чтобы получить полные сведения о форматировании типов, всегда следует включить параметр PowerShellVersion со значением 5.1 при использовании локального вызова Get-FormatData. Если параметр и значение опущены, вы можете не получить все правильные сведения о типе.

Пример 2. Получение данных форматирования по имени типа

В этом примере возвращается элементы данных форматирования, имена которых начинаются с System.Management.Automation.Cmd.

Get-FormatData -TypeName 'System.Management.Automation.Cmd*' -PowerShellVersion 5.1

Пример 3. Проверка объекта данных форматирования

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

$F = Get-FormatData -TypeName 'System.Management.Automation.Cmd*' -PowerShellVersion 5.1
$F

TypeName        FormatViewDefinition
--------        --------------------
HelpInfoShort   {help , TableControl}

$F.FormatViewDefinition[0].control

Headers          : {System.Management.Automation.TableControlColumnHeader,
                   System.Management.Automation.TableControlColumnHeader,
                   System.Management.Automation.TableControlColumnHeader,
                   System.Management.Automation.TableControlColumnHeader}
Rows             : {System.Management.Automation.TableControlRow}
AutoSize         : False
HideTableHeaders : False
GroupBy          :
OutOfBand        : False

$F.FormatViewDefinition[0].control.Headers

Label       Alignment Width
-----       --------- -----
CommandType Undefined    15
Name        Undefined    50
Version     Undefined    10
Source      Undefined     0

Пример 4. Получение данных форматирования и его экспорт

В этом примере показано, как использовать Get-FormatData и Export-FormatData для экспорта данных форматирования, добавленных модулем.

$A = Get-FormatData -PowerShellVersion 5.1
Import-Module bitstransfer
$B = Get-FormatData -PowerShellVersion 5.1
Compare-Object $A $B

InputObject                                                SideIndicator
-----------                                                -------------
Microsoft.BackgroundIntelligentTransfer.Management.BitsJob =>

Get-FormatData *bits* | Export-FormatData -FilePath c:\test\bits.format.ps1xml
Get-Content c:\test\bits.format.ps1xml

<?xml version="1.0" encoding="utf-8"?><Configuration><ViewDefinitions>
<View><Name>Microsoft.BackgroundIntelligentTransfer.Management.BitsJob</Name>
...

Первые четыре команды используют командлеты , и для определения типа формата, который добавляет модуль BitsTransfer в сеанс.

Пятая команда использует командлет Get-FormatData для получения типа формата, который добавляет модуль BitsTrans fer. Он использует оператор конвейера (|) для отправки объекта типа формата в командлет Export-FormatData, который преобразует его обратно в XML и сохраняет его в указанном format.ps1xml файле.

Последняя команда содержит фрагмент содержимого файла format.ps1xml.

Пример 5. Получение данных форматирования на основе указанной версии PowerShell

В этом примере показано, как использовать Get-FormatData для получения данных формата для указанной версии typeName и PowerShell.

Get-FormatData -TypeName 'Microsoft.PowerShell.Utility.FileHash' -PowerShellVersion $PSVersionTable.PSVersion

TypeNames                               FormatViewDefinition
---------                               --------------------
{Microsoft.PowerShell.Utility.FileHash} {Microsoft.PowerShell.Utility.FileHash}

Параметры

-PowerShellVersion

Укажите версию PowerShell для данных форматирования. Введите два цифры, разделенные точкой.

Этот параметр был добавлен в PowerShell 5.1 для повышения совместимости при удаленном взаимодействии компьютеров с более старыми версиями PowerShell.

Тип:Version
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TypeName

Указывает имена типов, которые этот командлет получает для данных форматирования. Введите имена типов. Разрешены подстановочные знаки.

Тип:String[]
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

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

None

Входные данные в этот командлет невозможно передать.

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

ExtendedTypeDefinition