Add-History
エントリをセッション履歴に追加します。
構文
Add-History [[-InputObject] <PSObject[]>] [-PassThru] [<CommonParameters>]
説明
Add-History コマンドレットは、エントリをセッションの末尾に追加します。セッション履歴とは、現在のセッション中に入力されたコマンドの一覧です。
Get-History コマンドレットを使用すると、コマンドを取得して Add-History に渡すことができます。または、コマンドを CSV ファイルまたは XML ファイルにエクスポートした後、そのコマンドをインポートし、インポートしたファイルを Add-History に渡すことができます。Add-History コマンドレットを使用すると、特定のコマンドを履歴に追加したり、複数のセッションのコマンドを含む単一の履歴ファイルを作成したりすることができます。
パラメーター
-InputObject <PSObject[]>
指定された HistoryInfo オブジェクトをセッション履歴に追加します。このパラメーターを使用すると、Get-History、Import-Clixml、または Import-CSV の HistoryInfo オブジェクトを Add-History に渡すことができます。
必須 |
false |
位置 |
1 |
既定値 |
|
パイプライン入力を許可する |
true (ByValue) |
ワイルドカード文字を許可する |
false |
-PassThru
各履歴エントリに対して履歴オブジェクトを返します。既定では、このコマンドレットによる出力はありません。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
Microsoft.PowerShell.Commands.HistoryInfo パイプを使用して Add-History に HistoryInfo オブジェクトを渡すことができます。 |
出力 |
None または Microsoft.PowerShell.Commands.HistoryInfo Add-History で PassThru パラメーターを使用すると、HistoryInfo オブジェクトが生成されます。それ以外の場合、このコマンドレットによる出力はありません。 |
注
セッション履歴は、セッション中に入力されたコマンドと ID の一覧です。セッション履歴は、コマンドの実行順序、状態、および開始時刻と終了時刻を表します。コマンドを入力するたびに、そのコマンドは Windows PowerShell によって履歴に追加され、再利用できるようになります。セッション履歴の詳細については、「about_History」を参照してください。
履歴に追加するコマンドを指定するには、InputObject パラメーターを使用します。Add-History コマンドが受け入れるのは、HistoryInfo オブジェクト (各コマンドの Get-History によって生成された HistoryInfo オブジェクトなど) のみです。パスとファイル名を渡すことも、コマンドの一覧を渡すこともできません。
-InputObject パラメーターを使用すると、Add-History に HistoryInfo オブジェクトのファイルを渡すことができます。そのためには、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 を使用して現在のセッション履歴に追加します。
例 1
C:\PS>get-history | export-csv c:\testing\history.csv
C:\PS>import-csv history.csv | add-history
説明
-----------
これらのコマンドは、ある Windows PowerShell セッション中に入力されたコマンドを別の Windows PowerShell セッションの履歴に追加します。最初のコマンドは、履歴内のコマンドを表すオブジェクトを取得し、History.csv ファイルにエクスポートします。2 番目のコマンドは、別のセッションのコマンド ラインから入力されています。このコマンドは、Import-Csv コマンドレットを使用して、History.csv ファイルのオブジェクトをインポートします。パイプライン演算子によってオブジェクトが Add-History コマンドレットに渡され、その Add-History コマンドレットが History.csv ファイル内のコマンドを表すオブジェクトを現在のセッション履歴に追加します。
例 2
C:\PS>import-clixml c:\temp\history.xml | add-history -passthru | foreach-object {invoke-history}
説明
-----------
このコマンドは、History.xml ファイル内のコマンドをインポートし、現在のセッション履歴に追加してから、結合された履歴内のそのインポートしたコマンドを実行します。
最初のコマンドは、Import-Clixml コマンドを使用して、History.xml ファイルにエクスポートされたコマンド履歴をインポートします。コマンドはパイプライン演算子 (|) によって Add-History のパラメーターに渡され、現在のセッション履歴に追加されます。PassThru パラメーターを指定すると、追加するコマンドを表すオブジェクトが、パイプラインを介して渡されます。
次にこのコマンドは、ForEach-Object コマンドレットを使用して、結合された履歴内の各コマンドに Invoke-History コマンドを適用します。Invoke-History コマンドは、スクリプト ブロック形式 (中かっこ ( { } ) で囲まれた状態) で示されます。これは、適用するコマンドが 1 つしかない場合でも、ForEach-Object にはスクリプト ブロックが必要であるためです。
例 3
C:\PS>get-history -id 5 -count 5 | add-history
説明
-----------
このコマンドは、履歴の最初の 5 つのコマンドを履歴一覧の最後に追加します。Get-History コマンドレットを使用して、コマンド 5 を最後とする 5 つのコマンドを取得します。この 5 つのコマンドはパイプライン演算子 (|) によって Add-History コマンドレットに渡され、現在の履歴に追加されます。Add-History コマンドにはパラメーターがありませんが、パイプラインを介して渡されるオブジェクトが Windows PowerShell により InputObject パラメーターと関連付けられます。
例 4
C:\PS>$a = import-csv c:\testing\history.csv
C:\PS>add-history -inputobject $a -passthru
説明
-----------
これらのコマンドは、History.csv ファイル内のコマンドを現在のセッション履歴に追加します。最初のコマンドは、Import-Csv コマンドレットを使用して History.csv ファイルにコマンドをインポートし、その内容を変数 $a に保存します。2 番目のコマンドは、Add-History コマンドレットを使用して、History.csv のコマンドを現在のセッション履歴に追加します。このコマンドは、InputObject パラメーターを使用して $a 変数と PassThru パラメーターを指定し、コマンド ラインに表示するオブジェクトを生成します。Add-History で PassThru パラメーターを指定していない場合、表示用の出力は生成されません。
例 5
C:\PS>add-history -inputobject (import-clixml c:\temp\history01.xml)
説明
-----------
このコマンドは、History01.xml ファイル内のコマンドを現在のセッション履歴に追加します。このコマンドは InputObject パラメーターを使用して、かっこ内のコマンドの結果を Add-History に渡します。かっこ内のコマンドが最初に実行され、History01.xml ファイルが Windows PowerShell にインポートされます。次に、Add-History はファイルのコマンドをセッション履歴に追加します。