Export-Clixml
Crée une représentation XML d’un objet ou d’un objet et la stocke dans un fichier.
Syntaxe
ByPath (Par défaut)
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
L’applet de commande Export-Clixml 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 de commande Import-Clixml pour recréer l’objet enregistré en fonction du contenu de ce fichier. Pour plus d’informations sur l’interface CLI, consultez 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 de Export-Clixml sur les ordinateurs Windows consiste à exporter des informations d’identification et à sécuriser des chaînes 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’unde 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 code XML à partir du fichier.
Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml
L’applet de commande Get-Acl obtient le descripteur de sécurité du fichier Test.txt. Il envoie l’objet vers le bas du pipeline pour passer 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 de commande Import-Clixml crée un objet à partir du code XML dans le fichier FileACL.xml. Ensuite, il enregistre l’objet dans la variable $fileacl.
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 variable $Credential en exécutant l’applet de commande Get-Credential, vous pouvez exécuter l’applet de commande Export-Clixml 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 de commande Export-Clixml 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 CLIXML exporté 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 bas du pipeline à Export-Clixml, puis enregistrez-le dans le chemin d’accès, $Credxmlpath, que 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é dans votre script. Cette importation élimine le risque d’exposer des mots de passe en texte brut dans votre script.
Paramètres
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | cf |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 fichiers Types.ps1xml. Pour plus d’informations, consultez about_Types.ps1xml.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | 2 |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Encoding
Spécifie le type d’encodage du fichier cible. La valeur par défaut est Unicode .
Les valeurs acceptables pour ce paramètre sont les suivantes :
-
ASCIIutilise le jeu de caractères ASCII (7 bits). -
BigEndianUnicodeutilise UTF-16 avec l’ordre d’octet big-endian. -
DefaultUtilise l’encodage qui correspond à la page de codes active du système (généralement ANSI). -
OEMUtilise l’encodage qui correspond à la page de codes OEM actuelle du système. -
Unicodeutilise UTF-16 avec l’ordre d’octet little-endian. -
UTF7utilise UTF-7. -
UTF8utilise UTF-8. -
UTF32utilise UTF-32 avec l’ordre d’octet little-endian.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | Unicode |
| Valeurs acceptées: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Force
Force l’exécution de la commande sans demander la confirmation de l’utilisateur.
Provoque l’effacement de l’attribut en lecture seule du fichier de sortie si nécessaire. L’applet de commande tente de réinitialiser l’attribut en lecture seule une fois la commande terminée.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputObject
Spécifie l’objet à convertir. Entrez une variable qui contient les objets, ou tapez une commande ou une expression qui obtient les objets. Vous pouvez également diriger des objets vers Export-Clixml.
Propriétés du paramètre
| Type: | PSObject |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-LiteralPath
Spécifie le chemin d’accès au fichier dans lequel la représentation XML de l’objet sera stockée. Contrairement à Path, la valeur du paramètre LiteralPath est utilisée exactement tel qu'elle est saisie. 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.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | PSPath |
Jeux de paramètres
ByLiteralPath
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | NoOverwrite |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Path
Spécifie le chemin d’accès au fichier dans lequel la représentation XML de l’objet sera stockée.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByPath
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande n’est pas exécutée.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Wi |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
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.