Export-Clixml
Crea una representación basada en XML de un objeto u objetos y la almacena en un archivo.
Syntax
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>]
Description
El Export-Clixml
cmdlet serializó un objeto en una representación basada en XML de Common Language Infrastructure (CLI) que lo almacena en un archivo. A continuación, puede usar el Import-Clixml
cmdlet para volver a crear el objeto guardado en función del contenido de ese archivo. Para más información sobre la CLI, consulte Independencia del lenguaje.
Este cmdlet es similar a ConvertTo-Xml
, excepto que Export-Clixml
almacena el XML resultante en un archivo. ConvertTo-XML
devuelve el XML, por lo que puede seguir procesándolo en PowerShell.
Un uso valioso de Export-Clixml
en equipos Windows es exportar credenciales y cadenas seguras de forma segura como XML. Para ver un ejemplo, consulte ejemplo 3.
Ejemplos
Ejemplo 1: Exportar una cadena a un archivo XML
En este ejemplo se crea un archivo XML que almacena en el directorio actual, una representación de la cadena Esta es una prueba.
"This is a test" | Export-Clixml -Path .\sample.xml
La cadena This is a test
se envía a la canalización. Export-Clixml
usa el parámetro Path para crear un archivo XML denominado sample.xml
en el directorio actual.
Ejemplo 2: Exportación de un objeto a un archivo XML
En este ejemplo se muestra cómo exportar un objeto a un archivo XML y, después, cómo crear un objeto importando el XML del archivo.
Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml
El Get-Acl
cmdlet obtiene el descriptor de seguridad del Test.txt
archivo. Envía el objeto a la canalización para pasar el descriptor de seguridad a Export-Clixml
. La representación basada en XML del objeto se almacena en un archivo denominado FileACL.xml
.
El Import-Clixml
cmdlet crea un objeto a partir del XML en el FileACL.xml
archivo . A continuación, guarda el objeto en la $fileacl
variable .
Ejemplo 3: Cifrado de un objeto de credencial exportado
En este ejemplo, dada una credencial que ha almacenado en la variable mediante la $Credential
ejecución del Get-Credential
cmdlet , puede ejecutar el Export-Clixml
cmdlet para guardar la credencial en el disco.
Importante
Export-Clixml
solo exporta credenciales cifradas en Windows. En sistemas operativos que no son Windows, como macOS y Linux, las credenciales se exportan como texto sin formato almacenado como una matriz de caracteres Unicode. Esto proporciona cierta ofuscación, pero no proporciona cifrado.
$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
El Export-Clixml
cmdlet cifra los objetos de credencial mediante la API de Protección de datos de Windows. El cifrado garantiza que solo la cuenta de usuario de ese equipo pueda descifrar el contenido del objeto de credencial.
El archivo exportado CLIXML
no se puede usar en un equipo diferente o en otro usuario.
En el ejemplo, el archivo en el que se almacena la credencial se representa mediante TestScript.ps1.credential
. Reemplace TestScript por el nombre del script por el que va a cargar la credencial.
Envíe el objeto de credencial a la canalización a Export-Clixml
y guárdelo en la ruta de acceso, $Credxmlpath
, que especificó en el primer comando.
Para importar automáticamente la credencial en el script, ejecute los dos comandos finales. Ejecute Import-Clixml
para importar el objeto de credencial protegida en el script. Esta importación elimina el riesgo de exponer contraseñas de texto sin formato en el script.
Parámetros
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Depth
Especifica el número de niveles de los objetos contenidos que se incluye en la representación XML. El valor predeterminado es 2
.
El valor predeterminado se puede invalidar para el tipo de objeto en los Types.ps1xml
archivos. Para obtener más información, consulte about_Types.ps1xml.
Type: | Int32 |
Position: | Named |
Default value: | 2 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encoding
Especifica el tipo de codificación del archivo de destino. El valor predeterminado es Unicode.
Los valores aceptables para este parámetro son los siguientes:
ASCII
Usa el juego de caracteres ASCII (7 bits).BigEndianUnicode
Usa UTF-16 con el orden de bytes big-endian.Default
Usa la codificación que corresponde a la página de códigos activa del sistema (normalmente ANSI).OEM
Usa la codificación que corresponde a la página de códigos oem actual del sistema.Unicode
Usa UTF-16 con el orden de bytes little-endian.UTF7
Usa UTF-7.UTF8
Usa UTF-8.UTF32
Usa UTF-32 con el orden de bytes little-endian.
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
Obliga al comando a ejecutarse sin solicitar la confirmación del usuario.
Hace que el cmdlet borre el atributo de solo lectura del archivo de salida, si es necesario. El cmdlet intentará restablecer el atributo de solo lectura cuando el comando se complete.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica el objeto que se va a convertir. Especifique una variable que contenga los objetos o escriba un comando o una expresión que obtenga los objetos. También puede canalizar objetos a Export-Clixml
.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Especifica la ruta de acceso al archivo donde se almacenará la representación XML del objeto. A diferencia de Path, el valor del parámetro LiteralPath se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso contiene caracteres de escape, escríbalos entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoClobber
Indica que el cmdlet no sobrescribe el contenido de un archivo existente. De forma predeterminada, si existe un archivo en la ruta de acceso especificada, Export-Clixml
sobrescribe el archivo sin advertencia.
Type: | SwitchParameter |
Aliases: | NoOverwrite |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Especifica la ruta de acceso al archivo donde se almacenará la representación XML del objeto.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Puede canalización de cualquier objeto a este cmdlet.
Salidas
Este cmdlet devuelve un objeto FileInfo que representa el archivo creado con los datos almacenados.
Vínculos relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de