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
В этот командлет нельзя передать входные данные.