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. 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

# 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

Met deze opdrachten worden de opdrachten die in één Windows PowerShell-sessie zijn getypt, toegevoegd aan de geschiedenis van een andere Windows PowerShell-sessie. De tweede opdracht wordt getypt op de opdrachtregel van een andere sessie.

De pijplijnoperator | de objecten doorgeeft 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

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

Met deze opdracht importeert u opdrachten uit het History.xml-bestand, voegt u deze toe aan de huidige sessiegeschiedenis en voert u vervolgens de opdrachten uit in de gecombineerde geschiedenis.

De Import-Clixml cmdlet importeert een opdrachtgeschiedenis die is geëxporteerd naar het History.xml bestand.

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 ForEach-Object-cmdlet voor het toepassen van de Invoke-History opdracht op elk van de opdrachten in de gecombineerde geschiedenis.

De opdracht Invoke-History is opgemaakt als een scriptblok, tussen accolades, zoals vereist door de parameter Process van de cmdlet ForEach-Object.

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

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

Met deze opdracht worden de eerste vijf opdrachten in de geschiedenis toegevoegd aan het einde van de geschiedenislijst. Hierbij wordt de Get-History cmdlet gebruikt om de vijf opdrachten op te halen die eindigen op opdracht 5. De pijplijnoperator geeft deze door aan de Add-History cmdlet, die deze toevoegt aan de huidige geschiedenis.

De opdracht bevat geen parameters, maar Windows PowerShell koppelt de objecten die via de pijplijn worden doorgegeven aan de parameter inputObject van .

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

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

Met deze opdrachten worden de opdrachten in het History.csv bestand toegevoegd aan de huidige sessiegeschiedenis.

De eerste opdracht gebruikt de Import-Csv cmdlet om de opdrachten in het History.csv bestand te importeren en de inhoud ervan op te slaan in de variabele $a.

De tweede opdracht maakt gebruik van de Add-History cmdlet om de opdrachten uit History.csv toe te voegen aan de huidige sessiegeschiedenis.

Hierbij wordt de parameter InputObject gebruikt om de variabele $a en de parameter PassThru 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

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

Met deze opdracht worden de opdrachten in het History01.xml-bestand toegevoegd aan de huidige sessiegeschiedenis. De parameter InputObject wordt gebruikt om de resultaten van de opdracht tussen haakjes door te geven aan de Add-History-cmdlet.

Met de opdracht tussen haakjes, die eerst wordt uitgevoerd, wordt het History01.xml-bestand geïmporteerd in Windows 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.

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

-Passthru

Geeft aan dat deze cmdlet een geschiedenisobject 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 or Microsoft.PowerShell.Commands.HistoryInfo

Met deze cmdlet wordt een HistoryInfo--object geretourneerd als u de parameter PassThru opgeeft. Anders genereert deze cmdlet geen uitvoer.

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. Wanneer u elke opdracht invoert, voegt Windows 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.