Export-Clixml
Crea una rappresentazione basata su XML di un oggetto o di oggetti e la archivia in un file.
Sintassi
ByPath (Impostazione predefinita)
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>]
Descrizione
Il cmdlet Export-Clixml ha serializzato un oggetto in una rappresentazione basata su XML dell'interfaccia della riga di comando (Common Language Infrastructure) lo archivia in un file. È quindi possibile usare il cmdlet Import-Clixml per ricreare l'oggetto salvato in base al contenuto del file. Per altre informazioni sull'interfaccia della riga di comando, vedere indipendenza del linguaggio .
Questo cmdlet è simile a ConvertTo-Xml, ad eccezione del fatto che Export-Clixml archivia il codice XML risultante in un file.
ConvertTo-Xml restituisce il codice XML, quindi è possibile continuare a elaborarlo in PowerShell.
Un utile uso di Export-Clixml nei computer Windows consiste nell'esportare le credenziali e proteggere le stringhe in modo sicuro come XML. Per un esempio, vedere Esempio 3.
Esempio
Esempio 1: Esportare una stringa in un file XML
In questo esempio viene creato un file XML archiviato nella directory corrente, una rappresentazione della stringa Si tratta di un test.
"This is a test" | Export-Clixml -Path .\sample.xml
La stringa This is a test viene inviata alla pipeline.
Export-Clixml usa il parametro Path per creare un file XML denominato sample.xml nella directory corrente.
Esempio 2: Esportare un oggetto in un file XML
In questo esempio viene illustrato come esportare un oggetto in un file XML e quindi creare un oggetto importando il codice XML dal file.
Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml
Il cmdlet Get-Acl ottiene il descrittore di sicurezza del file di Test.txt. Invia l'oggetto verso il basso nella pipeline per passare il descrittore di sicurezza a Export-Clixml. La rappresentazione basata su XML dell'oggetto viene archiviata in un file denominato FileACL.xml.
Il cmdlet Import-Clixml crea un oggetto dal codice XML nel file FileACL.xml. Salva quindi l'oggetto nella variabile $fileacl.
Esempio 3: Crittografare un oggetto credenziale esportato
In questo esempio, data una credenziale archiviata nella variabile $Credential eseguendo il cmdlet Get-Credential, è possibile eseguire il cmdlet Export-Clixml per salvare le credenziali su disco.
Importante
Export-Clixml esporta solo le credenziali crittografate in Windows. Nei sistemi operativi non Windows, ad esempio macOS e Linux, le credenziali vengono esportate come testo normale archiviato come matrice di caratteri Unicode. In questo modo si ottiene un po' di offuscamento, ma non fornisce la crittografia.
$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
Il cmdlet Export-Clixml crittografa gli oggetti credenziali usando l'API Protezione dati di Windows . La crittografia garantisce che solo l'account utente in tale computer possa decrittografare il contenuto dell'oggetto credenziale.
Il file CLIXML esportato non può essere usato in un computer diverso o da un altro utente.
Nell'esempio il file in cui vengono archiviate le credenziali è rappresentato da TestScript.ps1.credential. Sostituire testScript con il nome dello script con cui si sta caricando la credenziale.
Inviare l'oggetto credenziale verso il basso nella pipeline per Export-Clixmle salvarlo nel percorso, $Credxmlpath, specificato nel primo comando.
Per importare automaticamente le credenziali nello script, eseguire i due comandi finali. Eseguire Import-Clixml per importare l'oggetto credenziale protetto nello script. Questa importazione elimina il rischio di esporre le password in testo normale nello script.
Parametri
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | cfr |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Depth
Specifica il numero di livelli di oggetti contenuti inclusi nella rappresentazione XML. Il valore predefinito è 2.
È possibile eseguire l'override del valore predefinito per il tipo di oggetto nei file Types.ps1xml. Per altre informazioni, vedere about_Types.ps1xml.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | 2 |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Encoding
Specifica il tipo di codifica per il file di destinazione. Il valore predefinito è Unicode.
I valori accettabili per questo parametro sono i seguenti:
-
ASCIIusa il set di caratteri ASCII (a 7 bit). -
BigEndianUnicodeusa UTF-16 con l'ordine dei byte "big-endian". -
DefaultUsa la codifica corrispondente alla tabella codici attiva del sistema (in genere ANSI). -
OEMUsa la codifica corrispondente alla tabella codici OEM corrente del sistema. -
Unicodeusa UTF-16 con l'ordine dei byte little-endian. -
UTF7usa UTF-7. -
UTF8usa UTF-8. -
UTF32utilizza UTF-32 con l'ordine dei byte in formato little-endian.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | Unicode |
| Valori accettati: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Force
Forza l'esecuzione del comando senza chiedere conferma dell'utente.
Fa in modo che il cmdlet cancella l'attributo di sola lettura del file di output, se necessario. Il cmdlet tenterà di reimpostare l'attributo di sola lettura al termine del comando.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-InputObject
Specifica l'oggetto da convertire. Immettere una variabile contenente gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti . È anche possibile inviare oggetti tramite pipe a Export-Clixml.
Proprietà dei parametri
| Tipo: | PSObject |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-LiteralPath
Specifica il percorso del file in cui verrà archiviata la rappresentazione XML dell'oggetto. A differenza di
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | PSPath |
Set di parametri
ByLiteralPath
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-NoClobber
Indica che il cmdlet non sovrascrive il contenuto di un file esistente. Per impostazione predefinita, se nel percorso specificato esiste un file, Export-Clixml sovrascrive il file senza avviso.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | NoOverwrite |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Path
Specifica il percorso del file in cui verrà archiviata la rappresentazione XML dell'oggetto.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
ByPath
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Wi |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
PSObject
È possibile eseguire la pipeline di qualsiasi oggetto in questo cmdlet.
Output
FileInfo
Questo cmdlet restituisce un oggetto FileInfo che rappresenta il file creato con i dati archiviati.