AFAIK Windows command-line don't have persistent command history.
You can try Clink. History persistence between sessions
is one of its futures.
You don't specified which Windows you are using but...
You may try Windows Audit Policy
: Audit process tracking
policy:
This policy setting enables auditing of detailed tracking information for events such as program activation, process exit, handle duplication, and indirect object access.
Success audits generate an event when the process being tracked succeeds. Failure audits generate an event when the process fails.
If you enable Audit process tracking in Windows Vista and Windows Server 2003 with SP1, Windows will also log information about the operating mode and status of the Windows Firewall component.
When enabled, the Audit process tracking setting generates a large number of events. This policy setting is typically configured to No Auditing. However, the information that this policy setting generates can be very beneficial during an incident response because it provides a detailed log of the processes that were started and when they were started.
How to set up a file audit on Windows server?
with references may be a good starting point to setup Audit process tracking
, but feel warned that it might be CPU expensive.