Udostępnij za pośrednictwem


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-Historypolecenia cmdlet , Import-Clixmllub 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

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 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.