Add-History
Voegt vermeldingen toe aan de sessiegeschiedenis.
Syntax
Default (Standaard)
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_Historyvoor meer informatie over de sessiegeschiedenis.
De sessiegeschiedenis wordt afzonderlijk beheerd van de geschiedenis die wordt onderhouden door de PSReadLine module. Beide geschiedenissen zijn beschikbaar tijdens sessies waarin PSReadLine geladen is. Deze cmdlet werkt alleen met de sessiegeschiedenis. Zie about_PSReadLinevoor 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 parameter PassThru 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 cmdlet Add-History 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 het object dat wordt geretourneerd door de Get-History, Import-Clixmlof Import-Csv cmdlets, naar Add-History.
Parametereigenschappen
| Type: | PSObject[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | 0 |
| Verplicht: | False |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-PassThru
Geeft aan dat deze cmdlet een HistoryInfo-object retourneert voor elke geschiedenisvermelding. Deze cmdlet genereert standaard geen uitvoer.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
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_Historyvoor meer informatie over de sessiegeschiedenis.
Als u de opdrachten wilt opgeven die u aan de geschiedenis wilt toevoegen, gebruikt u de parameter InputObject. De opdracht Add-History 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 van 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 cmdlet Export-Csv of Export-Clixml en importeert u het bestand vervolgens met behulp van de cmdlets Import-Csv of Import-Clixml. Vervolgens kunt u het bestand van geïmporteerde HistoryInfo objecten doorgeven aan Add-History via een pijplijn of in een variabele. Zie de voorbeelden voor meer informatie.
Het bestand van 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 wilt doorgeven aan Add-History, 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 u Add-History om deze toe te voegen aan de huidige sessiegeschiedenis.