次の方法で共有


Get-History

現在のセッション中に入力したコマンドの一覧を取得します。

構文

Get-History
   [[-Id] <Int64[]>]
   [[-Count] <Int32>]
   [<CommonParameters>]

説明

Get-History コマンドレットは、セッション履歴、つまり現在のセッション中に入力されたコマンドの一覧を取得します。

PowerShell では、各セッションの履歴が自動的に保持されます。 セッション履歴のエントリ数は、 $MaximumHistoryCount 基本設定変数の値によって決まります。 Windows PowerShell 3.0 以降では、既定値は 4096。 既定では、履歴ファイルはホーム ディレクトリに保存されますが、任意の場所にファイルを保存することができます。 PowerShell の履歴機能の詳細については、「 about_History」を参照してください。

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

例 1: セッション履歴を取得する

この例では、セッション履歴のエントリを取得します。 既定の表示には、各コマンドとその ID が表示されます。これは、コマンドが実行された順序を示します。

Get-History

例 2: 文字列を含むエントリを取得する

この例では、文字列サービスを含むコマンド履歴のエントリを取得します。 最初のコマンドは、セッション履歴のすべてのエントリを取得します。 パイプライン演算子 (|) は、結果を Where-Object コマンドレットに渡します。このコマンドレットでは、サービスを含むコマンドのみが選択されます。

Get-History | Where-Object {$_.CommandLine -like "*Service*"}

例 3: 履歴エントリを特定の ID までエクスポートする

この例では、エントリ 7 で終わる最新の 5 つの履歴エントリを取得します。 パイプライン演算子は、結果を Export-Csv コマンドレットに渡します。これにより、履歴がコンマ区切りのテキストとして書式設定され、History.csv ファイルに保存されます。 このファイルには、履歴をリストとして書式設定するときに表示されるデータが含まれます。 これには、コマンドの状態と開始時刻と終了時刻が含まれます。

Get-History -ID 7 -Count 5 | Export-Csv -Path History.csv

例 4: 最新のコマンドを表示する

この例では、コマンド履歴の最後のコマンドを取得します。 最後のコマンドは、最後に入力したコマンドです。 このコマンドでは、 Count パラメーターを使用して、1 つのコマンドのみを表示します。 既定では、 Get-History は最新のコマンドを取得します。 このコマンドは "h -c 1" と省略でき、上方向キーを押すことと同等です。

Get-History -Count 1

例 5: 履歴内のエントリのすべてのプロパティを表示する

次の使用例は、セッション履歴のエントリのすべてのプロパティを表示します。 パイプライン演算子は、 Get-History コマンドの結果を Format-List コマンドレットに渡します。このコマンドレットには、各履歴エントリのすべてのプロパティが表示されます。 これには、コマンドの ID、状態、開始時刻と終了時刻が含まれます。

Get-History | Format-List -Property *

パラメーター

-Count

このコマンドレットが取得する最新の履歴エントリの数を指定します。 既定では、 Get-History はセッション履歴内のすべてのエントリを取得します。 コマンドで Count パラメーターと Id パラメーターの両方を使用すると、表示は Id パラメーターで指定されたコマンドで終了します。

Windows PowerShell 2.0 では、既定では、 Get-History は最新の 32 個のエントリを取得します。

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

-Id

セッション履歴内のエントリの ID の配列を指定します。 Get-History は、指定されたエントリのみを取得します。 コマンドで Id パラメーターと Count パラメーターの両方を使用 Get-HistoryId パラメーターで指定されたエントリで終わる最新のエントリを取得します。

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

入力

Int64

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

出力

HistoryInfo

このコマンドレットは、取得した各履歴項目の履歴オブジェクトを返します。

メモ

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

  • すべてのプラットフォーム:
    • h
    • history
    • ghy

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

Windows PowerShell 3.0 以降では、 $MaximumHistoryCount 基本設定変数の既定値は 4096。 Windows PowerShell 2.0 では、既定値は 64$MaximumHistoryCount 変数の詳細については、「about_Preference_Variables」を参照してください。