Add-History
Lägger till poster i sessionshistoriken.
Syntax
Default (Standard)
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.
Sessionshistoriken är en lista över de kommandon som angavs under sessionen. Sessionshistoriken representerar exekveringsordningen, statusen och start- och sluttiderna för kommandot. När du anger varje kommando lägger PowerShell till det i historiken så att du kan återanvända det. Mer information om sessionshistoriken finns i about_History.
Sessionshistoriken hanteras separat från historiken som underhålls av modulen PSReadLine. Båda historikerna är tillgängliga i sessioner där PSReadLine är laddad. Den här cmdleten fungerar bara med sessionshistoriken. Mer information finns i about_PSReadLine.
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
I det här exemplet lägger du till kommandon som skrivits i en PowerShell-session i historiken för en annan PowerShell-session.
Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History
Det första kommandot hämtar objekt som representerar kommandona i historiken och exporterar dem till filen History.csv.
Det andra kommandot skrivs på kommandoraden i en annan session. Den använder cmdleten Import-Csv för att importera objekten i History.csv-filen. 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
Det här exemplet importerar kommandon från filen History.xml, lägger till dem i den aktuella sessionshistoriken och kör sedan kommandona i den kombinerade historiken.
Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}
Det första kommandot använder cmdleten Import-Clixml för att importera 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.
Kommandot använder sedan cmdleten ForEach-Object för att tillämpa kommandot Invoke-History på vart och ett av kommandona i den kombinerade historiken. Kommandot Invoke-History formateras som ett skriptblock, omgivet av klammerparenteser ({}), enligt parametern Process i cmdleten ForEach-Object.
Exempel 3: Lägg till kommandon i historiken i slutet av historiken
Det här exemplet lägger till de första fem kommandona i historiken i slutet av historiklistan.
Get-History -Id 5 -Count 5 | Add-History
Cmdleten Get-History hämtar 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 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
I det här exemplet lägger du till kommandona i filen History.csv i den aktuella sessionshistoriken.
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
Cmdleten Import-Csv importerar kommandona i filen History.csv och lagrar 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
I det här exemplet läggs kommandona i filen history.xml till den aktuella sessionshistoriken.
Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)
Parametern InputObject skickar resultatet av kommandot inom parenteser till cmdleten Add-History. Kommandot inom parenteser, som körs först, importerar history.xml-filen till 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, så som de som returneras av cmdletarna Get-History, Import-Clixmleller Import-Csv till Add-History.
Parameteregenskaper
| Typ: | PSObject[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | 0 |
| Obligatorisk: | False |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-PassThru
Anger att den här cmdleten returnerar ett HistoryInfo- objekt för varje historikpost. Som standard genererar den här cmdleten inga utdata.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
HistoryInfo
Du kan skicka ett HistoryInfo- objekt till den här cmdleten.
Utdata
None
Som standard returnerar den här cmdleten inga utdata.
HistoryInfo
När du använder parametern PassThru returnerar den här cmdleten ett HistoryInfo-objekt.
Kommentarer
Sessionshistoriken är en lista över de kommandon som angavs under sessionen tillsammans med ID:t. Sessionshistoriken representerar exekveringsordningen, statusen och start- och sluttiderna för kommandot. När du anger varje kommando lägger 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.