如何在Powershell中订阅"user enter command to prompt"活动?



我想实现我输入到powershell的命令的增量历史日志。我在退出时发现了很多关于相同历史的相关问题。解决方案在这里

Register-EngineEvent -SourceIdentifier powershell.exiting -SupportEvent -Action { Save-History }

我发现这很不方便,因为它不适用于multiply tabs/ps实例。我想要的是调用Save HistoryIncremental,它附加到现有的csv文件历史。

但我不知道如何在用户输入命令后立即回调这个函数。

解决方法:我现在最接近的解决方法是更改提示:

Rename-Item Function:prompt oldprompt
function prompt {
    Save-HistoryIncremental
    oldprompt
}

这里的行为是oposit:它在执行oh命令后保存历史记录(并在启动时复制最后一条记录)。

我不确定我是否完全理解您的要求,但这有帮助吗?

http://jaworskiblog.com/2011/08/05/logging-all-powershell-commands-and-output/

基本上,您可以在powershell配置文件中添加一个"Start Transcript"。我认为,这将记录你所做的一切,即使是在多个powershell实例中。。。

最新更新