Windows PowerShell ma wbudowaną funkcję historii poleceń, która dostarcza szczegółowych informacji o uruchomionych komendach. Podobnie jak w wierszu polecenia, PowerShell zapamiętuje tylko historię poleceń dla bieżącej sesji.
PowerShell ma dwa typy historii poleceń. Po pierwsze, istnieje bufor linii poleceń, który jest faktycznie częścią graficznej aplikacji terminalowej PowerShell i nie jest częścią podstawowej aplikacji Windows PowerShell. Zapewnia kilka podstawowych funkcji:
Domyślnie bufor zapamiętuje ostatnie 50 poleceń, które wpisałeś. Aby to zmienić, kliknij prawym przyciskiem myszy pasek tytułu okna zachęty PowerShell, wybierz "Właściwości" i zmień wartość "Rozmiar bufora" w obszarze Historia poleceń.
Sam Windows PowerShell przechowuje historię poleceń wpisanych w bieżącej sesji PowerShell. Możesz użyć kilku dołączonych cmdletów do przeglądania i pracy z historią.
Aby wyświetlić historię poleceń, które wpisałeś, uruchom następujące polecenie cmdlet:
Pobierz historię
Możesz przeszukać historię, wyprowadzając wynikowy wynik na Wybierz-ciąg
cmdlet i określenie tekstu, który chcesz wyszukać. Zastąp "Przykład" w poleceniu poniżej tekstem, który chcesz wyszukać:
Pobierz historię Wybierz-ciąg-wzór "Przykład"
Aby wyświetlić bardziej szczegółową historię poleceń, która wyświetla status wykonania każdego polecenia wraz z jego czasem rozpoczęcia i zakończenia, uruchom następujące polecenie:
Pobierz historię Lista formatów - właściwość *
Domyślnie Pobierz historię
cmdlet wyświetla tylko 32 ostatnie wpisy historii. Jeśli chcesz wyświetlić lub wyszukać większą liczbę wpisów historii, użyj -Liczyć
możliwość określenia, ile wpisów historii powinien pokazywać PowerShell, na przykład:
Get-History - Zyskaj 1000 Get-History - Zyskaj 1000 | Select-String -Pattern "Przykład" Get-History -ount 1000 | Lista formatów - właściwość *
Aby uruchomić polecenie z historii, użyj następującego polecenia cmdlet, określając numer identyfikacyjny elementu historii, jak pokazano w pliku Pobierz historię
cmdlet:
Invoke-History #
Aby uruchomić dwa polecenia z historii do tyłu, użyj Invoke-History
dwa razy w tej samej linii, oddzielone średnikiem. Na przykład, aby szybko uruchomić pierwsze polecenie w historii, a następnie drugie, uruchomisz:
Invoke-History 1; Invoke-History 2
Aby wyczyścić historię poleceń, które wpisałeś, uruchom następujące polecenie cmdlet:
Czysta historia
Zauważ, że bufor linii poleceń jest oddzielny od historii PowerShell. Nawet po uruchomieniu Czysta historia
, możesz nadal naciskać klawisze strzałek w górę i w dół, aby przewijać wprowadzone polecenia. Jeśli jednak biegniesz Pobierz historię
, zobaczysz, że twoja historia PowerShell jest w rzeczywistości pusta.
PowerShell nie pamięta Twojej historii między sesjami. Aby usunąć obie historie poleceń dla bieżącej sesji, wystarczy zamknąć okno PowerShell.
Jeśli chcesz wyczyścić okno PowerShell po wyczyszczeniu historii, możesz to zrobić, uruchamiając Jasny
dowództwo:
Jasny
Jeśli chcesz zapisać historię poleceń PowerShell dla bieżącej sesji, możesz odnieść się do niej później, możesz to zrobić.
Pobierz historię Export-Clixml -Path c: \ users \ name \ desktop \ commands.xml
Ta operacja eksportuje historię poleceń jako szczegółowy plik XML z wartościami "StartExecutionTime" i "EndExecutionTime" dla każdego polecenia, które mówi, kiedy polecenie zostało uruchomione i ile czasu zajęło ukończenie.
Po wyeksportowaniu historii PowerShell do takiego pliku XML, użytkownik (lub ktokolwiek inny, do którego wysyłasz plik XML) może zaimportować go do innej sesji PowerShell za pomocą polecenia cmdlet Add-History:
Add-History -InputObject (Import-Clixml -Path C: \ users \ name \ desktop \ commands.xml)
Jeśli uruchomisz Pobierz historię
cmdlet po zaimportowaniu takiego pliku XML, zobaczysz, że polecenia z pliku XML zostały zaimportowane do twojej aktualnej historii sesji PowerShell.