Delen via


Export-Clixml

Hiermee maakt u een XML-weergave van een object of objecten en slaat u het op in een bestand.

Syntaxis

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

De Export-Clixml cmdlet maakt een XML-weergave op basis van Common Language Infrastructure (CLI) van een object of objecten en slaat het op in een bestand. Vervolgens kunt u de cmdlet Import-Clixml gebruiken om het opgeslagen object opnieuw te maken op basis van de inhoud van dat bestand. Zie Taalafhankelijkheidvoor meer informatie over CLI.

Deze cmdlet is vergelijkbaar met ConvertTo-Xml, behalve dat Export-Clixml de resulterende XML in een bestand opslaat. ConvertTo-XML retourneert de XML, zodat u deze kunt blijven verwerken in PowerShell.

Een waardevol gebruik van Export-Clixml op Windows-computers is het veilig exporteren van referenties en beveiligde tekenreeksen als XML. Zie voorbeeld 3 voor een voorbeeld.

Voorbeelden

Voorbeeld 1: Een tekenreeks exporteren naar een XML-bestand

In dit voorbeeld wordt een XML-bestand gemaakt waarin de huidige map wordt opgeslagen, een weergave van de tekenreeks Dit is een test-.

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

De tekenreeks Dit is een test wordt verzonden naar de pijplijn. Export-Clixml gebruikt de parameter Path om een XML-bestand met de naam sample.xml te maken in de huidige map.

Voorbeeld 2: Een object exporteren naar een XML-bestand

In dit voorbeeld ziet u hoe u een object exporteert naar een XML-bestand en vervolgens een object maakt door de XML uit het bestand te importeren.

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

De Get-Acl-cmdlet haalt de beveiligingsdescriptor van het Test.txt-bestand op. Het object wordt naar beneden verzonden om de beveiligingsdescriptor door te geven aan Export-Clixml. De XML-weergave van het object wordt opgeslagen in een bestand met de naam FileACL.xml.

De cmdlet Import-Clixml maakt een object op basis van de XML in het FileACL.xml-bestand. Vervolgens wordt het object opgeslagen in de variabele $fileacl.

Voorbeeld 3: Een geëxporteerd referentieobject versleutelen

In dit voorbeeld, op basis van een referentie die u hebt opgeslagen in de $Credential variabele door de Get-Credential cmdlet uit te voeren, kunt u de Export-Clixml cmdlet uitvoeren om de referentie op schijf op te slaan.

Belangrijk

Export-Clixml alleen versleutelde referenties exporteert in Windows. Op niet-Windows-besturingssystemen, zoals macOS en Linux, worden referenties geëxporteerd in tekst zonder opmaak.

$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

De Export-Clixml cmdlet versleutelt referentieobjecten met behulp van de Windows Data Protection-API. De versleuteling zorgt ervoor dat alleen uw gebruikersaccount op die computer de inhoud van het referentieobject kan ontsleutelen. Het geëxporteerde CLIXML-bestand kan niet worden gebruikt op een andere computer of door een andere gebruiker.

In het voorbeeld wordt het bestand waarin de referentie is opgeslagen, vertegenwoordigd door TestScript.ps1.credential. Vervang TestScript- door de naam van het script waarmee u de referentie laadt.

U verzendt het referentieobject omlaag in de pijplijn naar Export-Clixmlen slaat het op in het pad, $Credxmlpath, dat u hebt opgegeven in de eerste opdracht.

Als u de referentie automatisch in uw script wilt importeren, voert u de laatste twee opdrachten uit. Voer Import-Clixml uit om het beveiligde referentieobject in uw script te importeren. Met deze import wordt het risico van het weergeven van wachtwoorden zonder opmaak in uw script weggenomen.

Parameters

-Confirm

U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Depth

Hiermee geeft u op hoeveel niveaus van ingesloten objecten worden opgenomen in de XML-weergave. De standaardwaarde is 2.

De standaardwaarde kan worden overschreven voor het objecttype in de Types.ps1xml-bestanden. Zie about_Types.ps1xmlvoor meer informatie.

Type:Int32
Position:Named
Default value:2
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Encoding

Hiermee geeft u het type codering voor het doelbestand. De standaardwaarde is Unicode-.

De acceptabele waarden voor deze parameter zijn als volgt:

  • ASCII- maakt gebruik van ASCII-tekenset (7-bits).
  • BigEndianUnicode Maakt gebruik van UTF-16 met de bytevolgorde big-endian.
  • standaard maakt gebruik van de codering die overeenkomt met de actieve codepagina van het systeem (meestal ANSI).
  • OEM- maakt gebruik van de codering die overeenkomt met de huidige OEM-codepagina van het systeem.
  • Unicode- maakt gebruik van UTF-16 met de bytevolgorde little endian.
  • UTF7 maakt gebruik van UTF-7.
  • UTF8 Maakt gebruik van UTF-8.
  • UTF32 maakt gebruik van UTF-32 met de bytevolgorde little-endian.
Type:String
Geaccepteerde waarden:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Position:Named
Default value:Unicode
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Force

Hiermee dwingt u de opdracht uit te voeren zonder dat u om bevestiging van de gebruiker wordt gevraagd.

Zorgt ervoor dat de cmdlet het kenmerk alleen-lezen van het uitvoerbestand wist, indien nodig. De cmdlet probeert het kenmerk alleen-lezen opnieuw in te stellen wanneer de opdracht is voltooid.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-InputObject

Hiermee geeft u het object dat moet worden geconverteerd. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald. U kunt objecten ook doorslangen naar Export-Clixml.

Type:PSObject
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-LiteralPath

Hiermee geeft u het pad naar het bestand waarin de XML-weergave van het object wordt opgeslagen. In tegenstelling tot pad, wordt de waarde van de parameter LiteralPath exact gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat er geen tekens als escapereeksen moeten worden geïnterpreteerd.

Type:String
Aliassen:PSPath
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-NoClobber

Geeft aan dat de cmdlet de inhoud van een bestaand bestand niet overschrijft. Als er een bestand in het opgegeven pad bestaat, overschrijft Export-Clixml het bestand standaard zonder waarschuwing overschrijft.

Type:SwitchParameter
Aliassen:NoOverwrite
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Path

Hiermee geeft u het pad naar het bestand waarin de XML-weergave van het object wordt opgeslagen.

Type:String
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-WhatIf

Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

PSObject

U kunt elk object naar Export-Clixmlpijplijnen.

Uitvoerwaarden

FileInfo

Export-Clixml maakt een bestand dat de XML bevat.