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-Clixml
of 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
U kunt een HistoryInfo-object doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert standaard geen uitvoer.
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-History
wilt 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.