Сохраняет данные форматирования текущего сеанса в файле форматирования.
Синтаксис
Export-FormatData [-Force] [-IncludeScriptBlock] [-InputObject <ExtendedTypeDefinition[]>] [-NoClobber] [-Path <string>] [<CommonParameters>]
Описание
Командлет Export-FormatData создает файлы форматирования Windows PowerShell (format.ps1xml) из объектов форматирования в текущем сеансе. Он принимает объекты ExtendedTypeDefinition, возвращаемые командлетом Get-FormatData, и сохраняет их в файле в формате XML.
На основе данных из файлов форматирования (format.ps1xml) Windows PowerShell создает способ отображения объектов Microsoft .NET Framework в сеансе, используемый по умолчанию. Файлы форматирования можно просматривать и изменять, а с помощью командлета Update-FormatData можно добавлять в сеанс данные форматирования.
Дополнительные сведения о файлах форматирования в Windows PowerShell см. в разделе about_Format.ps1xml.
Параметры
-Force
Перезаписывает существующий выходной файл, даже если для него установлен атрибут "только чтение".
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
False |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-IncludeScriptBlock
Определяет, экспортируются ли блоки скриптов, содержащиеся в данных форматирования.
Поскольку блоки скриптов содержат выполняемый код и могут использоваться для вредоносных целей, по умолчанию они не экспортируются.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
False |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-InputObject <ExtendedTypeDefinition[]>
Задает экспортируемые объекты форматирования данных. Введите переменную, содержащую объекты, либо команду, получающую объекты, например Get-FormatData. Кроме того, можно передать объекты командлету Export-FormatData от командлета Get-FormatData по конвейеру.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue) |
Принимать подстановочные знаки? |
false |
-NoClobber
Запрещает командлету перезаписывать существующие файлы. По умолчанию командлет Export-FormatData без предупреждения перезаписывает файлы, для которых не задан атрибут "только чтение".
Чтобы задать командлету Export-FormatData принудительную перезапись файлов с атрибутом "только чтение", используйте параметр Force.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Path <string>
Задает расположение выходного файла. Укажите путь (необязательно) и имя файла с расширением format.ps1xml. Если путь не указан, командлет Export-FormatData создает файл в текущем каталоге.
Если используется расширение, отличное от PS1XML, командлет Update-FormatData не распознает файл.
Если указан существующий файл, командлет Export-FormatData перезаписывает имеющийся файл без предупреждения, если этому файлу не задан атрибут "только чтение". Чтобы перезаписать файл с атрибутом "только чтение", используйте параметр Force. Чтобы запретить перезапись существующих файлов, используйте параметр NoClobber.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
нет |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.Management.Automation.ExtendedTypeDefinition Кроме того, можно передать объекты ExtendedTypeDefinition командлету Export-FormatData от командлета Get-FormatData по конвейеру. |
Выходные данные |
Нет Командлет Export-FormatData не возвращает никаких объектов. Он создает файл и сохраняет его по указанному пути. |
Примечания
Чтобы использовать любой файл форматирования, в том числе экспортированный, необходимо, чтобы в политике выполнения для сеанса было разрешено выполнение скриптов и файлов конфигурации. Дополнительные сведения см. в разделе about_Execution_Policies.
Пример 1
C:\PS>get-formatdata -typename * | export-formatdata -path allformat.ps1xml -IncludeScriptBlock Описание ----------- Эта команда экспортирует все данные форматирования из сеанса в файл AllFormat.ps1xml. Эта команда получает все данные форматирования из сеанса с помощью командлета Get-FormatData. Оператор "*", используемый в качестве значения параметра TypeName, предписывает командлету получить все данные из сеанса. В этой команде с помощью оператора конвейера (|) данные форматирования передаются от командлета Get-FormatData командлету Export-FormatData, экспортирующему все данные форматирования в файл AllFormat.ps1. В команде Export-FormatData используется параметр IncludeScriptBlock, чтобы включить все блоки скриптов в данных форматирования в файле.
Пример 2
C:\PS>$f = get-formatdata -typename helpinfoshort C:\PS> export-formatdata -inputObject $f -path c:\test\help.format.ps1xml -IncludeScriptBlock Описание ----------- Эти команды экспортируют данные форматирования для типа HelpInfoShort в файл Help.format.ps1xml. Первая команда получает данные форматирования для типа HelpInfoShort с помощью командлета Get-FormatData и сохраняет их в переменной $f. Вторая команда с помощью командлета Export-FormatData с параметром InputObject вводит данные форматирования, сохраненные в переменной $f. В ней также используется параметр IncludeScriptBlock, включающий блоки скриптов в выходные данные.
Пример 3
C:\PS>get-formatdata -typename System.Diagnostics.Process | export-FormatData -path process.format.ps1xml C:\PS> Update-FormatData -prependPath .\process.format.ps1xml C:\PS> 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 Описание ----------- В этом примере показан результат выполнения команды Export-FormatData без параметра IncludeScriptBlock. В первой команде с помощью командлета 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". По выходным данным видно, что значения свойств, вычисляемые с использованием блоков скриптов, не отображаются.
См. также