Export-Clixml
Создает XML-представление объекта или объектов и сохраняет его в файл.
Синтаксис
Export-Clixml
[-Path] <String>
-InputObject <PSObject>
[-Depth <Int32>]
[-Force]
[-NoClobber]
[-Encoding <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Export-Clixml
-LiteralPath <String>
-InputObject <PSObject>
[-Depth <Int32>]
[-Force]
[-NoClobber]
[-Encoding <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Export-Clixml
сериализовал объект в XML-представление на основе XML-кода, основанного на интерфейсе командной строки, сохраняет его в файле. Затем можно использовать 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
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Depth
Указывает, сколько уровней вложенных объектов включается в XML-представление. Значение по умолчанию — 2
.
Значение по умолчанию можно переопределить для типа объекта в файлах Types.ps1xml
. Дополнительные сведения см. в разделе about_Types.ps1xml.
Type: | Int32 |
Position: | Named |
Default value: | 2 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encoding
Указывает тип кодировки для целевого файла. Значение по умолчанию — Юникод.
Допустимые значения для этого параметра приведены следующим образом:
ASCII
Использует набор символов ASCII (7-разрядный).BigEndianUnicode
Использует UTF-16 с порядком байтов больших байтов.Default
Использует кодировку, соответствующую активной кодовой странице системы (обычно ANSI).OEM
Использует кодировку, соответствующую текущей кодовой странице OEM системы.Unicode
Использует UTF-16 с маленьким порядком байтов.UTF7
Использует UTF-7.UTF8
Использует UTF-8.UTF32
Использует UTF-32 с маленьким порядком байтов.
Type: | String |
Accepted values: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
Default value: | Unicode |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Принудительное выполнение команды без запроса на подтверждение пользователем.
В результате командлет снимает атрибут только для чтения выходного файла при необходимости. Командлет попытается сбросить атрибут "только для чтения" после выполнения команды.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Задает объект для преобразования. Введите переменную, которая содержит объекты, или команду или выражение, которое возвращает объекты. Можно также передать объекты Export-Clixml
в .
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Указывает путь к файлу, где будет храниться XML-представление объекта. В отличие от Path, значение параметра LiteralPath используется точно так же, как он типизированный. Никакие символы не интерпретируются как знаки подстановки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки говорят PowerShell не интерпретировать какие-либо символы как escape-последовательности.
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoClobber
Указывает, что командлет не перезаписывает содержимое существующего файла. По умолчанию, если файл существует в указанном пути, Export-Clixml
перезаписывает файл без предупреждения.
Type: | SwitchParameter |
Aliases: | NoOverwrite |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Указывает путь к файлу, где будет храниться XML-представление объекта.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Вы можете конвейерировать любой объект в этот командлет.
Выходные данные
Этот командлет возвращает объект FileInfo , представляющий созданный файл с сохраненными данными.
Связанные ссылки
- ConvertTo-Html
- ConvertTo-Xml
- Export-Csv
- Import-Clixml
- Join-Path
- Securely Store Credentials on Disk (Безопасное хранение учетных данных на диске)
- Use PowerShell to Pass Credentials to Legacy Systems (Передача учетных данных в устаревшие системы с помощью PowerShell)
- Windows.Security.Cryptography.DataProtection
PowerShell
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по