Add-History
セッションの履歴にエントリを追加します。
構文
Add-History
[[-InputObject] <PSObject[]>]
[-Passthru]
[<CommonParameters>]
説明
コマンドレットは Add-History
、セッション履歴の最後にエントリを追加します。つまり、現在のセッション中に入力されたコマンドの一覧です。
セッション履歴は、セッション中に入力したコマンドの一覧です。 セッション履歴は、実行の順序、状態、コマンドの開始時刻と終了時刻を表します。 各コマンドを入力すると、PowerShell によって履歴に追加され、再利用できるようになります。 セッション履歴の詳細については、「 about_History」を参照してください。
セッション履歴は、 PSReadLine モジュールによって管理される履歴とは別に管理されます。 両方の履歴は、 PSReadLine が読み込まれるセッションで使用できます。 このコマンドレットは、セッション履歴でのみ機能します。 詳細については、「 about_PSReadLine」を参照してください。
コマンドレットを Get-History
使用すると、コマンドを取得して に Add-History
渡すことができます。または、コマンドを CSV または XML ファイルにエクスポートしてから、コマンドをインポートして、インポートしたファイルを に Add-History
渡すことができます。 このコマンドレットを使用して、履歴に特定のコマンドを追加するか、または複数のセッションからのコマンドを含む 1 つの履歴ファイルを作成できます。
例
例 1: 別のセッションの履歴にコマンドを追加する
この例では、1 つの PowerShell セッションに入力されたコマンドを、別の PowerShell セッションの履歴に追加します。
Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History
最初のコマンドは、履歴内のコマンドを表すオブジェクトを取得し、ファイルに History.csv
エクスポートします。
2 番目のコマンドは、別のセッションのコマンド ラインで入力します。 コマンドレットを Import-Csv
使用して、ファイル内のオブジェクトを History.csv
インポートします。 パイプライン演算子 (|
) は オブジェクトを コマンドレットに Add-History
渡します。これにより、ファイル内のコマンドを表すオブジェクトが History.csv
現在のセッション履歴に追加されます。
例 2: コマンドのインポートと実行
次の使用例は、ファイルからコマンドを History.xml
インポートし、それらを現在のセッション履歴に追加してから、結合された履歴でコマンドを実行します。
Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}
最初のコマンドでは、 コマンドレットを Import-Clixml
使用して、ファイルにエクスポートされたコマンド履歴を History.xml
インポートします。 パイプライン演算子は、 コマンドレットにコマンドを Add-History
渡します。これにより、コマンドが現在のセッション履歴に追加されます。 PassThru パラメーターは、追加されたコマンドを表すオブジェクトをパイプラインに渡します。
その後、コマンドは コマンドレットを ForEach-Object
使用して、 Invoke-History
結合された履歴内の各コマンドにコマンドを適用します。 コマンドはInvoke-History
スクリプト ブロックとして書式設定され、コマンドレットの Process パラメーターForEach-Object
で必要に応じて中かっこ ({}
) で囲まれます。
例 3: 履歴の末尾にコマンドを追加する
次の使用例は、履歴の最初の 5 つのコマンドを履歴リストの末尾に追加します。
Get-History -Id 5 -Count 5 | Add-History
コマンドレットは Get-History
、コマンド 5 で終わる 5 つのコマンドを取得します。 パイプライン演算子は、それらをコマンドレットに Add-History
渡し、現在の履歴に追加します。 コマンドには Add-History
パラメーターは含まれませんが、PowerShell はパイプラインを介して渡されたオブジェクトを の InputObject パラメーター Add-History
に関連付けます。
例 4: .csv ファイル内のコマンドを現在の履歴に追加する
次の使用例は、ファイル内のコマンドを History.csv
現在のセッション履歴に追加します。
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
コマンドレットは Import-Csv
、ファイル内のコマンドを History.csv
インポートし、その内容を 変数 $a
に格納します。
2 番目のコマンドでは、 コマンドレットを Add-History
使用して、 の History.csv
コマンドを現在のセッション履歴に追加します。 InputObject パラメーターを使用して変数を$a
指定し、PassThru パラメーターを使用してコマンド ラインに表示するオブジェクトを生成します。 PassThru パラメーターがない場合、Add-History
コマンドレットは出力を生成しません。
例 5: .xml ファイル内のコマンドを現在の履歴に追加する
次の使用例は、ファイル内のコマンドを history.xml
現在のセッション履歴に追加します。
Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)
InputObject パラメーターは、コマンドの結果をかっこで囲んでコマンドレットにAdd-History
渡します。 最初に実行されるかっこ内のコマンドは、PowerShell にファイルを history.xml
インポートします。 次に、 コマンドレットによって Add-History
、ファイル内のコマンドがセッション履歴に追加されます。
パラメーター
-InputObject
履歴に追加するエントリの配列を、セッション履歴に HistoryInfo オブジェクトとして指定します。
このパラメーターを使用すると、、Import-Clixml
、または Import-Csv
コマンドレットによってGet-History
返されるなど、HistoryInfo オブジェクトを にAdd-History
送信できます。
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Passthru
このコマンドレットは、各履歴エントリの HistoryInfo オブジェクトを返します。 既定では、このコマンドレットによる出力はありません。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
HistoryInfo オブジェクトをこのコマンドレットにパイプできます。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットは HistoryInfo オブジェクトを返します。
メモ
セッション履歴は、セッション中に入力されたコマンドと ID の一覧です。 セッション履歴は、実行の順序、状態、コマンドの開始時刻と終了時刻を表します。 各コマンドを入力すると、PowerShell によって履歴に追加され、再利用できるようになります。 セッション履歴の詳細については、「 about_History」を参照してください。
履歴に追加するコマンドを指定するには、InputObject パラメーターを使用します。 コマンドはAdd-History
、コマンドレットによってGet-History
コマンドごとに返されるなど、HistoryInfo オブジェクトのみを受け入れます。 パスとファイル名、またはコマンドの一覧を渡すことはできません。
InputObject パラメーターを使用して、HistoryInfo オブジェクトのファイルを にAdd-History
渡すことができます。 これを行うには、 または コマンドレットをGet-History
使用Export-Csv
してコマンドの結果をファイルにエクスポートし、 または Export-Clixml
コマンドレットを使用してファイルをImport-Csv
Import-Clixml
インポートします。 その後、インポートした HistoryInfo オブジェクトのファイルを Add-History
パイプラインまたは変数に渡すことができます。 詳細については、例を参照してください。
コマンドレットにAdd-History
渡す HistoryInfo オブジェクトのファイルには、種類情報、列見出し、および HistoryInfo オブジェクトのすべてのプロパティを含める必要があります。 オブジェクトを に Add-History
渡す場合は、コマンドレットの NoTypeInformation パラメーターを Export-Csv
使用しないでください。また、型情報、列見出し、またはファイル内のフィールドは削除しないでください。
セッション履歴を変更するには、セッションを CSV または XML ファイルにエクスポートし、ファイルを変更し、ファイルをインポートして、それを使用 Add-History
して現在のセッション履歴に追加します。