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, натиснувши кнопку закрити. Натомість ви завжди повинні закривати його командою вихід.

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