Export-FormatData
現在のセッションの書式設定データを書式設定ファイルに保存します。
構文
Export-FormatData [-Force] [-IncludeScriptBlock] [-InputObject <ExtendedTypeDefinition[]>] [-NoClobber] [-Path <string>] [<CommonParameters>]
説明
Export-FormatData コマンドレットは、現在のセッションの書式設定オブジェクトから Windows PowerShell 書式設定ファイル (format.ps1xml) を作成します。Get-FormatData が返す ExtendedTypeDefinition オブジェクトを受け取り、それを XML 形式でファイルに保存します。
Windows PowerShell のセッションでは、書式設定ファイル (format.ps1xml) のデータを使用して、Microsoft .NET Framework オブジェクトの既定の表示が生成されます。書式設定ファイルは必要に応じて表示、編集したり、Update-FormatData コマンドレットを使用して書式設定データをセッションに追加したりできます。
Windows PowerShell の書式設定ファイルの詳細については、「about_Format.ps1xml」を参照してください。
パラメーター
-Force
ファイルに読み取り専用属性が設定されている場合でも、既存の出力ファイルを上書きします。
必須 |
false |
位置 |
named |
既定値 |
False |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-IncludeScriptBlock
書式データとしてスクリプト ブロックをエクスポートするかどうかを決定します。
スクリプト ブロックにはコードが含まれており、悪用される可能性があることから、既定ではエクスポートされません。
必須 |
false |
位置 |
named |
既定値 |
False |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-InputObject <ExtendedTypeDefinition[]>
エクスポート対象の書式データ オブジェクトを指定します。オブジェクトを含んでいる変数か、オブジェクトを取得するコマンド (Get-FormatData コマンドなど) を入力します。パイプを使用して Get-FormatData から Export-FormatData にオブジェクトを渡すこともできます。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
true (ByValue) |
ワイルドカード文字を許可する |
false |
-NoClobber
既存のファイルの上書きを防止します。既定では、ファイルに読み取り専用属性が設定されていない限り、Export-FormatData は、警告なしでファイルを上書きします。
Export-FormatData で読み取り専用のファイルを強制的に上書きするには、Force パラメーターを使用します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Path <string>
出力ファイルの場所を指定します。パス (オプション) とファイル名を、format.ps1xml というファイル名拡張子を付けて入力します。パスを省略した場合は、Export-FormatData によって、現在のディレクトリにファイルが作成されます。
.ps1xml 以外のファイル名拡張子を使用した場合、Update-FormatData コマンドレットによってファイルが認識されません。
既存のファイルが指定された場合、そのファイルに読み取り専用属性が設定されていない限り、Export-FormatData は警告なしでファイルを上書きします。読み取り専用ファイルを上書きするには、Force パラメーターを使用します。ファイルの上書きを防止するには、NoClobber パラメーターを使用します。
必須 |
false |
位置 |
named |
既定値 |
なし |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.Management.Automation.ExtendedTypeDefinition パイプを使用して ExtendedTypeDefinition オブジェクトを Get-FormatData から Export-FormatData に渡すことができます。 |
出力 |
なし Export-FormatData はオブジェクトを返しません。ファイルを生成し、指定されたパスに保存します。 |
注
書式設定ファイル (エクスポートした書式設定ファイルを含む) を使用するには、セッションの実行ポリシーで、スクリプトと構成ファイルの実行が許可されている必要があります。詳細については、「about_Execution_Policies」を参照してください。
例 1
C:\PS>get-formatdata -typename * | export-formatdata -path allformat.ps1xml -IncludeScriptBlock
説明
-----------
このコマンドは、セッションのすべての書式データを AllFormat.ps1xml ファイルにエクスポートします。
このコマンドは、Get-FormatData コマンドレットを使用して、セッションの書式データを取得します。TypeName パラメーターの値にアスタリスク (*) を指定すると、セッションのすべてのデータが取得されます。
このコマンドでは、書式データがパイプライン演算子 (|) で Get-FormatData コマンドから Export-FormatData コマンドレットに渡され、AllFormat.ps1 ファイルにエクスポートされます。
Export-FormatData コマンドは、IncludeScriptBlock パラメーターを使用して、ファイル内の書式データにスクリプト ブロックを追加します。
例 2
C:\PS>$f = get-formatdata -typename helpinfoshort
C:\PS> export-formatdata -inputObject $f -path c:\test\help.format.ps1xml -IncludeScriptBlock
説明
-----------
これらのコマンドは、HelpInfoShort 型の書式データを Help.format.ps1xml ファイルにエクスポートします。
最初のコマンドは Get-FormatData コマンドレットを使用して HelpInfoShort 型の書式データを取得し、それを $f 変数に保存します。
2 番目のコマンドは、Export-FormatData の InputObject パラメーターを使用して、$f 変数に保存されている書式データを入力します。また、出力にスクリプト ブロックを含めるために、IncludeScriptBlock パラメーターが使用されています。
例 3
C:\PS>get-formatdata -typename System.Diagnostics.Process | export-FormatData -path process.format.ps1xml
C:\PS> Update-FormatData -prependPath .\process.format.ps1xml
C:\PS> get-process p*
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
323 5600 powershell
336 3900 powershell_ise
138 4076 PresentationFontCache
説明
-----------
この例は、Export-FormatData コマンドから IncludeScriptBlock パラメーターを省略することによる影響を示しています。
最初のコマンドは、Get-Process コマンドレットが返す System.Diagnostics.Process オブジェクトの書式データを、Get-FormatData コマンドレットを使用して取得します。書式設定データはパイプライン演算子 (|) で Export-FormatData コマンドレットに送られ、現在のディレクトリにある Process.format.ps1xml ファイルにエクスポートされます。
この場合、Export-FormatData コマンドに、IncludeScriptBlock パラメーターは使用されていません。
2 つ目のコマンドは、Update-FormatData コマンドレットを使用して、Process.format.ps1xml ファイルを現在のセッションに追加します。PrependPath パラメーターを使用して、Process.format.ps1xml ファイルにあるプロセス オブジェクトの書式設定データが、プロセス オブジェクトの標準の書式設定データよりも先に見つかるようにしてします。
3 番目のコマンドは、この変更による影響を示しています。Get-Process コマンドレットを使用して、名前が "P" で始まるプロセスを取得します。この出力を見ると、スクリプト ブロックを使って計算されるプロパティ値が表示から欠落していることがわかります。