共用方式為


Export-Clixml

建立物件或物件的 XML 型表示法,並將其儲存在檔案中。

語法

ByPath (預設值)

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

Export-Clixml Cmdlet 會建立物件或物件的 Common Language Infrastructure (CLI) XML 型表示法,並將其儲存在檔案中。 接著,您可以使用 Import-Clixml Cmdlet,根據該檔案的內容重新建立儲存的物件。 如需有關 CLI 的更多資訊,請參閱 語言獨立性

此 Cmdlet 類似於 ConvertTo-Xml,不同之處在於 Export-Clixml 會將產生的 XML 儲存在檔案中。 ConvertTo-XML 傳回 XML,因此您可以在 PowerShell 中繼續處理它。

在 Windows 電腦上使用 Export-Clixml 的一個有用的功能,是將憑證和安全字串安全地匯出為 XML。 如需範例,請參閱範例 3。

範例

範例 1:將字串匯出至 XML 檔案

這個範例建立了一個 XML 檔案,儲存在目前目錄中,並表示字串 這是測試

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

字串 這是傳送至管線的測試Export-Clixml 會使用 Path 參數,在目前目錄中建立名為 sample.xml 的 XML 檔案。

範例 2:將物件匯出至 XML 檔案

這個範例示範如何將對象匯出至 XML 檔案,然後從檔案匯入 XML 來建立 物件。

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

Get-Acl Cmdlet 會取得 Test.txt 檔案的安全性描述元。 它會將物件傳送到管線,以便將安全描述傳遞到 Export-Clixml。 物件的 XML 表示法會儲存在名為 FileACL.xml的檔案中。

Import-Clixml Cmdlet 會從 FileACL.xml 檔案中的 XML 建立 物件。 然後,它會將 物件儲存在 $fileacl 變數中。

範例 3:加密導出的認證物件

在此範例中,假設您已藉由執行 $Credential Cmdlet,將認證儲存在 Get-Credential 變數中,您可以執行 Export-Clixml Cmdlet,將認證儲存至磁碟。

這很重要

Export-Clixml 只會匯出 Windows 上的加密認證。 在macOS和Linux等非 Windows 作業系統上,認證會以純文字匯出。

$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

Export-Clixml Cmdlet 會使用 Windows 資料保護 API來加密認證物件。 加密可確保只有該電腦上的用戶帳戶才能解密認證對象的內容。 導出的 CLIXML 檔案不能在不同的計算機上或由不同的使用者使用。

在此範例中,儲存認證的檔案會以 TestScript.ps1.credential表示。 用您正在使用的腳本名稱取代 TestScript,以載入認證。

您將認證物件傳送至 Export-Clixml管線,並將其儲存到您在第一個命令中指定的路徑 $Credxmlpath

若要自動將認證匯入腳本,請執行最後兩個命令。 執行 Import-Clixml,將受保護的認證物件匯入腳本中。 此匯入可消除在您的文稿中公開純文字密碼的風險。

參數

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:cf

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Depth

指定在 XML 表示中包含多少層次的嵌套物件。 預設值是 2

可以在 Types.ps1xml 檔案中為物件類型覆寫預設值。 如需詳細資訊,請參閱 about_Types.ps1xml

參數屬性

類型:Int32
預設值:2
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Encoding

指定目標檔案的編碼類型。 預設值為 Unicode

此參數可接受的值如下:

  • ASCII 使用 ASCII (7 位) 字元集。
  • BigEndianUnicode 使用 UTF-16 與 big-endian 位元組順序。
  • 預設 使用對應至系統使用中代碼頁的編碼方式(通常是 ANSI)。
  • OEM 使用對應至系統目前 OEM 代碼頁的編碼方式。
  • Unicode 使用 UTF-16 搭配位元組順序。
  • UTF7 使用 UTF-7。
  • UTF8 使用 UTF-8。
  • UTF32 使用 UTF-32 搭配位元組順序。

參數屬性

類型:String
預設值:Unicode
接受的值:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Force

強制命令執行,而不要求使用者確認。

必要時,Cmdlet 會清除輸出檔的唯讀屬性。 Cmdlet 會在命令完成時嘗試重設只讀屬性。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-InputObject

指定要轉換的物件。 輸入包含 物件的變數,或輸入取得物件的命令或表達式。 您也可以使用管線將物件傳送至 Export-Clixml

參數屬性

類型:PSObject
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:True
來自管線的值:True
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-LiteralPath

指定將儲存物件之 XML 表示的檔案路徑。 與 Path不同,LiteralPath 參數的值會被按照輸入時的格式原樣使用。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知PowerShell不要將任何字元解譯為逸出序列。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False
別名:PSPath

參數集

ByLiteralPath
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-NoClobber

指出 Cmdlet 不會覆寫現有檔案的內容。 根據預設,如果檔案存在於指定的路徑中,Export-Clixml 會覆寫檔案而不發出警告。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:NoOverwrite

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Path

指定將儲存物件之 XML 表示的檔案路徑。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ByPath
Position:0
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 該 Cmdlet 未被執行。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:無線

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸入

PSObject

您可以將任何物件管線至 Export-Clixml

輸出

FileInfo

Export-Clixml 會建立包含 XML 的檔案。