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-History
lub 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-Clixml
lub 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
Do tego polecenia cmdlet można przekazać obiekt HistoryInfo.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
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.