CMDコマンドの正確な構文がどのように見えるかを忘れてしまい、自分のCMD履歴を検索したい場合があります。明らかに、同じセッション内で上下の矢印キーを使用して閲覧できますが、以前のCMDセッションの履歴はどうですか?ファイル、履歴が書き込まれるログ、またはすべてデジタルニルヴァーナに送信されるログはありますか?
ありがとう!
CMDコマンドの正確な構文がどのように見えるかを忘れてしまい、自分のCMD履歴を検索したい場合があります。明らかに、同じセッション内で上下の矢印キーを使用して閲覧できますが、以前のCMDセッションの履歴はどうですか?ファイル、履歴が書き込まれるログ、またはすべてデジタルニルヴァーナに送信されるログはありますか?
ありがとう!
回答:
いいえ、Windowsコマンドプロンプトの履歴は、セッションの終了時に保存できません。
doskey.exe /history
(F7ショートカットの由来です)。ただし、次のセッションで履歴を読み込む方法はありません。
ネイティブではありませんが、チェックアウト:http : //mridgers.github.io/clink/、cmd.exeの生産性を大幅に向上させます。プロジェクトページからの引用機能:
Powerful Bash-like line editing from GNU's Readline library.
Superior path completion (TAB).
Paste from clipboard (Ctrl-V).
Support for the completion of executables/commands, and environment variables.
Undo/Redo (Ctrl-_ or Ctrl-X, Ctrl-U)
Improved command line history.
Persists across sessions.
Searchable (Ctrl-R and Ctrl-S).
History expansion (e.g. !!, !<string>, and !$).
Scriptable completion using Lua.
~/.inputrc
clinkを使用するときにaを設定できますか?(そして、コンソールか何かを使用できるかどうか知っていますか?)
Massimoは、コマンドプロンプト履歴がセッション間で保持されないことを認識しています。doskey / history> history.txtと入力して、プロンプトを閉じる前にこれを手動で取得できます。
または... PowerShellをCMDプロンプトとして使用し、この投稿に従ってセッション間で履歴を保持できます。
clinkを使用できます。
Clinkは、ネイティブのWindowsシェルcmd.exeを、GNU Readlineライブラリの強力なコマンドライン編集機能と組み合わせて、充実した補完、履歴、および行編集機能を提供します。
clinkをインストールする最も簡単な方法はchocolateyを使用することです。chocolateyをインストールしたら、次のように入力してclinkをインストールできます。
choco install clink
次回cmd.exeを起動したときから、セッション全体の履歴を保存する必要があります。
Chocolatey
この投稿のため、最終的にショットを与えることにしました。インストールはbrew
macOSと同じくらい簡単でした。そして今、私はWindowsでBashのようなコマンドプロンプトを持っています!
現在の履歴をファイルに保存することは可能ですが、
`$ doskey /history > somefile.txt`
しかし、それを履歴としてロードする方法はないようです。コマンドライン引数を使用してすべての行をロードおよび実行することのみが可能です。
cmd.exe /K somefile.txt
、doskeyマクロのリストをロードするのに役立つことがあります。この呼び出しはショートカットに含めることができるため、毎回入力する必要はありません。この参照には、このアプローチに関する追加情報があります。
同様の質問があり、スーパーユーザーに含めていくつかの選択肢、持参チャリンという音が @RobertBakにより示唆されるように、。
コマンド履歴:コマンド履歴(上下の矢印キーを使用してアクセスできる)を有効にするには、コマンドプロンプトでdoskeyを実行します。たとえば、100要素のコマンド履歴を作成するには:
doskey /listsize=100
参照:https : //users.cs.jmu.edu/bernstdh/web/common/help/ntshell.php
clinkは素晴らしく、著者はリリースごとにチョコレートのパッケージを公開していますが、DeepBlueCLIをお勧めします。
https://github.com/sans-blue-team/DeepBlueCLIを使用して、WindowsセキュリティイベントID 4688をセットアップできます。
PowerShellの場合、DeepBlueCLIはモジュールログ(PowerShellイベント4013)とスクリプトブロックログ(4104)も使用します。転写を使用しません。
追加の利点は、コマンドラインexeのハッシュをAppLockerイベントログに記録することです。ソース:https : //docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
また、このソリューションはWindowsイベントログインフラストラクチャを使用しているため、WMIまたはPowerShellを介してクエリを実行できますGet-EventLog
。clinkでは、システム全体またはネットワーク全体の動作パターンを検出するために、別のツールを学習する必要があります。
doskey exit=doskey /history ^>^> C:\path\to\cmdhistory.log $T exit $*
できます。ただし、コマンドプロンプトセッションの各起動時にこれを自動的に実行する方法を理解する必要があります。PS:ログファイルのパスが書き込み可能であることを確認してください。C:\
管理者以外のコマンドプロンプトに対しては書き込みできません。