- - Как да получите историята на командите PowerShell в Windows 10

Как да получите историята на командите PowerShell в Windows 10

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, като щракнете върху бутона за затваряне. Вместо това винаги трябва да го затваряте с командата за излизане.

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

Коментари