次の方法で共有


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 c:\testing\history.csv -IncludeTypeInformation
Import-Csv c:\testing\history.csv | Add-History

最初のコマンドは、履歴内のコマンドを表すオブジェクトを取得し、ファイルに History.csv エクスポートします。

2 番目のコマンドは、別のセッションのコマンド ラインで入力します。 コマンドレットを Import-Csv 使用して、ファイル内のオブジェクトを History.csv インポートします。 パイプライン演算子 (|) は、 オブジェクトを コマンドレットに Add-History 渡します。これにより、ファイル内のコマンドを表すオブジェクトが History.csv 現在のセッション履歴に追加されます。

例 2: コマンドのインポートと実行

次の使用例は、ファイルからコマンドを History.xml インポートし、それらを現在のセッション履歴に追加してから、結合された履歴でコマンドを実行します。

Import-Clixml 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 はパイプラインを介して渡されたオブジェクトを の Add-HistoryInputObject パラメーターに関連付けます。

例 4: .csv ファイル内のコマンドを現在の履歴に追加する

次の使用例は、ファイル内のコマンドを History.csv 現在のセッション履歴に追加します。

$a = Import-Csv 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 c:\temp\history.xml)

InputObject パラメーターは、コマンドの結果をかっこで囲んでコマンドレットにAdd-History渡します。 最初に実行されるかっこ内のコマンドは、ファイルを history.xml PowerShell にインポートします。 次に、 コマンドレットによって Add-History 、ファイル内のコマンドがセッション履歴に追加されます。

パラメーター

-InputObject

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

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

出力

None or Microsoft.PowerShell.Commands.HistoryInfo

PassThru パラメーターを指定した場合、このコマンドレットは HistoryInfo オブジェクトを返します。 それ以外の場合、このコマンドレットによる出力はありません。

メモ

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

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

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

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

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