Udostępnij za pośrednictwem


Add-History

Dołącza wpisy do historii sesji.

Składnia

Add-History
   [[-InputObject] <PSObject[]>]
   [-PassThru]
   [<CommonParameters>]

Opis

Polecenie cmdlet Add-History dodaje wpisy na końcu historii sesji, czyli listę poleceń wprowadzonych podczas bieżącej sesji.

Historia sesji to lista poleceń wprowadzonych podczas sesji. Historia sesji reprezentuje kolejność wykonywania, stan oraz czas rozpoczęcia i zakończenia polecenia. Po wprowadzeniu każdego polecenia program PowerShell dodaje go do historii, aby można było go ponownie użyć. Aby uzyskać więcej informacji na temat historii sesji, zobacz about_History.

Historia sesji jest zarządzana niezależnie od historii obsługiwanej przez moduł PSReadLine. Oba historie są dostępne w sesjach, w których PSReadLine jest ładowany. To polecenie cmdlet działa tylko z historią sesji. Więcej informacji można znaleźć w about_PSReadLine.

Możesz użyć polecenia cmdlet Get-History, aby pobrać polecenia i przekazać je do Add-Historylub wyeksportować polecenia do pliku CSV lub XML, a następnie zaimportować polecenia i przekazać zaimportowany plik do Add-History. To polecenie cmdlet umożliwia dodanie określonych poleceń do historii lub utworzenie pojedynczego pliku historii zawierającego polecenia z więcej niż jednej sesji.

Przykłady

Przykład 1. Dodawanie poleceń do historii innej sesji

W tym przykładzie dodano polecenia wpisane w jednej sesji programu PowerShell do historii innej sesji programu PowerShell.

Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History

Pierwsze polecenie pobiera obiekty reprezentujące polecenia w historii i eksportuje je do pliku History.csv.

Drugie polecenie jest wpisywane w wierszu polecenia innej sesji. Używa polecenia cmdlet Import-Csv do importowania obiektów w pliku History.csv. Operator potoku (|) przekazuje obiekty do polecenia cmdlet Add-History, które dodaje do bieżącej historii sesji obiekty reprezentujące polecenia znajdujące się w pliku History.csv.

Przykład 2. Importowanie i uruchamianie poleceń

Ten przykład importuje polecenia z pliku History.xml, dodaje je do bieżącej historii sesji, a następnie uruchamia polecenia w połączonej historii.

Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}

Pierwsze polecenie używa polecenia cmdlet Import-Clixml do zaimportowania historii poleceń wyeksportowanej do pliku History.xml. Operator potoku przesyła polecenia do cmdletu Add-History, który dodaje je do bieżącej historii sesji. Parametr PassThru przekazuje obiekty reprezentujące dodane polecenia dalej wzdłuż potoku.

Następnie polecenie używa cmdletu ForEach-Object, aby zastosować polecenie Invoke-History do każdego z poleceń w połączonej historii. Polecenie Invoke-History jest sformatowane jako blok skryptu, ujęte w nawiasy klamrowe ({}), zgodnie z wymaganiami parametru Process polecenia cmdlet ForEach-Object.

Przykład 3. Dodawanie poleceń w historii na końcu historii

W tym przykładzie dodano pięć pierwszych poleceń w historii na końcu listy historii.

Get-History -Id 5 -Count 5 | Add-History

Polecenie cmdlet Get-History pobiera pięć poleceń kończących się na poleceniu 5. Operator rurociągu przekazuje je do polecenia cmdlet Add-History, które dodaje je do obecnej historii. Polecenie Add-History nie zawiera żadnych parametrów, ale program PowerShell kojarzy obiekty przekazywane przez potok z parametrem InputObjectAdd-History.

Przykład 4. Dodawanie poleceń w pliku .csv do bieżącej historii

W tym przykładzie dodano polecenia w pliku History.csv do bieżącej historii sesji.

$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru

Polecenie cmdlet Import-Csv importuje polecenia w pliku History.csv i przechowuje jego zawartość w zmiennej $a.

Drugie polecenie używa polecenia cmdlet Add-History, aby dodać polecenia z History.csv do bieżącej historii sesji. Używa parametru InputObject do określenia zmiennej $a i parametru PassThru w celu wygenerowania obiektu do wyświetlenia w wierszu polecenia. Bez parametru PassThru polecenie cmdlet Add-History nie generuje żadnych danych wyjściowych.

Przykład 5. Dodawanie poleceń w pliku .xml do bieżącej historii

W tym przykładzie dodano polecenia w pliku history.xml do bieżącej historii sesji.

Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)

Parametr InputObject przekazuje wyniki polecenia zawartego w nawiasach do cmdlet Add-History. Polecenie w nawiasach, które jest wykonywane najpierw, importuje plik history.xml do programu PowerShell. Polecenie cmdlet Add-History następnie dodaje polecenia w pliku do historii sesji.

Parametry

-InputObject

Określa tablicę wpisów, które mają zostać dodane do historii sesji jako obiekt HistoryInfo. Tego parametru można użyć do przesłania obiektu HistoryInfo, takiego jak na przykład tych zwracanych przez polecenia cmdlet Get-History, Import-Clixmllub Import-Csv, do Add-History.

Typ:PSObject[]
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-PassThru

Wskazuje, że ten cmdlet zwraca obiekt HistoryInfo dla każdego wpisu historii. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

HistoryInfo

Do tego polecenia cmdlet można przekazać obiekt HistoryInfo.

Dane wyjściowe

None

Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.

HistoryInfo

Jeśli używasz parametru PassThru, to polecenie cmdlet zwraca obiekt HistoryInfo.

Uwagi

Historia sesji to lista poleceń wprowadzonych podczas sesji wraz z identyfikatorem. Historia sesji reprezentuje kolejność wykonywania, stan oraz czas rozpoczęcia i zakończenia polecenia. Po wprowadzeniu każdego polecenia program PowerShell dodaje go do historii, aby można było go ponownie użyć. Aby uzyskać więcej informacji na temat historii sesji, zobacz about_History.

Aby określić polecenia do dodania do historii, użyj parametru InputObject. Polecenie Add-History akceptuje tylko obiekty HistoryInfo, takie jak te zwracane dla każdego polecenia przez polecenie cmdlet Get-History. Nie można przekazać ścieżki i nazwy pliku ani listy poleceń.

Możesz użyć parametru InputObject, aby przekazać plik obiektów HistoryInfo do Add-History. W tym celu wyeksportuj wyniki polecenia Get-History do pliku przy użyciu polecenia cmdlet Export-Csv lub Export-Clixml, a następnie zaimportuj plik przy użyciu poleceń cmdlet Import-Csv lub Import-Clixml. Następnie można przekazać plik zaimportowanych obiektów HistoryInfo do Add-History przez potok lub zmienną. Aby uzyskać więcej informacji, zobacz przykłady.

Plik, który przekazujesz do polecenia cmdlet , dotyczący obiektów Add-History, musi uwzględniać informacje o typie, nagłówki kolumn i wszystkie właściwości obiektów HistoryInfo. Jeśli zamierzasz przekazać obiekty z powrotem do Add-History, nie używaj parametru NoTypeInformation polecenia cmdlet Export-Csv i nie usuwaj informacji o typie, nagłówków kolumn ani żadnych pól w pliku.

Aby zmodyfikować historię sesji, wyeksportuj sesję do pliku CSV lub XML, zmodyfikuj plik, zaimportuj plik i użyj Add-History, aby dołączyć ją do bieżącej historii sesji.