Add-History
Dołącza wpisy do historii sesji.
Składnia
Add-History
[[-InputObject] <PSObject[]>]
[-Passthru]
[<CommonParameters>]
Opis
Polecenie Add-History
cmdlet 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 . Obie historie są dostępne w sesjach, w których jest ładowana funkcja PSReadLine . To polecenie cmdlet działa tylko z historią sesji. Aby uzyskać więcej informacji, zobacz about_PSReadLine.
Możesz użyć Get-History
polecenia cmdlet , 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 History.csv
pliku.
Drugie polecenie jest wpisywane w wierszu polecenia innej sesji. Używa Import-Csv
polecenia cmdlet do importowania obiektów w History.csv
pliku. Operator potoku (|
) przekazuje obiekty do Add-History
polecenia cmdlet, które dodaje obiekty reprezentujące polecenia w History.csv
pliku do bieżącej historii sesji.
Przykład 2. Importowanie i uruchamianie poleceń
Ten przykład importuje polecenia z History.xml
pliku, 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 Import-Clixml
polecenia cmdlet do zaimportowania historii poleceń wyeksportowanej do History.xml
pliku. Operator potoku przekazuje polecenia do Add-History
polecenia cmdlet, które dodaje polecenia do bieżącej historii sesji. Parametr PassThru przekazuje obiekty reprezentujące dodane polecenia w dół potoku.
Następnie polecenie używa ForEach-Object
polecenia cmdlet, aby zastosować Invoke-History
polecenie 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 ForEach-Object
Process polecenia cmdlet.
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 Get-History
cmdlet pobiera pięć poleceń kończących się na poleceniu 5. Operator potoku przekazuje je do Add-History
polecenia cmdlet, które dołącza je do bieżącej historii. Polecenie Add-History
nie zawiera żadnych parametrów, ale program PowerShell kojarzy obiekty przekazywane przez potok z parametrem InputObject klasy Add-History
.
Przykład 4. Dodawanie poleceń w pliku .csv do bieżącej historii
W tym przykładzie History.csv
dodano polecenia w pliku do bieżącej historii sesji.
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
Polecenie Import-Csv
cmdlet importuje polecenia w History.csv
pliku i przechowuje jego zawartość w zmiennej $a
.
Drugie polecenie używa Add-History
polecenia cmdlet , aby dodać polecenia z History.csv
do bieżącej historii sesji. Używa parametru InputObject do określenia $a
zmiennej i parametru PassThru w celu wygenerowania obiektu do wyświetlenia w wierszu polecenia. Bez parametru Add-History
PassThru polecenie cmdlet nie generuje żadnych danych wyjściowych.
Przykład 5. Dodawanie poleceń w pliku .xml do bieżącej historii
W tym przykładzie history.xml
dodano polecenia w pliku do bieżącej historii sesji.
Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)
Parametr InputObject przekazuje wyniki polecenia w nawiasach do Add-History
polecenia cmdlet. Polecenie w nawiasach, które jest wykonywane najpierw, importuje history.xml
plik do programu PowerShell. Następnie Add-History
polecenie cmdlet dodaje polecenia w pliku do historii sesji.
Parametry
-InputObject
Określa tablicę wpisów, które mają zostać dodane do historii jako obiekt HistoryInfo do historii sesji.
Tego parametru można użyć do przesyłania obiektu HistoryInfo , takiego jak te, które są zwracane przez Get-History
polecenia cmdlet , Import-Clixml
lub Import-Csv
, do Add-History
.
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Passthru
Wskazuje, że to polecenie cmdlet zwraca obiekt HistoryInfo dla każdego wpisu historii. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Get-History
polecenie cmdlet. 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 klasy Add-History
. W tym celu wyeksportuj wyniki Get-History
polecenia do pliku przy użyciu Export-Csv
polecenia cmdlet lub Export-Clixml
, a następnie zaimportuj plik przy użyciu Import-Csv
poleceń cmdlet lub Import-Clixml
. Następnie można przekazać plik zaimportowanych obiektów HistoryInfo do Add-History
potoku lub w zmiennej. Aby uzyskać więcej informacji, zobacz przykłady.
Plik obiektów HistoryInfo przekazywanych do Add-History
polecenia cmdlet musi zawierać 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 Export-Csv
NoTypeInformation polecenia cmdlet 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 go Add-History
, aby dołączyć ją do bieżącej historii sesji.