Dela via


Add-History

Lägger till poster i sessionshistoriken.

Syntax

Add-History
   [[-InputObject] <PSObject[]>]
   [-Passthru]
   [<CommonParameters>]

Description

Cmdleten Add-History lägger till poster i slutet av sessionshistoriken, d.v.s. listan över kommandon som angavs under den aktuella sessionen. Du kan använda cmdleten Get-History för att hämta kommandona och skicka dem till Add-History, eller så kan du exportera kommandona till en CSV- eller XML-fil, sedan importera kommandona och skicka den importerade filen till Add-History. Du kan använda den här cmdleten för att lägga till specifika kommandon i historiken eller för att skapa en enda historikfil som innehåller kommandon från mer än en session.

Exempel

Exempel 1: Lägga till kommandon i historiken för en annan session

# Get objects representing the commands in the history and exports them to the History.csv file.
Get-History | Export-Csv c:\testing\history.csv
# Use the `Import-Csv` cmdlet to import the objects in the History.csv file.
Import-Csv history.csv | Add-History

Dessa kommandon lägger till kommandon som skrivits i en Windows PowerShell-session i historiken för en annan Windows PowerShell-session. Det andra kommandot skrivs på kommandoraden i en annan session.

Pipelineoperatorn | skickar objekten till cmdleten Add-History, vilket lägger till objekten som representerar kommandona i History.csv-filen till den aktuella sessionshistoriken.

Exempel 2: Importera och köra kommandon

Import-Clixml c:\temp\history.xml | Add-History -Passthru | ForEach-Object -Process {Invoke-History}

Det här kommandot importerar kommandon från filen History.xml, lägger till dem i den aktuella sessionshistoriken och kör sedan kommandona i den kombinerade historiken.

Cmdleten Import-Clixml importerar en kommandohistorik som exporterades till filen History.xml.

Pipelineoperatorn skickar kommandona till cmdleten Add-History, vilket lägger till kommandona i den aktuella sessionshistoriken.

Parametern PassThru skickar objekten som representerar de tillagda kommandona i pipelinen.

Den ForEach-Object cmdleten för tillämpar kommandot Invoke-History på vart och ett av kommandona i den kombinerade historiken.

Kommandot Invoke-History formateras som ett skriptblock, omgivet av klammerparenteser, enligt vad som krävs av parametern Process för cmdleten ForEach-Object.

Exempel 3: Lägg till kommandon i historiken i slutet av historiken

Get-History -Id 5 -Count 5 | Add-History

Det här kommandot lägger till de första fem kommandona i historiken i slutet av historiklistan. Den använder cmdleten Get-History för att hämta de fem kommandon som slutar med kommando 5. Pipelineoperatorn skickar dem till cmdleten Add-History som lägger till dem i den aktuella historiken.

Kommandot Add-History innehåller inga parametrar, men Windows PowerShell associerar objekten som skickas via pipelinen med parametern InputObject för Add-History.

Exempel 4: Lägg till kommandon i en .csv fil i den aktuella historiken

$a = Import-Csv c:\testing\history.csv
Add-History -InputObject $a -PassThru

Dessa kommandon lägger till kommandona i filen History.csv i den aktuella sessionshistoriken.

Det första kommandot använder cmdleten Import-Csv för att importera kommandona i filen History.csv och lagra innehållet i variabeln $a.

Det andra kommandot använder cmdleten Add-History för att lägga till kommandona från History.csv till den aktuella sessionshistoriken.

Den använder parametern InputObject för att ange variabeln $a och parametern PassThru för att generera ett objekt som ska visas på kommandoraden. Utan parametern PassThru genererar cmdleten Add-History inga utdata.

Exempel 5: Lägg till kommandon i en .xml fil i den aktuella historiken

Add-History -InputObject (Import-Clixml c:\temp\history01.xml)

Det här kommandot lägger till kommandona i filen History01.xml i den aktuella sessionshistoriken. Den använder parametern InputObject för att skicka resultatet av kommandot inom parenteser till cmdleten Add-History.

Kommandot inom parenteser, som körs först, importerar History01.xml-filen till Windows PowerShell. Cmdleten Add-History lägger sedan till kommandona i filen i sessionshistoriken.

Parametrar

-InputObject

Anger en matris med poster som ska läggas till i historiken som HistoryInfo-objekt i sessionshistoriken. Du kan använda den här parametern för att skicka ett HistoryInfo--objekt, till exempel de som returneras av cmdletarna Get-History, Import-Clixmleller Import-Csv för att Add-History.

Typ:PSObject[]
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Passthru

Anger att den här cmdleten returnerar ett historikobjekt för varje historikpost. Som standard genererar den här cmdleten inga utdata.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

HistoryInfo

Du kan skicka ett HistoryInfo- objekt till den här cmdleten.

Utdata

None or Microsoft.PowerShell.Commands.HistoryInfo

Den här cmdleten returnerar ett HistoryInfo--objekt om du anger parametern PassThru. Annars genererar den här cmdleten inga utdata.

Kommentarer

  • Sessionshistoriken är en lista över de kommandon som angavs under sessionen tillsammans med ID:t. Sessionshistoriken representerar körningsordningen, statusen och start- och sluttiderna för kommandot. När du anger varje kommando lägger Windows PowerShell till det i historiken så att du kan återanvända det. Mer information om sessionshistoriken finns i about_History.

  • Om du vill ange de kommandon som ska läggas till i historiken använder du parametern InputObject. Kommandot Add-History accepterar endast HistoryInfo objekt, till exempel de som returneras för varje kommando av cmdleten Get-History. Du kan inte skicka en sökväg och ett filnamn eller en lista med kommandon.

  • Du kan använda parametern InputObject för att skicka en fil med HistoryInfo objekt till Add-History. Det gör du genom att exportera resultatet av ett Get-History-kommando till en fil med hjälp av cmdleten Export-Csv eller Export-Clixml och sedan importera filen med hjälp av cmdletarna Import-Csv eller Import-Clixml. Du kan sedan skicka filen med importerade HistoryInfo objekt till Add-History via en pipeline eller i en variabel. Mer information finns i exemplen.

  • Filen med HistoryInfo objekt som du skickar till cmdleten Add-History måste innehålla typinformation, kolumnrubriker och alla egenskaper för objekten HistoryInfo. Om du tänker skicka objekten tillbaka till Add-Historyska du inte använda parametern NoTypeInformation för cmdleten Export-Csv och ta inte bort typinformation, kolumnrubriker eller fält i filen. Om du vill ändra sessionshistoriken exporterar du sessionen till en CSV- eller XML-fil, ändrar filen, importerar filen och använder Add-History för att lägga till den i den aktuella sessionshistoriken.