Delen via


Add-History

Voegt vermeldingen toe aan de sessiegeschiedenis.

Syntaxis

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

Description

De Add-History cmdlet voegt vermeldingen toe aan het einde van de sessiegeschiedenis, dat wil gezegd, de lijst met opdrachten die tijdens de huidige sessie zijn ingevoerd.

De sessiegeschiedenis is een lijst met de opdrachten die tijdens de sessie zijn ingevoerd. De sessiegeschiedenis vertegenwoordigt de volgorde van uitvoering, de status en de begin- en eindtijd van de opdracht. Terwijl u elke opdracht invoert, voegt PowerShell deze toe aan de geschiedenis, zodat u deze opnieuw kunt gebruiken. Zie about_History voor meer informatie over de sessiegeschiedenis.

De sessiegeschiedenis wordt afzonderlijk beheerd van de geschiedenis die wordt onderhouden door de PSReadLine-module . Beide geschiedenissen zijn beschikbaar in sessies waarin PSReadLine wordt geladen. Deze cmdlet werkt alleen met de sessiegeschiedenis. Zie about_PSReadLine voor meer informatie.

U kunt de Get-History cmdlet gebruiken om de opdrachten op te halen en door te geven aan Add-History, of u kunt de opdrachten exporteren naar een CSV- of XML-bestand, de opdrachten importeren en het geïmporteerde bestand doorgeven aan Add-History. U kunt deze cmdlet gebruiken om specifieke opdrachten toe te voegen aan de geschiedenis of om één geschiedenisbestand te maken dat opdrachten uit meer dan één sessie bevat.

Voorbeelden

Voorbeeld 1: Opdrachten toevoegen aan de geschiedenis van een andere sessie

In dit voorbeeld worden de opdrachten die in één PowerShell-sessie zijn getypt, toegevoegd aan de geschiedenis van een andere PowerShell-sessie.

Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History

Met de eerste opdracht worden objecten opgehaald die de opdrachten in de geschiedenis vertegenwoordigen en exporteren naar het History.csv bestand.

De tweede opdracht wordt getypt op de opdrachtregel van een andere sessie. Hierbij wordt de Import-Csv cmdlet gebruikt om de objecten in het History.csv bestand te importeren. De pijplijnoperator (|) geeft de objecten door aan de Add-History cmdlet, waarmee de objecten die de opdrachten in het History.csv bestand vertegenwoordigen, worden toegevoegd aan de huidige sessiegeschiedenis.

Voorbeeld 2: Opdrachten importeren en uitvoeren

In dit voorbeeld worden opdrachten uit het History.xml bestand geïmporteerd, toegevoegd aan de huidige sessiegeschiedenis en worden de opdrachten in de gecombineerde geschiedenis uitgevoerd.

Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}

De eerste opdracht gebruikt de Import-Clixml cmdlet om een opdrachtgeschiedenis te importeren die naar het History.xml bestand is geëxporteerd. De pijplijnoperator geeft de opdrachten door aan de Add-History cmdlet, waarmee de opdrachten worden toegevoegd aan de huidige sessiegeschiedenis. De parameter PassThru geeft de objecten door die de toegevoegde opdrachten in de pijplijn vertegenwoordigen.

De opdracht gebruikt vervolgens de ForEach-Object cmdlet om de Invoke-History opdracht toe te passen op elk van de opdrachten in de gecombineerde geschiedenis. De Invoke-History opdracht is opgemaakt als een scriptblok, tussen accolades ({}), zoals vereist door de procesparameter van de ForEach-Object cmdlet.

Voorbeeld 3: Opdrachten toevoegen in de geschiedenis aan het einde van de geschiedenis

In dit voorbeeld worden de eerste vijf opdrachten in de geschiedenis toegevoegd aan het einde van de geschiedenislijst.

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

De Get-History cmdlet haalt de vijf opdrachten op die eindigen op opdracht 5. De pijplijnoperator geeft deze door aan de Add-History cmdlet, die deze toevoegt aan de huidige geschiedenis. De Add-History opdracht bevat geen parameters, maar PowerShell koppelt de objecten die via de pijplijn worden doorgegeven aan de parameter InputObject van Add-History.

Voorbeeld 4: Opdrachten toevoegen in een .csv bestand aan de huidige geschiedenis

In dit voorbeeld worden de opdrachten in het History.csv bestand toegevoegd aan de huidige sessiegeschiedenis.

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

De Import-Csv cmdlet importeert de opdrachten in het History.csv bestand en slaat de inhoud ervan op in de variabele $a.

De tweede opdracht gebruikt de Add-History cmdlet om de opdrachten toe te voegen aan History.csv de huidige sessiegeschiedenis. Hierbij wordt de parameter InputObject gebruikt om de $a variabele en de PassThru-parameter op te geven om een object te genereren dat op de opdrachtregel moet worden weergegeven. Zonder de PassThru-parameter genereert de Add-History cmdlet geen uitvoer.

Voorbeeld 5: Opdrachten toevoegen in een .xml-bestand aan de huidige geschiedenis

In dit voorbeeld worden de opdrachten in het history.xml bestand toegevoegd aan de huidige sessiegeschiedenis.

Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)

De parameter InputObject geeft de resultaten van de opdracht tussen haakjes door aan de Add-History cmdlet. Met de opdracht tussen haakjes, die eerst wordt uitgevoerd, wordt het history.xml bestand geïmporteerd in PowerShell. De Add-History cmdlet voegt vervolgens de opdrachten in het bestand toe aan de sessiegeschiedenis.

Parameters

-InputObject

Hiermee geeft u een matrix van vermeldingen toe te voegen aan de geschiedenis als HistoryInfo-object aan de sessiegeschiedenis. U kunt deze parameter gebruiken om een HistoryInfo-object te verzenden, zoals de objecten die worden geretourneerd door de Get-History, Import-Clixmlof Import-Csv cmdlets, naar Add-History.

Type:PSObject[]
Position:0
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-PassThru

Geeft aan dat deze cmdlet een HistoryInfo-object retourneert voor elke geschiedenisvermelding. Deze cmdlet genereert standaard geen uitvoer.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

HistoryInfo

U kunt een HistoryInfo-object doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

HistoryInfo

Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een HistoryInfo-object .

Notities

De sessiegeschiedenis is een lijst met de opdrachten die tijdens de sessie zijn ingevoerd, samen met de id. De sessiegeschiedenis vertegenwoordigt de volgorde van uitvoering, de status en de begin- en eindtijd van de opdracht. Terwijl u elke opdracht invoert, voegt PowerShell deze toe aan de geschiedenis, zodat u deze opnieuw kunt gebruiken. Zie about_History voor meer informatie over de sessiegeschiedenis.

Als u de opdrachten wilt opgeven die u aan de geschiedenis wilt toevoegen, gebruikt u de parameter InputObject . De Add-History opdracht accepteert alleen HistoryInfo-objecten , zoals objecten die worden geretourneerd voor elke opdracht door de Get-History cmdlet. U kunt het pad en de bestandsnaam of een lijst met opdrachten niet doorgeven.

U kunt de parameter InputObject gebruiken om een bestand met HistoryInfo-objecten door te geven aan Add-History. Hiervoor exporteert u de resultaten van een Get-History opdracht naar een bestand met behulp van de Export-Csv of Export-Clixml cmdlet en importeert u het bestand vervolgens met behulp van de Import-Csv of Import-Clixml cmdlets. Vervolgens kunt u het bestand van geïmporteerde HistoryInfo-objecten doorgeven via Add-History een pijplijn of in een variabele. Zie voor meer informatie de voorbeelden.

Het bestand met HistoryInfo-objecten die u aan de Add-History cmdlet doorgeeft, moet de typegegevens, kolomkoppen en alle eigenschappen van de HistoryInfo-objecten bevatten. Als u de objecten weer Add-Historywilt doorgeven, gebruikt u de parameter NoTypeInformation van de Export-Csv cmdlet niet en verwijdert u de typegegevens, kolomkoppen of velden in het bestand niet.

Als u de sessiegeschiedenis wilt wijzigen, exporteert u de sessie naar een CSV- of XML-bestand, wijzigt u het bestand, importeert u het bestand en gebruikt Add-History u deze toe te voegen aan de huidige sessiegeschiedenis.