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 オブジェクトとしてセッション履歴に追加するエントリの配列を指定します。 このパラメーターを使用すると、HistoryInfo オブジェクト (コマンドレットによって Import-ClixmlGet-HistoryImport-CsvAdd-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

HistoryInfo オブジェクトをこのコマンドレットにパイプできます。

出力

None

既定では、このコマンドレットは出力を返しません。

HistoryInfo

PassThru パラメーターを使用すると、このコマンドレットは HistoryInfo オブジェクトを返します。

メモ

セッション履歴は、セッション中に入力されたコマンドと ID の一覧です。 セッション履歴は、実行の順序、状態、コマンドの開始時刻と終了時刻を表します。 各コマンドを入力すると、PowerShell によって履歴に追加され、再利用できるようになります。 セッション履歴の詳細については、「about_History」を参照してください

履歴に追加するコマンドを指定するには、InputObject パラメーターを使用します。 このコマンドはAdd-History、コマンドレットによって各コマンドに対してGet-History返されるオブジェクトなど、HistoryInfo オブジェクトのみを受け入れます。 パスとファイル名、またはコマンドの一覧を渡すことはできません。

InputObject パラメーターを使用して、HistoryInfo オブジェクトAdd-Historyファイルを . これを行うには、コマンドの結果をGet-Historyコマンドレットを使用してExport-ClixmlExport-Csvファイルにエクスポートし、またはコマンドレットを使用してファイルをImport-CsvImport-Clixmlインポートします。 その後、インポートされた HistoryInfo オブジェクトのファイルを Add-History パイプラインまたは変数に渡すことができます。 詳細については、 例 を参照してください。

コマンドレットにAdd-History渡す HistoryInfo オブジェクトのファイルには、種類情報、列見出し、HistoryInfo オブジェクトのすべてのプロパティが含まれている必要があります。 オブジェクトを戻Add-Historyす場合は、コマンドレットの NoTypeInformation パラメーターExport-Csvを使用しないでください。また、型情報、列見出し、またはファイル内のフィールドは削除しないでください。

セッション履歴を変更するには、セッションを CSV または XML ファイルにエクスポートし、ファイルを変更してファイルをインポートし、それを使用 Add-History して現在のセッション履歴に追加します。