01/26/2022

Jak uzyskać historię poleceń programu PowerShell w systemie Windows 10

Udostępnij teraz w social media:

PowerShell w systemie Windows 10 może zapewnić historię każdego polecenia wykonanego w bieżącej sesji, jednak dla wielu użytkowników to nie wystarczy. Potrzebują historii poleceń wykonywanych podczas sesji. Jeśli chcesz uzyskać historię poleceń programu PowerShell, a sama historia bieżącej sesji nie wystarczy, istnieje skrypt i plik dziennika, które mogą Ci pomóc.

Historia poleceń – bieżąca sesja

Jeśli używasz PowerShell 5, możesz pobrać historię poleceń dla bieżącej sesji, uruchamiając następujące polecenie;

Get-History

Domyślnie PowerShell może zapisać do 50 poleceń, ale możesz to zmienić, aby zaoszczędzić więcej. Otwórz PowerShell i kliknij prawym przyciskiem myszy pasek tytułu. Z menu kontekstowego przejdź do Właściwości. W oknie Właściwości przejdź do zakładki Opcje. Zobaczysz sekcję Historia poleceń, w której wartość domyślna to 50. Zmień ją na wyższą.

Sprawdź -   Jak pominąć kompilacje Insider Windows 10

Dziennik historii programu PowerShell

Aby wyświetlić dziennik historii, należy najpierw zainstalować moduł PSReadLine za pomocą następującego polecenia;

Install-Module PSReadLine

Następnie uruchom następujące polecenie, a zwróci ono lokalizację pliku. Plik w tej lokalizacji zawiera pełną historię każdego polecenia uruchomionego w programie PowerShell.

(Get-PSReadlineOption).HistorySavePath

Historia poleceń programu PowerShell między sesjami

To trochę długi proces, ale warto. To rozwiązanie pochodzi z Intel. Najpierw otwórz następującą lokalizację i sprawdź, czy w tej lokalizacji znajduje się plik o nazwie Microsoft.PowerShell_profile.ps1.

C:UsersDocumentsWindowsPowerShell

Jeśli nie ma tam pliku, otwórz PowerShell i uruchom następujące polecenie. Otworzy twój plik profilu w Notatniku, ale ten plik nie istnieje, a PowerShell powie ci tyle i zapyta, czy chcesz go utworzyć. Pozwól mu utworzyć plik.

notepad $Profile

Zamknij otwarty plik notatnika. W programie PowerShell uruchom to polecenie, aby upewnić się, że używasz programu PowerShell 5.

$PSVersionTable.PSVersion

Następnie ustaw zasady wykonywania na RemoteSigned za pomocą następującego polecenia.

set-executionpolicy remotesigned

Następnie musisz zainstalować PsUrl i PSReadline moduły. Możesz je zainstalować za pomocą następującego polecenia, jeśli pojawi się błąd, po prostu zainstaluj je ręcznie zgodnie z procesem opisanym na połączonych stronach lub spróbuj dodać repozytorium jako zaufane repozytorium, a następnie ponownie uruchom polecenie.

install-module PsUrl
install-module PSReadline

Po zainstalowaniu tych modułów otwórz ten plik;

C:UsersDocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Wklej następujący plik do tego pliku i zapisz go.

$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

Aby wyświetlić historię poleceń w PowerShell, musisz uruchomić polecenie Get-History, jednak jest jeden bardzo ważny krok, aby upewnić się, że historia została zapisana. NIE MOŻNA zamknąć programu PowerShell, klikając przycisk zamykania. Zamiast tego zawsze musisz go zamknąć poleceniem exit.

Sprawdź -   Jak zidentyfikować jakąkolwiek roślinę na podstawie jej zdjęcia

Możesz użyć klawiszy strzałek w górę i w dół, aby przechodzić między poprzednimi poleceniami.

x