PowerShell в Windows 10 може да ви даде историяот всяка команда, която сте изпълнили в текущата сесия, обаче за много потребители това не е достатъчно. Те се нуждаят от история на команди, изпълнявани през сесиите. Ако трябва да получите историята на командите PowerShell и историята за текущата сесия сама по себе си не прави трика, има скрипт и лог файл, който може да ви помогне.
Текуща сесия на историята на командите
Ако използвате PowerShell 5, можете да получите историята на командите за текущата сесия, като изпълните следната команда;
Get-History
По подразбиране PowerShell може да запише до 50 командино можете да го промените, за да спестите повече. Отворете PowerShell и щракнете с десния бутон на мишката върху заглавната лента. От контекстното меню отидете на Properties. В прозореца Свойства отидете на раздела Опции. Ще видите раздел История на командите, където по подразбиране е зададено 50. Променете го на по-висока стойност.

Дневник на историята на PowerShell
За да видите журнала на историята, първо трябва да инсталирате модула PSReadLine със следната команда;
Install-Module PSReadLine
След това изпълнете следната команда и тя ще върне местоположението на файла. Файлът на това място ще ви даде пълна история на всяка команда, която стартирате в PowerShell.
(Get-PSReadlineOption).HistorySavePath

Cross-Session История на командите PowerShell
Това е малко дълъг процес, но си заслужава Това решение идва от Intel. Първо отворете следното местоположение и проверете дали на това място има файл с име Microsoft.PowerShell_profile.ps1.
C:Users<username>DocumentsWindowsPowerShell
Ако няма файл там, отворете PowerShell и стартирайтеследната команда. Той ще отвори файла ви с профил в Notepad, но този файл не съществува и PowerShell ще ви каже толкова много и ще ви попита дали искате да го създадете. Позволете му да създаде файла.
notepad $Profile
Затворете файла, който се отваря. В PowerShell изпълнете тази команда, за да се уверите, че използвате PowerShell 5.
$PSVersionTable.PSVersion
След това задайте политиката си за изпълнение на RemoteSigned със следната команда.
set-executionpolicy remotesigned
След това трябва да инсталирате PsUrl иPSReadline модули. Можете да ги инсталирате със следната команда, въпреки че ако получите грешка, просто ги инсталирайте ръчно чрез процеса, очертан на свързаните страници, или опитайте да добавите хранилището като надеждно хранилище и след това да стартирате командата отново.
install-module PsUrl
install-module PSReadline
Сега, когато тези модули са инсталирани, отворете този файл;
C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
Поставете следното вътре в този файл и го запазете.
$HistoryFilePath = Join-Path ([Environment]::GetFolderPath("UserProfile")) .ps_history Register-EngineEvent PowerShell.Exiting -Action { Get-History | Export-Clixml $HistoryFilePath } | out-null if (Test-path $HistoryFilePath) { Import-Clixml $HistoryFilePath | Add-History } # if you don"t already have this configured... Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
За да видите историята на командите в PowerShell,трябва да стартирате командата Get-History, но има една много важна стъпка, за да сте сигурни, че историята ви е запазена. НЕ МОЖЕТЕ да затворите PowerShell, като щракнете върху бутона за затваряне. Вместо това винаги трябва да го затваряте с командата за излизане.

Можете да използвате клавишите със стрелки нагоре и надолу, за да преминете през предишните команди.
Коментари