Export-Clixml
Cria uma representação baseada em XML de um objeto ou objetos e a armazena em um arquivo.
Sintaxe
ByPath (Predefinição)
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>]
Description
O cmdlet Export-Clixml serializou um objeto em uma representação baseada em XML da Common Language Infrastructure (CLI) e o armazena em um arquivo. Em seguida, você pode usar o cmdlet Import-Clixml para recriar o objeto salvo com base no conteúdo desse arquivo. Para obter mais informações sobre CLI, consulte Language independence.
Este cmdlet é semelhante ao ConvertTo-Xml, exceto que Export-Clixml armazena o XML resultante em um arquivo.
ConvertTo-Xml retorna o XML, para que você possa continuar a processá-lo no PowerShell.
Um uso valioso do Export-Clixml em computadores Windows é exportar credenciais e proteger cadeias de caracteres com segurança como XML. Para obter um exemplo, consulte o Exemplo 3.
Exemplos
Exemplo 1: Exportar uma cadeia de caracteres para um arquivo XML
Este exemplo cria um arquivo XML que armazena no diretório atual, uma representação da cadeia de caracteres This is a test.
"This is a test" | Export-Clixml -Path .\sample.xml
A cadeia de caracteres This is a test é enviada pelo pipeline.
Export-Clixml usa o parâmetro Path para criar um arquivo XML chamado sample.xml no diretório atual.
Exemplo 2: Exportar um objeto para um arquivo XML
Este exemplo mostra como exportar um objeto para um arquivo XML e, em seguida, criar um objeto importando o XML do arquivo.
Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml
O cmdlet Get-Acl obtém o descritor de segurança do arquivo Test.txt. Ele envia o objeto pelo pipeline para passar o descritor de segurança para Export-Clixml. A representação baseada em XML do objeto é armazenada em um arquivo chamado FileACL.xml.
O cmdlet Import-Clixml cria um objeto a partir do XML no arquivo FileACL.xml. Em seguida, ele salva o objeto na variável $fileacl.
Exemplo 3: Criptografar um objeto de credencial exportado
Neste exemplo, dada uma credencial que você armazenou na variável $Credential executando o cmdlet Get-Credential, você pode executar o cmdlet Export-Clixml para salvar a credencial no disco.
Importante
Export-Clixml exporta apenas credenciais criptografadas no Windows. Em sistemas operacionais que não sejam Windows, como macOS e Linux, as credenciais são exportadas como um texto sem formatação armazenado como uma matriz de caracteres Unicode. Isso fornece alguma ofuscação, mas não fornece criptografia.
$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
O cmdlet Export-Clixml criptografa objetos de credenciais usando o Windows Data Protection API. A criptografia garante que somente sua conta de usuário somente nesse computador possa descriptografar o conteúdo do objeto de credencial.
O arquivo CLIXML exportado não pode ser usado em um computador diferente ou por um usuário diferente.
No exemplo, o arquivo no qual a credencial está armazenada é representado por TestScript.ps1.credential. Substitua TestScript pelo nome do script com o qual você está carregando a credencial.
Você envia o objeto de credencial pelo pipeline para Export-Clixmle o salva no caminho, $Credxmlpath, especificado no primeiro comando.
Para importar a credencial automaticamente para o script, execute os dois comandos finais. Execute Import-Clixml para importar o objeto de credencial seguro para o script. Essa importação elimina o risco de expor senhas de texto simples em seu script.
Parâmetros
-Confirm
Solicita confirmação antes de executar o cmdlet.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Cf. |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Depth
Especifica quantos níveis de objetos contidos são incluídos na representação XML. O valor predefinido é 2.
O valor padrão pode ser substituído para o tipo de objeto nos arquivos Types.ps1xml. Para obter mais informações, consulte about_Types.ps1xml.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | 2 |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Encoding
Especifica o tipo de codificação para o arquivo de destino. O valor padrão é Unicode.
Os valores aceitáveis para este parâmetro são os seguintes:
-
ASCIIUsa o conjunto de caracteres ASCII (7 bits). -
BigEndianUnicodeUsa UTF-16 com a ordem de bytes big-endian. -
DefaultUsa a codificação que corresponde à página de código ativa do sistema (geralmente ANSI). -
OEMUsa a codificação que corresponde à página de código OEM atual do sistema. -
UnicodeUsa UTF-16 com a ordem de bytes little-endian. -
UTF7usa UTF-7. -
UTF8usa UTF-8. -
UTF32Usa UTF-32 com a ordem de bytes little-endian.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | Unicode |
| Valores aceites: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Force
Força o comando a ser executado sem pedir a confirmação do usuário.
Faz com que o cmdlet limpe o atributo somente leitura do arquivo de saída, se necessário. O cmdlet tentará redefinir o atributo somente leitura quando o comando for concluído.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-InputObject
Especifica o objeto a ser convertido. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtenha os objetos. Você também pode canalizar objetos para Export-Clixml.
Propriedades dos parâmetros
| Tipo: | PSObject |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-LiteralPath
Especifica o caminho para o arquivo onde a representação XML do objeto será armazenada. Ao contrário de Path, o valor do parâmetro LiteralPath é usado exatamente como foi escrito. Nenhum caractere é interpretado como carta curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples indicam ao PowerShell para não interpretar quaisquer caracteres como sequências de escape.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | PSPath |
Conjuntos de parâmetros
ByLiteralPath
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-NoClobber
Indica que o cmdlet não substitui o conteúdo de um arquivo existente. Por padrão, se existir um arquivo no caminho especificado, Export-Clixml substitui o arquivo sem aviso.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | NoOverwrite |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Path
Especifica o caminho para o arquivo onde a representação XML do objeto será armazenada.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
ByPath
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Wi |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
PSObject
Você pode canalizar qualquer objeto para esse cmdlet.
Saídas
FileInfo
Este cmdlet retorna um objeto FileInfo que representa o arquivo criado com os dados armazenados.