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-Clixml
Get-History
Import-Csv
Add-History
返されるオブジェクトなど) を送信できます。
型: | PSObject[] |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-PassThru
このコマンドレットは、各履歴エントリの HistoryInfo オブジェクトを返します。 既定では、このコマンドレットによる出力はありません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
HistoryInfo オブジェクトをこのコマンドレットにパイプできます。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットは HistoryInfo オブジェクトを返します。
メモ
セッション履歴は、セッション中に入力されたコマンドと ID の一覧です。 セッション履歴は、実行の順序、状態、コマンドの開始時刻と終了時刻を表します。 各コマンドを入力すると、PowerShell によって履歴に追加され、再利用できるようになります。 セッション履歴の詳細については、「about_History」を参照してください。
履歴に追加するコマンドを指定するには、InputObject パラメーターを使用します。 このコマンドはAdd-History
、コマンドレットによって各コマンドに対してGet-History
返されるオブジェクトなど、HistoryInfo オブジェクトのみを受け入れます。 パスとファイル名、またはコマンドの一覧を渡すことはできません。
InputObject パラメーターを使用して、HistoryInfo オブジェクトAdd-History
のファイルを . これを行うには、コマンドの結果をGet-History
コマンドレットを使用してExport-Clixml
Export-Csv
ファイルにエクスポートし、またはコマンドレットを使用してファイルをImport-Csv
Import-Clixml
インポートします。 その後、インポートされた HistoryInfo オブジェクトのファイルを Add-History
パイプラインまたは変数に渡すことができます。 詳細については、 例 を参照してください。
コマンドレットにAdd-History
渡す HistoryInfo オブジェクトのファイルには、種類情報、列見出し、HistoryInfo オブジェクトのすべてのプロパティが含まれている必要があります。 オブジェクトを戻Add-History
す場合は、コマンドレットの NoTypeInformation パラメーターExport-Csv
を使用しないでください。また、型情報、列見出し、またはファイル内のフィールドは削除しないでください。
セッション履歴を変更するには、セッションを CSV または XML ファイルにエクスポートし、ファイルを変更してファイルをインポートし、それを使用 Add-History
して現在のセッション履歴に追加します。
関連リンク
PowerShell