次の方法で共有


Invoke-History

セッションの履歴からコマンドを実行します。

構文

Invoke-History
      [[-Id] <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

説明

Invoke-History コマンドレットは、セッション履歴からコマンドを実行します。 Get-History から Invoke-History にコマンドを表すオブジェクトを渡すか、 Id 番号を使用して現在の履歴のコマンドを識別できます。 コマンドの識別番号を検索するには、 Get-History コマンドレットを使用します。

セッション履歴は、 PSReadLine モジュールによって管理される履歴とは別に管理されます。 両方の履歴は、 PSReadLine が読み込まれるセッションで使用できます。 このコマンドレットは、セッション履歴でのみ機能します。 詳細については、 about_PSReadLineを参照してください。

例 1: 履歴の最新のコマンドを実行する

次の使用例は、セッション履歴で最後または最新のコマンドを実行します。 このコマンドは、Invoke-Historyのエイリアスr省略できます。

Invoke-History

例 2: 指定した ID を持つコマンドを実行する

この例では、 Id 132 を使用してセッション履歴でコマンドを実行します。 Id パラメーターの名前は省略可能であるため、このコマンドは次のように省略できます: Invoke-History 132ihy 132、またはr 132

Invoke-History -Id 132

例 3: コマンド テキストを使用して最新のコマンドを実行する

この例では、セッション履歴で最新の Get-Process コマンドを実行します。 Id パラメーターに文字を入力すると、Invoke-Historyはパターンに一致する最初のコマンドを、最新のコマンドから開始して実行します。

Invoke-History -Id get-pr

Note

パターン マッチングでは大文字と小文字は区別されませんが、パターンは行の先頭と一致します。

例 4: 履歴から一連のコマンドを実行する

この例では、コマンド 16 から 24 を実行します。 Id値を 1 つだけ一覧表示できるため、このコマンドは ForEach-Object コマンドレットを使用して、Id 値ごとに 1 回Invoke-History コマンドを実行します。

16..24 | ForEach-Object {Invoke-History -Id $_ }

例 5

この例では、コマンド 255 (249 から 255) で終わる履歴の 7 つのコマンドを実行します。 Get-History コマンドレットを使用してコマンドを取得します。 Id値を 1 つだけ一覧表示できるため、ForEach-Object コマンドレットを使用して、Id 値ごとに Invoke-History コマンドを 1 回実行します。

Get-History -Id 255 -Count 7 | ForEach-Object {Invoke-History -Id $_.Id}

パラメーター

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Id

履歴内のコマンドの Id を指定します。 Idコマンドの番号、またはコマンドの最初の数文字を入力できます。

文字を入力すると、 Invoke-History は最初に最新のコマンドと一致します。 このパラメーターを省略すると、 Invoke-History 最後のコマンドまたは最新のコマンドが実行されます。 コマンドの Id 番号を検索するには、 Get-History コマンドレットを使用します。

型:String
配置:0
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

String

履歴 Id をこのコマンドレットにパイプできます。

出力

None

このコマンドレットはそれ自体の出力を返しませんが、実行するコマンドは独自の出力を返す可能性があります。

メモ

PowerShell には、 Invoke-Historyの次のエイリアスが含まれています。

  • すべてのプラットフォーム:
    • ihy
    • r

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