Compartilhar via


Export-Clixml

Cria uma representação baseada em XML de um objeto ou objetos e a armazena em um arquivo.

Sintaxe

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

O cmdlet Export-Clixml cria uma representação baseada em XML da CLI (Common Language Infrastructure) de um objeto ou objetos 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 a CLI, consulte de independência de idioma.

Esse cmdlet é semelhante a ConvertTo-Xml, exceto que Export-Clixml armazena o XML resultante em um arquivo. ConvertTo-XML retorna o XML, para que você possa continuar processá-lo no PowerShell.

Um uso valioso de 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 Este é um teste.

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

A cadeia de caracteres Esta é uma de teste é enviada pelo pipeline. usa o parâmetro caminho para criar um arquivo XML chamado 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 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, considerando uma credencial armazenada 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 não Windows, como macOS e Linux, as credenciais são exportadas em texto sem formatação.

$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 credencial usando a API de Proteção de Dados do Windows . A criptografia garante que somente sua conta de usuário no computador possa descriptografar o conteúdo do objeto de credencial. O arquivo de 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 é armazenada é representado por TestScript.ps1.credential. Substitua TestScript pelo nome do script com o qual você está carregando a credencial.

Envie o objeto de credencial pelo pipeline para Export-Clixmle salve-o 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 protegido para o script. Essa importação elimina o risco de expor senhas de texto sem formatação em seu script.

Parâmetros

-Confirm

Solicita a confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Depth

Especifica quantos níveis de objetos contidos estão incluídos na representação XML. O valor padrão é 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.

Tipo:Int32
Cargo:Named
Valor padrão:2
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Encoding

Especifica o tipo de codificação para o arquivo de destino. O valor padrão é Unicode.

Os valores aceitáveis para esse parâmetro são os seguintes:

  • ascii usa conjunto de caracteres ASCII (7 bits).
  • BigEndianUnicode usa UTF-16 com a ordem de bytes big-endian.
  • padrão usa a codificação que corresponde à página de código ativo do sistema (geralmente ANSI).
  • OEM usa a codificação que corresponde à página de código OEM atual do sistema.
  • unicode usa UTF-16 com a ordem de byte little-endian.
  • UTF7 usa UTF-7.
  • UTF8 usa UTF-8.
  • UTF32 usa UTF-32 com a ordem de bytes little-endian.
Tipo:String
Valores aceitos:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Cargo:Named
Valor padrão:Unicode
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Force

Força o comando a ser executado sem solicitar 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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Especifica o objeto a ser convertido. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtém os objetos. Você também pode redirecionar objetos para Export-Clixml.

Tipo:PSObject
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-LiteralPath

Especifica o caminho para o arquivo em que a representação XML do objeto será armazenada. Ao contrário docaminho , o valor do parâmetro LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. As aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.

Tipo:String
Aliases:PSPath
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-NoClobber

Indica que o cmdlet não substitui o conteúdo de um arquivo existente. Por padrão, se houver um arquivo no caminho especificado, Export-Clixml substituirá o arquivo sem aviso.

Tipo:SwitchParameter
Aliases:NoOverwrite
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Path

Especifica o caminho para o arquivo em que a representação XML do objeto será armazenada.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSObject

Você pode fazer o pipeline de qualquer objeto para Export-Clixml.

Saídas

FileInfo

Export-Clixml cria um arquivo que contém o XML.