Я новичок, использую PowerShell 5.1 под Win 10. Я возился с историей. До сих пор мне удавалось иметь постоянную историю сеансов с PSReadline
. *
Но это «ограниченная» постоянная история, поскольку только команды сохраняются в текстовом файле, который читается при запуске нового сеанса. Таким образом, теряется много информации об объектах HistoryInfo , в частности StartExecutionTime . Затем
Get-Content (Get-PSReadlineOption).HistorySavePath
дает все команды без «отметки времени», а Get-History
дает команды с отметкой времени, но только для текущего сеанса.
Я привык к history
в bash
, который правильно понимает обе точки.
Этот старый do c (2009) показывает возможное обходное решение. Мне удалось экспортировать всю информацию истории, прежде чем покинуть сеанс с Get-History | Export-Clixml $env:PSDIR'\my_history.xml'
. Выполнение Import-Clixml $env:PSDIR'\my_history.xml' | Add-History
в начале нового сеанса восстанавливает полную историю, включая временные метки.
Я полагаю, что не хватает:
Способ автоматического экспортировать историю при закрытии сессии. Я даже не знаю, возможно ли это.
Удаление первой строки в истории после импорта, так как она содержит саму команду импорта. Я не работал над этим, но думаю, я справлюсь. Не требуется. Если команда импорта выполняется в сценариях запуска, она не go в истории.
Является ли это жизнеспособным способом достижения желаемого результата? Если да, то как я могу воплотить пункт 1?
Есть ли альтернативы?
* Хотя я не мог заставить его работать в PS ISE .