Export-Clixml
1 つまたは複数のオブジェクトの XML ベースの表現を作成し、ファイルに格納します。
構文
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>]
説明
コマンドレットは Export-Clixml
、オブジェクトを共通言語インフラストラクチャ (CLI) XML ベースの表現にシリアル化し、ファイルに格納します。 その後、コマンドレットを Import-Clixml
使用して、そのファイルの内容に基づいて保存されたオブジェクトを再作成できます。 CLI の詳細については、「言語の独立」を参照してください。
このコマンドレットは、 ConvertTo-Xml
結果の XML をファイルに格納する点 Export-Clixml
を除いて、同様です。 ConvertTo-XML
は XML を返すので、PowerShell で引き続き処理できます。
Windows コンピューターでは、資格情報とセキュリティで保護された文字列を XML として安全にエクスポートすることが重要 Export-Clixml
です。 例については、例 3 を参照してください。
例
例 1: XML ファイルに文字列をエクスポートする
この例では、現在のディレクトリに格納される XML ファイルを作成します。文字列 の表現です。これはテストです。
"This is a test" | Export-Clixml -Path .\sample.xml
文字列 This is a test
はパイプラインに送信されます。 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
、ファイルのセキュリティ記述子を Test.txt
取得します。 セキュリティ記述子を渡すために、パイプラインの下にオブジェクトを Export-Clixml
送信します。 オブジェクトの XML ベースの表現は、という名前 FileACL.xml
のファイルに格納されます。
このコマンドレットは Import-Clixml
、ファイル内の XML からオブジェクトを FileACL.xml
作成します。 次に、オブジェクトを変数に $fileacl
保存します。
例 3: エクスポートされた資格情報オブジェクトを暗号化する
この例では、コマンドレットを実行Get-Credential
して変数に$Credential
格納した資格情報を指定すると、コマンドレットをExport-Clixml
実行して資格情報をディスクに保存できます。
重要
Export-Clixml
は、Windows で暗号化された資格情報のみをエクスポートします。 macOS や Linux などの Windows 以外のオペレーティング システムでは、資格情報は Unicode 文字配列として格納されたプレーン テキストとしてエクスポートされます。 これにより、いくつかの難読化が提供されますが、暗号化は提供されません。
$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
、Windows Data Protection API を使用して資格情報オブジェクトを暗号化します。 暗号化により、そのコンピューター上のユーザー アカウントのみが資格情報オブジェクトの内容の暗号化を解除できるようになります。
エクスポートされた CLIXML
ファイルは、別のコンピューターや別のユーザーで使用することはできません。
この例では、資格情報が格納されているファイルは TestScript.ps1.credential
. TestScript を、資格情報を読み込むスクリプトの名前に置き換えます。
パイプラインの下に資格情報オブジェクトを Export-Clixml
送信し、 $Credxmlpath
最初のコマンドで指定したパスに保存します。
資格情報をスクリプトに自動的にインポートするには、最後の 2 つのコマンドを実行します。 実行 Import-Clixml
して、セキュリティで保護された資格情報オブジェクトをスクリプトにインポートします。 このインポートにより、スクリプト内のプレーンテキスト パスワードが公開されるリスクがなくなります。
パラメーター
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Depth
XML 表現に含める子オブジェクトのレベルを指定します。 既定値は 2
です。
ファイル内 Types.ps1xml
のオブジェクト型の既定値をオーバーライドできます。 詳細については、「about_Types.ps1xml」を参照 してください。
Type: | Int32 |
Position: | Named |
Default value: | 2 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encoding
ターゲット ファイルのエンコードの種類を指定します。 既定値は Unicode です。
このパラメーターに使用できる値は次のとおりです。
ASCII
ASCII (7 ビット) 文字セットを使用します。BigEndianUnicode
ビッグ エンディアンバイト順で UTF-16 を使用します。Default
システムのアクティブなコード ページ (通常は ANSI) に対応するエンコードを使用します。OEM
システムの現在の OEM コード ページに対応するエンコードを使用します。Unicode
リトル エンディアン バイト順で UTF-16 を使用します。UTF7
UTF-7 を使用します。UTF8
UTF-8 を使用します。UTF32
リトル エンディアンバイト順で UTF-32 を使用します。
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
ユーザーに確認せずに、直ちにコマンドを実行します。
必要に応じて、このコマンドレットは出力ファイルの読み取り専用の属性をクリアします。 コマンドが完了すると、このコマンドレットが読み取り専用の属性をリセットしようとします。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
変換するオブジェクトを指定します。 オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。 オブジェクトをパイプ処理することもできます Export-Clixml
。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
オブジェクトの XML 表現が格納されるファイルへのパスを指定します。 Path とは異なり、LiteralPath パラメーターの値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoClobber
コマンドレットが既存のファイルの内容を上書きしないことを示します。 既定では、指定したパスにファイルが存在する場合は、 Export-Clixml
警告なしでファイルを上書きします。
Type: | SwitchParameter |
Aliases: | NoOverwrite |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
オブジェクトの XML 表現が格納されるファイルへのパスを指定します。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
任意のオブジェクトをこのコマンドレットにパイプライン処理できます。
出力
このコマンドレットは、保存されたデータを 含む作成されたファイルを表す FileInfo オブジェクトを返します。
関連リンク
PowerShell
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示