Windows 11/10 で PowerShell コマンドの履歴を確認する方法

Windows PowerShellには、使用時に実行したすべてのコマンドを記憶する履歴機能が組み込まれています。アクティブなセッションの履歴を記憶する必要がありますが、それ以上のものを保持していることがわかります。この投稿では、PowerShell コマンドの履歴を表示して賢く使用するする方法を示します。

PowerShell コマンドの履歴を確認する方法

履歴機能を持つ最大の利点は、一度実行した特定のコマンドを実行するために再度入力する必要がないことです。ただし、何百ものコマンドを再帰的に検索してもあまり役立ちません。部分的にしか覚えていない特定のコマンドを検索したり、実行したりするのはどうでしょうか。次の方法に従ってください。

  1. キーボードメソッド
  2. PowerShell の履歴で前後に検索する
  3. このセッションの履歴全体を表示する
  4. PowerShell コマンドの履歴から特定のコマンドを呼び出す
  5. 履歴内で検索する

最後に、PowerShell コマンドの履歴をクリア、エクスポート、インポートする方法についても説明しました。同じコマンドを頻繁に実行する必要がある場合に非常に便利です。

1] キーボードメソッド

しばらく Windows を使用している場合は、コマンドプロンプトを一度使用したことがあるはずです。上下の矢印キーを使用すると、実行されたコマンドの前後に移動できます。PowerShell にも同様のことが当てはまります。ただし、ここにひねりがあります。コマンドを部分的に覚えている場合は、次の方法で検索します。

  • 覚えているコマンドの一部を入力する
  • F8 を押し、見つかるまで押し続ける
  • 検索用語は蛍光グリーンで強調表示され、その後にコマンドの残りの部分が続きます。

唯一の欠点は、検索用語がコマンドの先頭でなければならないことです。

2] 履歴で前後に検索する

履歴で前後に検索する場合は、Ctrl + R および Ctrl + S を使用できます。前者は履歴を後方に検索し、後者は履歴を前方に検索します。キーボードショートカットを使用するとすぐに、下部にスニペット(bck-i-search または fwd-i-search)が表示されます。検索する内容を入力すると、そのテキストがコマンドの途中にあっても検索されます。上で使用した F8 メソッドと比較するとはるかに優れています。

3] このセッションの PowerShell コマンドの履歴全体を表示する

履歴と入力し、Enter キーを押します。現在のセッションで実行したすべてのコマンドが表示されるはずです。矢印キーを使用して前のセッションで実行されたコマンドを表示できますが、履歴には含まれません。キー「H」を押して Enter を押すと、コマンドの履歴が表示されます。履歴コマンドへのショートカットとして考えてください。

4] PowerShell コマンドの履歴から特定のコマンドを呼び出す

上の画像には、各コマンドの横に ID があることに注意してください。リストから特定のコマンドを 1 つ実行する場合は、Invoke-Historyを使用する必要があります。

  • 実行するコマンドの ID をメモする
  • Invoke-History と入力します。 を正確な数値に置き換えます
  • Enter キーを押すと、履歴からそのコマンドが実行されます。

5] 履歴内で検索する

コマンドの履歴内で検索する最も簡単な方法は、履歴の出力に対して Select-String メソッドを使用することです。

  • 次のように入力し、Get を検索する用語に置き換えます
  • Get-History | Select-String -Pattern “Get.”
  • 検索コマンドに一致するすべてのコマンドが表示されます。

ID を取得できるので、Invoke History コマンドを使用してすぐに実行できます。

PowerShell の履歴をクリア、エクスポート、インポートする

履歴からすべてのコマンドを削除するには、「Clear-History」コマンドを実行するだけです。これを実行した後でも、上下の矢印キーを使用してコマンドにアクセスできることに注意してください。

すべてのコマンドをエクスポートするには、Export-Clixml または Export-CSV形式を使用できます。次のサンプルコマンドを示します。

Get-History | Export-Clixml "Path\PSHistorycommands.xml"
Get-History | Export-Csv "Path\PSHistorycommands.csv"

上のサンプルコマンドでは、Path は PowerShell コマンドの履歴を含むファイルを保存するディレクトリの完全パスを表し、PSHistorycommands はファイルの名前を表します。

たとえば、PowerShell の履歴を「D:\The Windows Club\New folder」の場所に PowerShell コマンドの履歴という名前で保存する場合は、コマンドは次のようになります。

Get-History | Export-Clixml "D:\The Windows Club\New folder\PowerShell Command History.xml"
Get-History | Export-Clixml "D:\The Windows Club\New folder\PowerShell Command History.csv"

上のコマンドでは引用符を削除しないでください。そうしないと、エラーが表示されます。

これらのコマンドを別の新しいセッションにインポートするには、次のコマンドを使用します。

Add-History -InputObject (Import-Clixml "Path\PSHistorycommands.xml")
Add-History -InputObject (Import-Csv "Path\PSHistorycommands.csv")

いつでもこの CSV または XML ファイルを開いて、PowerShell コマンドの履歴をすぐに確認できます。これは、PowerShell コマンドの履歴のほとんどすべてをまとめたものであり、数値を使用するか、検索するか、翌日インポートして再利用する方法を説明しています。

以上です。お手伝いになれれば幸いです。

PowerShell の履歴をファイルに取得するにはどうすればよいですか?

PowerShell の履歴をさまざまな形式でエクスポートすることで、ファイルに取得できます。PowerShell の履歴は CSV と XML ファイル形式でエクスポートできます。PowerShell の履歴をファイルにエクスポートするには、必要なコマンドを実行する必要があります。

PowerShell はコマンド履歴を保存しますか?

はい、PowerShell は自動的にコマンド履歴をテキストファイルに保存します。このファイルは次の場所に保存されています。

C:\Users\username\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine

上のコマンドでは、ユーザー名を自分のユーザー名に置き換えます。このファイルはメモ帳やその他のテキストエディターソフトウェアで開くことができます。くことができます。