- - Як отримати історію команд PowerShell в Windows 10

Як отримати історію команд PowerShell в Windows 10

PowerShell в Windows 10 може дати вам історіюкожної команди, яку ви виконували в поточному сеансі, проте для багатьох користувачів цього недостатньо. Їм потрібна історія команд, що виконуються протягом сеансів. Якщо вам потрібно отримати історію команд PowerShell, а історія для поточного сеансу сама по собі не допоможе, є сценарій та файл журналу, який може вам допомогти.

Історія команд Поточна сесія

Якщо ви запускаєте PowerShell 5, ви можете отримати історію команд для поточного сеансу, виконавши наступну команду;

Get-History

За замовчуванням PowerShell може зберегти до 50 командале ви можете змінити це, щоб заощадити більше. Відкрийте PowerShell і клацніть правою кнопкою миші на заголовку. У контекстному меню перейдіть до Властивості. У вікні "Властивості" перейдіть на вкладку "Параметри". Ви побачите розділ «Історія команд», де за замовчуванням встановлено 50. Змініть його на більш високе значення.

Журнал історії PowerShell

Щоб переглянути журнал історії, потрібно спочатку встановити модуль PSReadLine із наступною командою;

Install-Module PSReadLine

Далі запустіть таку команду, і вона поверне розташування файлу. Файл у цьому місці надає повну історію кожної команди, яку ви запускаєте в PowerShell.

(Get-PSReadlineOption).HistorySavePath

Перехресні сесії Історія команд PowerShell

Це трохи довгий процес, але він того вартий. Це рішення походить від Intel. Спочатку відкрийте таке місце та перевірте, чи є у цьому файлі файл з назвою Microsoft.PowerShell_profile.ps1.

C:Users<username>DocumentsWindowsPowerShell

Якщо там немає файлу, відкрийте PowerShell і запустітьнаступна команда. Він відкриє ваш файл профілю в Блокноті, але цей файл не існує, і 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, натиснувши кнопку закрити. Натомість ви завжди повинні закривати його командою вихід.

Ви можете використовувати клавіші зі стрілками вгору та вниз, щоб перейти до попередніх команд.

Коментарі