Export-Clixml

Skapar en XML-baserad representation av ett objekt eller objekt och lagrar det i en fil.

Syntax

ByPath (Standard)

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

Cmdleten Export-Clixml serialiserade ett objekt till en XML-baserad representation baserad på Common Language Infrastructure (CLI) och lagrar det i en fil. Du kan sedan använda cmdleten Import-Clixml för att återskapa det sparade objektet baserat på innehållet i filen. Mer information om CLI finns i Language independence.

Den här cmdleten liknar ConvertTo-Xml, förutom att Export-Clixml lagrar resulterande XML i en fil. ConvertTo-Xml returnerar XML-koden så att du kan fortsätta att bearbeta den i PowerShell.

En värdefull användning av Export-Clixml på Windows-datorer är att exportera autentiseringsuppgifter och skydda strängar på ett säkert sätt som XML. Ett exempel finns i Exempel 3.

Exempel

Exempel 1: Exportera en sträng till en XML-fil

Det här exemplet skapar en XML-fil som lagrar i den aktuella katalogen, en representation av strängen Det här är ett test.

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

Strängen This is a test skickas ned i pipelinen. Export-Clixml använder parametern Path för att skapa en XML-fil med namnet sample.xml i den aktuella katalogen.

Exempel 2: Exportera ett objekt till en XML-fil

Det här exemplet visar hur du exporterar ett objekt till en XML-fil och sedan skapar ett objekt genom att importera XML från filen.

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

Cmdleten Get-Acl hämtar säkerhetsbeskrivningen för Test.txt-filen. Det skickar objektet nedåt i pipelinen för att skicka säkerhetsbeskrivningen till Export-Clixml. Den XML-baserade representationen av objektet lagras i en fil med namnet FileACL.xml.

Cmdleten Import-Clixml skapar ett objekt från XML-koden i FileACL.xml-filen. Sedan sparas objektet i variabeln $fileacl.

Exempel 3: Kryptera ett exporterat autentiseringsobjekt

I det här exemplet kan du, med tanke på en autentiseringsuppgift som du har lagrat i $Credential-variabeln genom att köra Get-Credential-cmdleten, köra cmdleten Export-Clixml för att spara autentiseringsuppgifterna på disken.

Viktigt!

Export-Clixml exporterar endast krypterade autentiseringsuppgifter i Windows. I icke-Windows-operativsystem som macOS och Linux exporteras autentiseringsuppgifterna som en oformaterad text som lagras som en Unicode-teckenmatris. Detta ger viss fördunkling men tillhandahåller inte kryptering.

$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

Cmdleten Export-Clixml krypterar autentiseringsobjekt med hjälp av Windows Data Protection API. Krypteringen säkerställer att endast ditt användarkonto på den datorn kan dekryptera innehållet i objektet för autentiseringsuppgifter. Den exporterade CLIXML-filen kan inte användas på en annan dator eller av en annan användare.

I exemplet representeras filen där autentiseringsuppgifterna lagras av TestScript.ps1.credential. Ersätt TestScript- med namnet på skriptet som du läser in autentiseringsuppgifterna med.

Du skickar autentiseringsobjektet nedåt i pipelinen till Export-Clixmloch sparar det på sökvägen, $Credxmlpath, som du angav i det första kommandot.

Om du vill importera autentiseringsuppgifterna automatiskt till skriptet kör du de två sista kommandona. Kör Import-Clixml för att importera det skyddade autentiseringsobjektet till skriptet. Den här importen eliminerar risken för att exponera oformaterade lösenord i skriptet.

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:jfr

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Depth

Anger hur många nivåer av inneslutna objekt som ingår i XML-representationen. Standardvärdet är 2.

Standardvärdet kan åsidosättas för objekttypen i Types.ps1xml-filerna. Mer information finns i about_Types.ps1xml.

Parameteregenskaper

Typ:Int32
Standardvärde:2
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Encoding

Anger typen av kodning för målfilen. Standardvärdet är Unicode.

Godkända värden för den här parametern är följande:

  • ASCII Använder ASCII-teckenuppsättning (7-bitars).
  • BigEndianUnicode använder UTF-16 med den stora byteordningen.
  • Default Använder kodningen som motsvarar systemets aktiva kodsida (vanligtvis ANSI).
  • OEM Använder kodningen som motsvarar systemets aktuella OEM-kodsida.
  • Unicode Använder UTF-16 med byteordningen "little-endian".
  • UTF7 använder UTF-7.
  • UTF8 använder UTF-8.
  • UTF32 använder UTF-32 med lite endiansk byteordning.

Parameteregenskaper

Typ:String
Standardvärde:Unicode
Godkända värden:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Force

Tvingar kommandot att köras utan att be om användarbekräftelse.

Gör att cmdleten rensar det skrivskyddade attributet för utdatafilen om det behövs. Cmdleten försöker återställa det skrivskyddade attributet när kommandot har slutförts.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-InputObject

Anger det objekt som ska konverteras. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten. Du kan också skicka objekt till Export-Clixml.

Parameteregenskaper

Typ:PSObject
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-LiteralPath

Anger sökvägen till filen där XML-representationen av objektet ska lagras. Till skillnad från Pathanvänds värdet för parametern LiteralPath exakt som den skrivs. Inga tecken tolkas som wildcards. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:PSPath

Parameteruppsättningar

ByLiteralPath
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-NoClobber

Anger att cmdleten inte skriver över innehållet i en befintlig fil. Om en fil finns i den angivna sökvägen skriver Export-Clixml som standard över filen utan förvarning.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:NoOverwrite

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Path

Anger sökvägen till filen där XML-representationen av objektet ska lagras.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ByPath
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-WhatIf

Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Wi

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

PSObject

Du kan pipelines alla objekt till den här cmdleten.

Utdata

FileInfo

Den här cmdleten returnerar ett FileInfo- objekt som representerar den skapade filen med lagrade data.