Share via


Import-Clixml

CLIXML ファイルをインポートし、PowerShell で対応するオブジェクトを作成します。

構文

Import-Clixml
      [-Path] <String[]>
      [-IncludeTotalCount]
      [-Skip <UInt64>]
      [-First <UInt64>]
      [<CommonParameters>]
Import-Clixml
      -LiteralPath <String[]>
      [-IncludeTotalCount]
      [-Skip <UInt64>]
      [-First <UInt64>]
      [<CommonParameters>]

説明

コマンドレットはImport-Clixml、Microsoft .NET Framework オブジェクトを表すデータを含む共通言語インフラストラクチャ (CLI) XML ファイルをインポートし、PowerShell オブジェクトを作成します。 CLI の詳細については、「 言語の独立性」を参照してください。

Windows コンピューターでの の Import-Clixml 重要な用途は、 を使用してセキュリティで保護された XML としてエクスポートされた資格情報とセキュリティで保護された文字列を Export-Clixmlインポートすることです。 例については、「例 2」を参照してください。

Import-Clixml では、バイトオーダー マーク (BOM) を使用してファイルのエンコード形式を検出します。 ファイルに BOM がない場合、エンコードは UTF8 と見なされます。

例 1: シリアル化されたファイルをインポートし、オブジェクトを再作成する

この例では、 コマンドレットを Export-Clixml 使用して、 によって Get-Process返されるプロセス情報のシリアル化されたコピーを保存します。 Import-Clixml は、シリアル化されたファイルの内容を取得し、 変数に格納されているオブジェクトを $Processes 再作成します。

Get-Process | Export-Clixml -Path .\pi.xml
$Processes = Import-Clixml -Path .\pi.xml

例 2: セキュリティで保護された資格情報オブジェクトをインポートする

この例では、 コマンドレットを実行して変数に$Credential格納した資格情報を指定すると、 コマンドレットをExport-Clixml実行Get-Credentialして資格情報をディスクに保存できます。

重要

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 、Windows Data Protection API を使用して資格情報オブジェクトを暗号化します。 暗号化により、ユーザー アカウントのみが資格情報オブジェクトの内容を暗号化解除できるようになります。 エクスポートされた CLIXML ファイルは、別のコンピューターまたは別のユーザーで使用することはできません。

この例では、資格情報が格納されているファイルは で TestScript.ps1.credential表されます。 TestScript を、資格情報を読み込むスクリプトの名前に置き換えます。

パイプラインの下に資格情報オブジェクトを Export-Clixml送信し、 $Credxmlpath最初のコマンドで指定したパス () に保存します。

資格情報をスクリプトに自動的にインポートするには、最後の 2 つのコマンドを実行します。 を実行 Import-Clixml して、セキュリティで保護された資格情報オブジェクトをスクリプトにインポートします。 このインポートにより、スクリプトでプレーンテキスト パスワードが公開されるリスクがなくなります。

パラメーター

-First

指定された数のオブジェクトのみを取得します。 取得するオブジェクトの数を入力します。

Type:UInt64
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeTotalCount

データ セット内のオブジェクトの合計数を報告し、その後に選択したオブジェクトを報告します。 コマンドレットが合計数を特定できない場合は、 不明な合計数が表示されます。 整数には、合計カウント値の信頼性を示す Accuracy プロパティがあります。 [精度] の値は、 から 0.01.0範囲です0.0。つまり、コマンドレットはオブジェクトをカウントできず、1.0カウントが正確であることを意味し、 と 1.0 の間0.0の値は、信頼性の高い推定値を示します。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

XML ファイルへのパスを指定します。 Path とは異なり、LiteralPath パラメーターの値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、文字をエスケープ シーケンスとして解釈しないように PowerShell に指示します。

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

XML ファイルへのパスを指定します。

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Skip

指定された数のオブジェクトを無視してから、残りのオブジェクトを取得します。 スキップするオブジェクトの数を入力します。

Type:UInt64
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

String

への Import-Clixmlパスを含む文字列をパイプライン処理できます。

出力

PSObject

Import-Clixml は、格納されている XML ファイルから逆シリアル化されたオブジェクトを返します。

メモ

パラメーターの複数の値を指定する場合は、コンマを使用して値を区切ります。 たとえば、「 <parameter-name> <value1>, <value2> 」のように入力します。