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


Export-FormatData

Сохраняет данные форматирования из текущего сеанса в файле форматирования.

Синтаксис

Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -Path <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]
Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -LiteralPath <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]

Описание

Командлет Export-FormatData создает файлы форматирования PowerShell (format.ps1xml) из объектов форматирования в текущем сеансе. Он принимает объекты ExtendedTypeDefinition, которые Get-FormatData возвращаются и сохраняют их в файле в формате XML.

PowerShell использует данные в файлах форматирования (format.ps1xml) для создания отображения объектов Microsoft .NET Framework по умолчанию в сеансе. Вы можете просматривать и изменять файлы форматирования и использовать командлет Update-FormatData для добавления данных форматирования в сеанс.

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

Примеры

Пример 1. Экспорт данных формата сеанса

Get-FormatData -TypeName "*" | Export-FormatData -Path "allformat.ps1xml" -IncludeScriptBlock

Эта команда экспортирует все данные формата в сеансе в файл AllFormat.ps1xml.

Команда использует командлет Get-FormatData для получения данных формата в сеансе. Значение * (все) для параметра TypeName направляет командлет для получения всех данных в сеансе.

Команда использует оператор конвейера (|) для отправки данных формата из команды Get-FormatData командлету Export-FormatData, который экспортирует данные формата в файл AllFormat.ps1.

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

Пример 2. Экспорт данных формата для типа

$F = Get-FormatData -TypeName "helpinfoshort"
Export-FormatData -InputObject $F -Path "c:\test\help.format.ps1xml" -IncludeScriptBlock

Эти команды экспортируют данные формата для типа HelpInfoShort в файл Help.format.ps1xml.

Первая команда использует командлет Get-FormatData для получения данных формата для типа HelpInfoShort и сохраняет его в переменной $F.

Вторая команда использует параметр InputObject командлета Export-FormatData для ввода данных формата, сохраненных в переменной $F. Он также использует параметр IncludeScriptBlock для включения блоков скриптов в выходные данные.

Пример 3. Экспорт данных формата без блока скрипта

Get-FormatData -TypeName "System.Diagnostics.Process" | Export-FormatData -Path process.format.ps1xml
Update-FormatData -PrependPath ".\process.format.ps1xml"
Get-Process p*

Handles  NPM(K)  PM(K)  WS(K) VM(M)   CPU(s)    Id ProcessName
-------  ------  -----  ----- -----   ------    -- -----------
323                                       5600 powershell
336                                       3900 powershell_ise
138                                       4076 PresentationFontCache

В этом примере показан эффект пропуска параметра IncludeScriptBlock из команды Export-FormatData.

Первая команда использует командлет Get-FormatData для получения данных формата для объекта System.Diagnostics.Process, возвращаемого командлетом Get-Process. Команда использует оператор конвейера (|) для отправки данных форматирования в командлет Export-FormatData, который экспортирует его в файл Process.format.ps1xml в текущем каталоге.

В этом случае команда Export-FormatData не использует параметр IncludeScriptBlock.

Вторая команда использует командлет Update-FormatData для добавления файла Process.format.ps1xml в текущий сеанс. Команда использует параметр PrependPath, чтобы убедиться, что данные форматирования для объектов процесса в файле Process.format.ps1xml найдены до стандартного форматирования для объектов процесса.

Третья команда показывает эффекты этого изменения. Команда использует командлет Get-Process для получения процессов с именами, начинающимися с P. В выходных данных показано, что значения свойств, вычисляемые с помощью блоков скриптов, отсутствуют на экране.

Параметры

-Force

Принудительно выполняется команда без запроса подтверждения пользователя.

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

-IncludeScriptBlock

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

Так как блоки скриптов содержат код и могут использоваться злонамеренно, они по умолчанию не экспортируются.

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

-InputObject

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

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

-LiteralPath

Указывает расположение выходного файла. В отличие от параметра пути значение ЛитерPath используется точно так же, как и типизированный. Символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки говорят PowerShell не интерпретировать какие-либо символы как escape-последовательности.

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

-NoClobber

Указывает, что командлет не перезаписывает существующие файлы. По умолчанию Export-FormatData перезаписывает файлы без предупреждения, если файл не имеет атрибута только для чтения.

Чтобы направить Export-FormatData на перезапись файлов только для чтения, используйте параметр Force.

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

-Path

Указывает расположение выходного файла. Введите путь (необязательно) и имя файла с расширением имени файла format.ps1xml. Если путь не указан, Export-FormatData создает файл в текущем каталоге.

Если вы используете расширение имени файла, отличное от PS1xml, командлет Update-FormatData не распознает файл.

Если указать существующий файл, Export-FormatData перезаписывает файл без предупреждения, если файл не имеет атрибута только для чтения. Чтобы перезаписать файл только для чтения, используйте параметр Force. Чтобы предотвратить перезапись файлов, используйте параметр NoClobber.

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

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

ExtendedTypeDefinition

Вы можете передать объекты ExtendedTypeDefinition из Get-FormatData в этот командлет.

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

None

Этот командлет не возвращает выходные данные. Он создает файл и сохраняет его в указанном пути.

Примечания

  • Чтобы использовать любой файл форматирования, включая экспортируемый файл форматирования, политика выполнения сеанса должна разрешить выполнение скриптов и файлов конфигурации. Дополнительные сведения см. в about_Execution_Policies.