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
コマンドは、ForEach-Object
コマンドレットの Process パラメーターで必要に応じて、中かっこ ({}
) で囲まれたスクリプト ブロックとして書式設定されます。
例 3: 履歴の末尾にコマンドを追加する
次の使用例は、履歴の最初の 5 つのコマンドを履歴リストの末尾に追加します。
Get-History -Id 5 -Count 5 | Add-History
Get-History
コマンドレットは、コマンド 5 で終わる 5 つのコマンドを取得します。 パイプライン演算子は、それらを Add-History
コマンドレットに渡し、現在の履歴に追加します。 Add-History
コマンドにはパラメーターは含まれませんが、PowerShell はパイプラインを介して渡されたオブジェクトを、Add-History
の InputObject パラメーターに関連付けます。
例 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
コマンドレットに渡します。 最初に実行されるかっこ内のコマンドは、history.xml
ファイルを PowerShell にインポートします。 その後、Add-History
コマンドレットによって、ファイル内のコマンドがセッション履歴に追加されます。
パラメーター
-InputObject
セッション履歴に HistoryInfo オブジェクトとして追加されるエントリの配列を指定します。 このパラメーターを使用すると、HistoryInfo オブジェクト (Get-History
、Import-Clixml
、または 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
コマンドは、HistoryInfo オブジェクトのみを受け入れます。たとえば、Get-History
コマンドレットによって各コマンドに対して返されるオブジェクトなどです。 パスとファイル名、またはコマンドの一覧を渡すことはできません。
InputObject パラメーターを使用して、HistoryInfo オブジェクトのファイルを渡すことができます Add-History
。 これを行うには、Export-Csv
または Export-Clixml
コマンドレットを使用して Get-History
コマンドの結果をファイルにエクスポートし、Import-Csv
または Import-Clixml
コマンドレットを使用してファイルをインポートします。 その後、インポートされた HistoryInfo オブジェクトのファイルを、パイプラインまたは変数を介して Add-History
に渡すことができます。 詳細については、例を参照してください。
Add-History
コマンドレットに渡す HistoryInfo オブジェクトのファイルには、型情報、列見出し、および HistoryInfo オブジェクトのすべてのプロパティが含まれている必要があります。 オブジェクトを Add-History
に渡す場合は、Export-Csv
コマンドレットの NoTypeInformation パラメーターを使用しないでください。また、ファイル内の型情報、列見出し、フィールドは削除しないでください。
セッション履歴を変更するには、セッションを CSV または XML ファイルにエクスポートし、ファイルを変更してファイルをインポートし、Add-History
を使用して現在のセッション履歴に追加します。
関連リンク
PowerShell