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, представляющий созданный файл с сохраненными данными.