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 oddzielnie 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 Add-History
do , 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 c:\testing\history.csv -IncludeTypeInformation
Import-Csv 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, co 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 c:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}
Pierwsze polecenie używa Import-Clixml
polecenia cmdlet do importowania historii poleceń wyeksportowanych 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 Add-History
przekazuje je do 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 .Add-History
Przykład 4. Dodawanie poleceń w pliku .csv do bieżącej historii
W tym przykładzie dodano polecenia w pliku do bieżącej History.csv
historii sesji.
$a = Import-Csv 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 do dodawania poleceń 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 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 dodano polecenia w pliku do bieżącej history.xml
historii sesji.
Add-History -InputObject (Import-Clixml 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 przesł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 żadnego wyniku.
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 or Microsoft.PowerShell.Commands.HistoryInfo
To polecenie cmdlet zwraca obiekt HistoryInfo , jeśli określisz parametr PassThru . W przeciwnym razie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
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 za pomocą Get-History
polecenia 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 Add-History
. W tym celu wyeksportuj wyniki Get-History
polecenia do pliku przy użyciu polecenia cmdlet lubExport-Clixml
, a następnie zaimportuj plik przy Export-Csv
użyciu Import-Csv
poleceń cmdlet orImport-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
elementu , 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.