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>
...

Первые четыре команды используют Get-FormatDataкомандлеты , Import-Moduleи Compare-Object для определения типа формата, добавляемого модулем BitsTransfer в сеанс.

Пятая команда использует Get-FormatData командлет для получения типа формата, добавляемого модулем BitsTransfer . Оператор конвейера (|) используется для отправки объекта типа формата командлету 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.

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypeName

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

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

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

None

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

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

ExtendedTypeDefinition