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.0
の1.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 |
入力
への Import-Clixml
パスを含む文字列をパイプライン処理できます。
出力
PSObject
Import-Clixml
は、格納されている XML ファイルから逆シリアル化されたオブジェクトを返します。
メモ
パラメーターの複数の値を指定する場合は、コンマを使用して値を区切ります。 たとえば、「 <parameter-name> <value1>, <value2>
」のように入力します。