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 godziny rozpoczęcia i zakończenia polecenia. Podczas wprowadzania 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 służy do dodawania określonych poleceń do historii lub tworzenia 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. Import-Csv Używa 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 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 do zastosowania Invoke-History polecenia do każdego z poleceń w połączonej historii. Polecenie Invoke-History jest sformatowane jako blok skryptu, ujęty w nawiasy klamrowe ({}), zgodnie z wymaganiami parametru ForEach-ObjectProcess polecenia cmdlet.

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

Ten przykład dodaje 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ę poleceniem 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 polecenia 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 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-HistoryPassThru 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 polecenia w pliku są dodawany do bieżącej 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-Historypolecenia cmdlet , Import-Clixmllub Import-Csv do Add-History.

Type:PSObject[]
Position:0
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

HistoryInfo

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 godziny rozpoczęcia i zakończenia polecenia. Podczas wprowadzania 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ć jej ścieżki i nazwy pliku ani listy poleceń.

Parametru InputObject można użyć do przekazania pliku 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-Historypolecenia , nie używaj parametru Export-CsvNoTypeInformation 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 polecenia Add-History , aby dołączyć ją do bieżącej historii sesji.