Export-Clixml
Crea una rappresentazione basata su XML degli oggetti e la archivia in un file.
Sintassi
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>]
Descrizione
Il Export-Clixml
cmdlet crea una rappresentazione xml basata su COMMON Language Infrastructure (CLI) di un oggetto o di un oggetto e lo archivia in un file. È quindi possibile usare il Import-Clixml
cmdlet 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, in modo da poter continuare a elaborarlo in PowerShell.
Un uso prezioso 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 Questo è un test.
"This is a test" | Export-Clixml -Path .\sample.xml
La stringa Questo è un test viene inviato alla pipeline. Export-Clixml
utilizza il parametro Path per creare un file XML denominato sample.xml
nella directory corrente.
Esempio 2: Esportare un oggetto in un file XML
Questo esempio mostra come esportare un oggetto in un file XML e quindi creare un oggetto importando l'XML dal file.
Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml
Il Get-Acl
cmdlet ottiene il descrittore di sicurezza del Test.txt
file. 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 Import-Clixml
cmdlet crea un oggetto dal codice XML nel FileACL.xml
file . Salva quindi l'oggetto nella $fileacl
variabile .
Esempio 3: Crittografare un oggetto credenziale esportato
In questo esempio, data una credenziale archiviata nella $Credential
variabile eseguendo il cmdlet , è possibile eseguire il Get-Credential
Export-Clixml
cmdlet 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 in testo normale.
$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 Export-Clixml
cmdlet 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 esportato CLIXML
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 caricano le credenziali.
L'oggetto credenziale viene inviato alla pipeline a Export-Clixml
e salvato 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 la conferma dell'utente prima di eseguire il cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Depth
Specifica il numero di livelli di oggetti contenuti inclusi nella rappresentazione XML. Il valore predefinito è 2
.
Il valore predefinito può essere sottoposto a override per il tipo di oggetto nei Types.ps1xml
file. Per altre informazioni, vedere about_Types.ps1xml.
Type: | Int32 |
Position: | Named |
Default value: | 2 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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:
- ASCII Usa il set di caratteri ASCII (a 7 bit).
- BigEndianUnicode Usa UTF-16 con l'ordine dei byte big-endian.
- Predefinito Usa la codifica corrispondente alla tabella codici attiva del sistema (in genere ANSI).
- OEM Usa la codifica corrispondente alla tabella codici OEM corrente del sistema.
- Unicode Usa UTF-16 con l'ordine dei byte little-endian.
- UTF7 Usa UTF-7.
- UTF8 Usa UTF-8.
- UTF32 Usa UTF-32 con l'ordine dei byte little-endian.
Type: | String |
Accepted values: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
Default value: | Unicode |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Forza l'esecuzione del comando senza chiedere conferma all'utente.
Consente al cmdlet di deselezionare 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifica l'oggetto da convertire. Immettere una variabile che contiene gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti. È anche possibile inviare oggetti tramite pipe a Export-Clixml
.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Specifica il percorso del file in cui verrà archiviata la rappresentazione XML dell'oggetto. A differenza di Path, il valore del parametro LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoClobber
Indica che il cmdlet non sovrascrive il contenuto di un file esistente. Per impostazione predefinita, se un file esiste nel percorso specificato, Export-Clixml
sovrascrive il file senza alcun avviso.
Type: | SwitchParameter |
Aliases: | NoOverwrite |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Specifica il percorso del file in cui verrà archiviata la rappresentazione XML dell'oggetto.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
È possibile eseguire la pipeline di qualsiasi oggetto in Export-Clixml
.
Output
Export-Clixml
crea un file contenente il codice XML.