Manchmal vergesse ich, wie die exakte Syntax eines CMD-Befehls aussieht, und möchte dann meine eigene CMD-Historie durchsuchen. Natürlich können Sie in derselben Sitzung mit den Aufwärts- und Abwärtspfeiltasten navigieren, aber wie sieht es mit dem Verlauf früherer CMD-Sitzungen aus? Gibt es eine Datei, ein Protokoll, in das der Verlauf geschrieben wird, oder geht alles in das digitale Nirvana?
Vielen Dank!
windows
windows-command-prompt
history
command
Raoulsson
quelle
quelle
doskey exit=doskey /history ^>^> C:\path\to\cmdhistory.log $T exit $*
Sie müssen jedoch herausfinden, wie dies bei jedem Start der Eingabeaufforderungssitzung automatisch ausgeführt wird. PS: Stellen Sie sicher, dass der Pfad der Protokolldatei beschreibbar ist.C:\
ist für eine Eingabeaufforderung, die kein Administrator ist, nicht beschreibbar.Antworten:
Nein, der Windows-Eingabeaufforderungsverlauf kann nicht gespeichert werden, wenn eine Sitzung endet.
quelle
doskey.exe /history
(von dort stammt übrigens auch die F7-Verknüpfung). Sie können ihn jedoch nicht in Ihrer nächsten Sitzung erneut laden.Nicht nativ, aber lesen Sie: http://mridgers.github.io/clink/ , macht cmd.exe viel produktiver. Zitieren von Funktionen von der Projektseite:
quelle
~/.inputrc
bei der Verwendung von clink einen Wert einstellen ? (und wissen Sie, ob es Konsole oder etwas verwendet werden kann?)clink
hasstdoskey
; Vergessen Sie all Ihre jahrelangen und sorgfältig zugewiesenen Aliasnamen. Deshalb habe ich aufgehört, es zu benutzen. obwohl ich alle Funktionen vermisse.Massimo hat Recht, dass der Verlauf Ihrer Eingabeaufforderung nicht über mehrere Sitzungen hinweg erhalten bleibt. Sie können dies manuell abrufen, bevor Sie die Eingabeaufforderung schließen, indem Sie doskey / history> history.txt eingeben
Oder ... Sie könnten PowerShell als CMD-Eingabeaufforderung verwenden und diesem Beitrag folgen, um Ihren Verlauf über mehrere Sitzungen hinweg beizubehalten.
quelle
Sie können klirren .
Der einfachste Weg, Klirren zu installieren, ist die Verwendung von chocolatey . Sobald Sie chocolatey installiert haben, können Sie clink durch Eingabe installieren
Ab dem nächsten Start von cmd.exe sollte der Verlauf sitzungsübergreifend gespeichert werden.
quelle
Chocolatey
wegen dieses Beitrags einen Schuss zu geben . Die Installation war so einfach wie unterbrew
macOS. Und jetzt habe ich eine Bash-ähnliche Eingabeaufforderung in Windows!Es ist möglich, den aktuellen Verlauf in einer Datei zu speichern.
Aber es scheint, dass es keine Möglichkeit gibt, es als Verlauf zurückzuladen. Es ist nur möglich, ein Befehlszeilenargument zu verwenden, um alle Zeilen zu laden und auszuführen.
cmd.exe /K somefile.txt
, was nützlich sein kann, um eine Liste von Doskey-Makros zu laden. Dieser Aufruf kann in einer Verknüpfung enthalten sein, sodass Sie ihn nicht jedes Mal eingeben müssen. Diese Referenz enthält einige zusätzliche Informationen zu diesem Ansatz .
Es gibt eine ähnliche Frage zum Superuser , die einige Alternativen enthält, darunter das Klicken , wie von @RobertBak vorgeschlagen.
quelle
Befehlsverlauf: Um einen Befehlsverlauf zu aktivieren (auf den Sie mit den Aufwärts- und Abwärtspfeiltasten zugreifen können), führen Sie einfach doskey an der Eingabeaufforderung aus. So erstellen Sie beispielsweise einen Befehlsverlauf mit 100 Elementen:
Ref: https://users.cs.jmu.edu/bernstdh/web/common/help/ntshell.php
quelle
Klirren ist nett und der Autor veröffentlicht bei jeder Veröffentlichung ein schokoladiges Paket, allerdings würde ich DeepBlueCLI empfehlen.
Sie können https://github.com/sans-blue-team/DeepBlueCLI verwenden , um die Windows-Sicherheitsereignis-ID 4688 einzurichten.
DeepBlueCLI verwendet für PowerShell auch die Modulprotokollierung (PowerShell-Ereignis 4013) und die Skriptblockprotokollierung (4104). Es wird keine Transkription verwendet.
Der zusätzliche Vorteil besteht darin, dass der Hash der Befehlszeilen-Exe im AppLocker-Ereignisprotokoll protokolliert wird. Quelle: https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
Da diese Lösung die Windows-Ereignisprotokollinfrastruktur verwendet, können Sie sie auch über WMI oder PowerShell abfragen
Get-EventLog
. Mit clink müssen Sie ein anderes Tool erlernen, um system- oder netzwerkweite Verhaltensmuster zu erkennen.quelle