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 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-Historydo , 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-ObjectProcess 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-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 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-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 żadnego wyniku.

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 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-Historyelementu , 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 go Add-History , aby dołączyć ją do bieżącej historii sesji.