Partager via


Export-Clixml

Crée une représentation XML d'un ou plusieurs objets et la stocke dans un fichier.

Syntaxe

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

L’applet Export-Clixml de commande sérialise un objet dans une représentation XML basée sur l’interface CLI (Common Language Infrastructure) la stocke dans un fichier. Vous pouvez ensuite utiliser l’applet Import-Clixml de commande pour recréer l’objet enregistré en fonction du contenu de ce fichier. Pour plus d’informations sur l’interface CLI, consultez l’indépendance du langage.

Cette applet de commande est similaire à ConvertTo-Xml, sauf que Export-Clixml stocke le code XML résultant dans un fichier. ConvertTo-XML retourne le code XML. Vous pouvez donc continuer à le traiter dans PowerShell.

Une utilisation précieuse sur Export-Clixml les ordinateurs Windows consiste à exporter des informations d’identification et des chaînes sécurisées en toute sécurité en tant que XML. Pour obtenir un exemple, consultez l’exemple 3.

Exemples

Exemple 1 : Exporter une chaîne vers un fichier XML

Cet exemple crée un fichier XML qui stocke dans le répertoire actif, une représentation de la chaîne  : il s’agit d’un test.

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

La chaîne This is a test est envoyée vers le bas du pipeline. Export-Clixml utilise le paramètre Path pour créer un fichier XML nommé sample.xml dans le répertoire actif.

Exemple 2 : Exporter un objet vers un fichier XML

Cet exemple montre comment exporter un objet vers un fichier XML, puis créer un objet en important le contenu XML du fichier.

Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml

L’applet Get-Acl de commande obtient le descripteur de sécurité du Test.txt fichier. Il envoie l’objet vers le bas du pipeline pour transmettre le descripteur de sécurité à Export-Clixml. La représentation XML de l’objet est stockée dans un fichier nommé FileACL.xml.

L’applet Import-Clixml de commande crée un objet à partir du code XML dans le FileACL.xml fichier. Ensuite, il enregistre l’objet dans la $fileacl variable.

Exemple 3 : Chiffrer un objet d’informations d’identification exporté

Dans cet exemple, étant donné les informations d’identification que vous avez stockées dans la $Credential variable en exécutant l’applet Get-Credential de commande, vous pouvez exécuter l’applet Export-Clixml de commande pour enregistrer les informations d’identification sur le disque.

Important

Export-Clixml exporte uniquement les informations d’identification chiffrées sur Windows. Sur les systèmes d’exploitation non Windows tels que macOS et Linux, les informations d’identification sont exportées sous forme de texte brut stocké sous forme de tableau de caractères Unicode. Cela fournit une certaine obfuscation, mais ne fournit pas de chiffrement.

$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

L’applet Export-Clixml de commande chiffre les objets d’informations d’identification à l’aide de l’API de protection des données Windows. Le chiffrement garantit que seul votre compte d’utilisateur sur cet ordinateur peut déchiffrer le contenu de l’objet d’informations d’identification. Le fichier exporté CLIXML ne peut pas être utilisé sur un autre ordinateur ou par un autre utilisateur.

Dans l’exemple, le fichier dans lequel les informations d’identification sont stockées est représenté par TestScript.ps1.credential. Remplacez TestScript par le nom du script par lequel vous chargez les informations d’identification.

Vous envoyez l’objet d’informations d’identification vers le pipeline Export-Clixmlet enregistrez-le dans le chemin d’accès, $Credxmlpathque vous avez spécifié dans la première commande.

Pour importer automatiquement les informations d’identification dans votre script, exécutez les deux commandes finales. Exécutez Import-Clixml pour importer l’objet d’informations d’identification sécurisées dans votre script. Cette importation élimine le risque d’exposer des mots de passe en texte brut dans votre script.

Paramètres

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Depth

Spécifie le nombre de niveaux d'objets contenus inclus dans la représentation XML. La valeur par défaut est 2.

La valeur par défaut peut être substituée pour le type d’objet dans les Types.ps1xml fichiers. Pour plus d’informations, consultez about_Types.ps1xml.

Type:Int32
Position:Named
Valeur par défaut:2
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Encoding

Spécifie le type de codage du fichier cible. La valeur par défaut est Unicode.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • ASCII Utilise le jeu de caractères ASCII (7 bits).
  • BigEndianUnicode Utilise UTF-16 avec l’ordre d’octet big-endian.
  • Default Utilise l’encodage qui correspond à la page de codes active du système (généralement ANSI).
  • OEM Utilise l’encodage qui correspond à la page de codes OEM actuelle du système.
  • Unicode Utilise UTF-16 avec l’ordre d’octet little-endian.
  • UTF7 Utilise UTF-7.
  • UTF8 Utilise UTF-8.
  • UTF32 Utilise UTF-32 avec l’ordre d’octet little-endian.
Type:String
Valeurs acceptées:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Position:Named
Valeur par défaut:Unicode
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Force

Force l’exécution de la commande sans demander la confirmation de l’utilisateur.

Indique à l'applet de commande d'effacer l'attribut de lecture seule du fichier de sortie, si nécessaire. L'applet de commande tente de réinitialiser l'attribut de lecture seule à la fin de l'exécution de la commande.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-InputObject

Spécifie l'objet à convertir. Entrez une variable contenant les objets, ou tapez une commande ou une expression qui obtient ces objets. Vous pouvez également diriger des objets vers Export-Clixml.

Type:PSObject
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-LiteralPath

Spécifie le chemin d'accès du fichier où sera stockée la représentation XML de l'objet. Contrairement à Path, la valeur du paramètre LiteralPath est utilisée exactement comme elle est typée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.

Type:String
Alias:PSPath
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-NoClobber

Indique que l’applet de commande ne remplace pas le contenu d’un fichier existant. Par défaut, si un fichier existe dans le chemin d’accès spécifié, Export-Clixml remplace le fichier sans avertissement.

Type:SwitchParameter
Alias:NoOverwrite
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Spécifie le chemin d'accès du fichier où sera stockée la représentation XML de l'objet.

Type:String
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

PSObject

Vous pouvez pipeliner n’importe quel objet vers cette applet de commande.

Sorties

FileInfo

Cette applet de commande retourne un objet FileInfo représentant le fichier créé avec les données stockées.