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

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

PowerShell w Windows 10 może dać ci historiękażdego polecenia wykonanego w bieżącej sesji, jednak dla wielu użytkowników to nie wystarczy. Potrzebują historii poleceń wykonywanych między sesjami. Jeśli potrzebujesz uzyskać historię poleceń PowerShell, a sama historia dla bieżącej sesji nie rozwiązuje problemu, istnieje skrypt i plik dziennika, który może ci pomóc.

Historia poleceń Bieżąca sesja

Jeśli korzystasz z programu PowerShell 5, możesz uzyskać 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ź na zakładkę Opcje. Zobaczysz sekcję Historia poleceń, w której domyślną wartością jest 50. Zmień ją na wyższą wartość.

Dziennik historii PowerShell

Aby wyświetlić dziennik historii, musisz 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 PowerShell.

(Get-PSReadlineOption).HistorySavePath

Historia poleceń PowerShell między sesjami

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

C:Users<username>DocumentsWindowsPowerShell

Jeśli nie ma tam pliku, otwórz PowerShell i uruchomnastę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 plik notatnika, który zostanie otwarty. W PowerShell uruchom to polecenie, aby upewnić się, że korzystasz z PowerShell 5.

$PSVersionTable.PSVersion

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

set-executionpolicy remotesigned

Następnie musisz zainstalować PsUrl iModuły PSReadline. Możesz zainstalować je za pomocą następującego polecenia, jeśli wystąpi 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 uruchomić polecenie.

install-module PsUrl
install-module PSReadline

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

C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Wklej następujące elementy 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, ale jest jeden bardzo ważny krok, aby upewnić się, że Twoja historia została zapisana. Nie można zamknąć programu PowerShell, klikając przycisk zamykania. Zamiast tego zawsze należy go zamknąć za pomocą polecenia wyjścia.

Za pomocą klawiszy strzałek w górę i w dół można przełączać poprzednie polecenia.

Komentarze