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


Export-Clixml

Создает xml-представление объекта или объектов и сохраняет его в файле.

Синтаксис

ByPath (По умолчанию)

Export-Clixml
    [-Path] <String>
    -InputObject <PSObject>
    [-Depth <Int32>]
    [-Force]
    [-NoClobber]
    [-Encoding <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByLiteralPath

Export-Clixml
    -LiteralPath <String>
    -InputObject <PSObject>
    [-Depth <Int32>]
    [-Force]
    [-NoClobber]
    [-Encoding <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Описание

Командлет Export-Clixml сериализовал объект в XML-представление, основанное на общей языковой инфраструктуре (CLI), и сохранил его в файле. Затем можно использовать командлет Import-Clixml для повторного создания сохраненного объекта на основе содержимого этого файла. Дополнительные сведения о интерфейсе командной строки см. в независимости языка.

Этот командлет похож на ConvertTo-Xml, за исключением того, что Export-Clixml сохраняет полученный XML-код в файле. ConvertTo-Xml возвращает XML-файл, чтобы продолжить обработку его в PowerShell.

Ценное использование Export-Clixml на компьютерах Windows заключается в том, чтобы экспортировать учетные данные и безопасные строки в виде XML. Пример см. в примере 3.

Примеры

Пример 1. Экспорт строки в XML-файл

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

"This is a test" | Export-Clixml -Path .\sample.xml

Строка This is a test отправляется по конвейеру. Export-Clixml использует параметр path для создания XML-файла с именем sample.xml в текущем каталоге.

Пример 2. Экспорт объекта в XML-файл

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

Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml

Командлет Get-Acl получает дескриптор безопасности файла Test.txt. Он отправляет объект вниз конвейера, чтобы передать дескриптор безопасности в Export-Clixml. Xml-представление объекта хранится в файле с именем FileACL.xml.

Командлет Import-Clixml создает объект из XML в файле FileACL.xml. Затем он сохраняет объект в переменной $fileacl.

Пример 3. Шифрование экспортированного объекта учетных данных

В этом примере, имея учетные данные, которые вы сохранили в переменной $Credential, с помощью командлета Get-Credential, вы можете исполнить командлет Export-Clixml, чтобы записать учетные данные на диск.

Это важно

Export-Clixml экспортирует только зашифрованные учетные данные в Windows. В операционных системах, отличных от Windows, таких как macOS и Linux, учетные данные экспортируются в виде обычного текста, хранящегося в виде массива символов Юникода. Это обеспечивает некоторую маскировку, но не обеспечивает шифрование.

$Credxmlpath = Join-Path (Split-Path $PROFILE) TestScript.ps1.credential
$Credential | Export-Clixml $Credxmlpath
$Credxmlpath = Join-Path (Split-Path $PROFILE) TestScript.ps1.credential
$Credential = Import-Clixml $Credxmlpath

Командлет Export-Clixml шифрует объекты учетных данных с помощью API защиты данных Windows . Шифрование гарантирует, что только ваша учетная запись пользователя на компьютере может расшифровывать содержимое объекта учетных данных. Экспортируемый CLIXML файл нельзя использовать на другом компьютере или другом пользователе.

В примере файл, в котором хранятся учетные данные, представлен TestScript.ps1.credential. Замените TestScript именем скрипта, с которым вы загружаете учетные данные.

Вы отправляете объект учетных данных в конвейер к Export-Clixmlи сохраняете его по пути $Credxmlpath, указанному в первой команде.

Чтобы автоматически импортировать учетные данные в скрипт, выполните последние две команды. Запустите Import-Clixml, чтобы импортировать защищенный объект учетных данных в скрипт. Этот импорт устраняет риск раскрытия паролей в виде открытого текста в вашем скрипте.

Параметры

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Depth

Указывает, сколько уровней содержащихся объектов включено в xml-представление. Значение по умолчанию — 2.

Значение по умолчанию можно переопределить для типа объекта в файлах Types.ps1xml. Дополнительные сведения см. в разделе about_Types.ps1xml.

Свойства параметров

Тип:Int32
Default value:2
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Encoding

Указывает тип кодирования для целевого файла. Значение по умолчанию — Юникод.

Допустимые значения для этого параметра приведены следующим образом:

  • ASCII Использует набор символов ASCII (7-разрядный).
  • BigEndianUnicode использует UTF-16 с порядком байтов "старший байт первым".
  • Default Использует кодировку, соответствующую активной кодовой странице системы (обычно ANSI).
  • OEM Использует кодировку, соответствующую текущей кодовой странице OEM системы.
  • Unicode использует UTF-16 с младшим порядком байтов.
  • UTF7 использует UTF-7.
  • UTF8 Использует UTF-8.
  • UTF32 использует UTF-32 с маленьким порядком байтов.

Свойства параметров

Тип:String
Default value:Unicode
Допустимые значения:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Force

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

При необходимости командлет очищает атрибут только для чтения выходного файла. Командлет попытается сбросить атрибут "только для чтения", когда команда завершится.

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-InputObject

Указывает объект, который необходимо преобразовать. Введите переменную, содержащую объекты, или введите команду или выражение, которое получает объекты. Также можно передать объекты в Export-Clixml.

Свойства параметров

Тип:PSObject
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-LiteralPath

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

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:PSPath

Наборы параметров

ByLiteralPath
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-NoClobber

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

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:NoOverwrite

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

Указывает путь к файлу, в котором будет храниться XML-представление объекта.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ByPath
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

PSObject

Вы можете передавать на обработку любой объект этому командлету.

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

FileInfo

Этот командлет возвращает объект FileInfo, представляющий созданный файл с сохраненными данными.