Export-Clixml
Tworzy reprezentację obiektu lub obiektów w formacie XML i przechowuje go w pliku.
Składnia
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>]
Opis
Polecenie Export-Clixml
cmdlet serializował obiekt w reprezentacji opartej na języku XML (Common Language Infrastructure) w pliku. Następnie możesz użyć Import-Clixml
polecenia cmdlet , aby ponownie utworzyć zapisany obiekt na podstawie zawartości tego pliku. Aby uzyskać więcej informacji na temat interfejsu wiersza polecenia, zobacz Niezależność języka.
To polecenie cmdlet jest podobne do ConvertTo-Xml
, z tą różnicą, że Export-Clixml
przechowuje wynikowy kod XML w pliku. ConvertTo-XML
zwraca kod XML, aby można było kontynuować jego przetwarzanie w programie PowerShell.
Cennym zastosowaniem na komputerach z Export-Clixml
systemem Windows jest bezpieczne eksportowanie poświadczeń i bezpiecznych ciągów jako XML. Przykład można znaleźć w przykładzie 3.
Przykłady
Przykład 1. Eksportowanie ciągu do pliku XML
W tym przykładzie tworzony jest plik XML, który przechowuje w bieżącym katalogu reprezentację ciągu To jest test.
"This is a test" | Export-Clixml -Path .\sample.xml
Ciąg This is a test
jest wysyłany w dół potoku. Export-Clixml
używa parametru Path do utworzenia pliku XML o nazwie sample.xml
w bieżącym katalogu.
Przykład 2. Eksportowanie obiektu do pliku XML
W tym przykładzie pokazano, jak wyeksportować obiekt do pliku XML, a następnie utworzyć obiekt przez zaimportowanie kodu XML z pliku.
Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml
Polecenie Get-Acl
cmdlet pobiera deskryptor zabezpieczeń Test.txt
pliku. Wysyła obiekt w dół potoku, aby przekazać deskryptor zabezpieczeń do .Export-Clixml
Reprezentacja obiektu oparta na formacie XML jest przechowywana w pliku o nazwie FileACL.xml
.
Polecenie Import-Clixml
cmdlet tworzy obiekt z pliku XML FileACL.xml
. Następnie zapisuje obiekt w zmiennej $fileacl
.
Przykład 3. Szyfrowanie wyeksportowanego obiektu poświadczeń
W tym przykładzie, biorąc pod uwagę poświadczenia przechowywane w zmiennej $Credential
, uruchamiając Get-Credential
polecenie cmdlet, możesz uruchomić Export-Clixml
polecenie cmdlet, aby zapisać poświadczenie na dysku.
Ważne
Export-Clixml
eksportuje tylko zaszyfrowane poświadczenia w systemie Windows. W systemach operacyjnych innych niż Windows, takich jak macOS i Linux, poświadczenia są eksportowane jako zwykły tekst przechowywany jako tablica znaków Unicode. Zapewnia to pewne zaciemnianie, ale nie zapewnia szyfrowania.
$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
Polecenie Export-Clixml
cmdlet szyfruje obiekty poświadczeń przy użyciu interfejsu API ochrony danych systemu Windows. Szyfrowanie gwarantuje, że tylko konto użytkownika na tym komputerze może odszyfrować zawartość obiektu poświadczeń.
Wyeksportowany CLIXML
plik nie może być używany na innym komputerze lub przez innego użytkownika.
W przykładzie plik, w którym przechowywane są poświadczenia, jest reprezentowany przez TestScript.ps1.credential
element . Zastąp ciąg TestScript nazwą skryptu, za pomocą którego ładujesz poświadczenia.
Obiekt poświadczeń jest wysyłany w dół potoku do Export-Clixml
elementu i zapisuje go w ścieżce , $Credxmlpath
określonej w pierwszym poleceniu.
Aby automatycznie zaimportować poświadczenia do skryptu, uruchom dwa ostatnie polecenia. Uruchom polecenie Import-Clixml
, aby zaimportować zabezpieczony obiekt poświadczeń do skryptu. Ten import eliminuje ryzyko ujawnienia haseł w postaci zwykłego tekstu w skrypcie.
Parametry
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Depth
Określa, ile poziomów zawartych obiektów jest uwzględnionych w reprezentacji XML. Domyślna wartość to 2
.
Wartość domyślna może zostać zastąpiona dla typu obiektu w plikach Types.ps1xml
. Aby uzyskać więcej informacji, zobacz about_Types.ps1xml.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | 2 |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Encoding
Określa typ kodowania dla pliku docelowego. Wartość domyślna to Unicode.
Dopuszczalne wartości tego parametru są następujące:
ASCII
Używa zestawu znaków ASCII (7-bitowego).BigEndianUnicode
Używa formatu UTF-16 z kolejnością bajtów big-endian.Default
Używa kodowania odpowiadającego aktywnej stronie kodu systemu (zwykle ANSI).OEM
Używa kodowania odpowiadającego bieżącej stronie kodowej producenta OEM systemu.Unicode
Używa formatu UTF-16 z kolejnością bajtów little-endian.UTF7
Używa protokołu UTF-7.UTF8
Używa protokołu UTF-8.UTF32
Używa formatu UTF-32 z kolejnością bajtów little-endian.
Typ: | String |
Dopuszczalne wartości: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
Domyślna wartość: | Unicode |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Force
Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika.
Polecenie cmdlet powoduje w razie potrzeby wyczyszczenie atrybutu tylko do odczytu pliku wyjściowego. Polecenie cmdlet podejmie próbę zresetowania atrybutu tylko do odczytu po zakończeniu polecenia.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Określa obiekt, który ma zostać przekonwertowany. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty. Można również przekazać obiekty potokowe do Export-Clixml
obiektu .
Typ: | PSObject |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-LiteralPath
Określa ścieżkę do pliku, w którym będzie przechowywana reprezentacja XML obiektu. W przeciwieństwie do ścieżki, wartość parametru LiteralPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze znaki cudzysłowu informują program PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Typ: | String |
Aliasy: | PSPath |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-NoClobber
Wskazuje, że polecenie cmdlet nie zastępuje zawartości istniejącego pliku. Domyślnie, jeśli plik istnieje w określonej ścieżce, Export-Clixml
zastępuje plik bez ostrzeżenia.
Typ: | SwitchParameter |
Aliasy: | NoOverwrite |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Path
Określa ścieżkę do pliku, w którym będzie przechowywana reprezentacja XML obiektu.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie jest uruchamiane.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Możesz potokować dowolny obiekt do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca obiekt FileInfo reprezentujący utworzony plik z przechowywanymi danymi.