Add-History
Fügt Einträge an den Sitzungsverlauf an.
Syntax
Add-History
[[-InputObject] <PSObject[]>]
[-PassThru]
[<CommonParameters>]
Beschreibung
Das Cmdlet Add-History
fügt dem Ende des Sitzungsverlaufs Einträge hinzu, d. h. die Liste der Befehle, die während der aktuellen Sitzung eingegeben wurden.
Der Sitzungsverlauf ist eine Liste der Befehle, die während der Sitzung eingegeben wurden. Der Sitzungsverlauf stellt die Reihenfolge der Ausführung, den Status und die Start- und Endzeiten des Befehls dar. Während Sie jeden Befehl eingeben, fügt PowerShell ihn dem Verlauf hinzu, damit Sie ihn wiederverwenden können. Weitere Informationen zum Sitzungsverlauf finden Sie unter about_History.
Der Sitzungsverlauf wird getrennt vom Verlauf verwaltet, der vom PSReadLine Modul verwaltet wird. Beide Historien sind in Sitzungen verfügbar, in denen PSReadLine- geladen wird. Dieses Cmdlet funktioniert nur mit dem Sitzungsverlauf. Weitere Informationen finden Sie about_PSReadLine.
Sie können das Cmdlet Get-History
verwenden, um die Befehle abzurufen und an Add-History
zu übergeben, oder Sie können die Befehle in eine CSV- oder XML-Datei exportieren, dann die Befehle importieren und die importierte Datei an Add-History
übergeben. Mit diesem Cmdlet können Sie dem Verlauf bestimmte Befehle hinzufügen oder eine einzelne Verlaufsdatei erstellen, die Befehle aus mehreren Sitzungen enthält.
Beispiele
Beispiel 1: Hinzufügen von Befehlen zum Verlauf einer anderen Sitzung
In diesem Beispiel werden die in einer PowerShell-Sitzung eingegebenen Befehle zum Verlauf einer anderen PowerShell-Sitzung hinzugefügt.
Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History
Der erste Befehl ruft Objekte ab, die die Befehle im Verlauf darstellen, und exportiert sie in die History.csv
Datei.
Der zweite Befehl wird an der Befehlszeile einer anderen Sitzung eingegeben. Es verwendet das Cmdlet Import-Csv
, um die Objekte in der History.csv
Datei zu importieren. Der Pipelineoperator (|
) übergibt die Objekte an das Cmdlet Add-History
, wodurch die Objekte hinzugefügt werden, die die Befehle in der History.csv
Datei dem aktuellen Sitzungsverlauf darstellen.
Beispiel 2: Importieren und Ausführen von Befehlen
In diesem Beispiel werden Befehle aus der datei History.xml
importiert, dem aktuellen Sitzungsverlauf hinzugefügt und anschließend die Befehle im kombinierten Verlauf ausgeführt.
Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}
Der erste Befehl verwendet das Cmdlet Import-Clixml
, um einen Befehlsverlauf zu importieren, der in die History.xml
Datei exportiert wurde. Der Pipelineoperator übergibt die Befehle an das Cmdlet Add-History
, wodurch die Befehle zum aktuellen Sitzungsverlauf hinzugefügt werden. Der PassThru Parameter übergibt die Objekte, die die hinzugefügten Befehle in der Pipeline darstellen.
Der Befehl verwendet dann das cmdlet ForEach-Object
, um den befehl Invoke-History
auf jeden der Befehle im kombinierten Verlauf anzuwenden. Der Befehl Invoke-History
ist als Skriptblock formatiert, der in geschweifte Klammern ({}
) eingeschlossen ist, wie der parameter Process des Cmdlets ForEach-Object
erforderlich ist.
Beispiel 3: Hinzufügen von Befehlen im Verlauf zum Ende des Verlaufs
In diesem Beispiel werden die ersten fünf Befehle im Verlauf am Ende der Verlaufsliste hinzugefügt.
Get-History -Id 5 -Count 5 | Add-History
Das Cmdlet Get-History
ruft die fünf Befehle ab, die mit Befehl 5 enden. Der Pipelineoperator übergibt sie an das Cmdlet Add-History
, das sie an den aktuellen Verlauf anfüge. Der Befehl Add-History
enthält keine Parameter, aber PowerShell ordnet die objekte, die über die Pipeline übergeben werden, dem parameter InputObject von Add-History
zu.
Beispiel 4: Hinzufügen von Befehlen in einer .csv Datei zum aktuellen Verlauf
In diesem Beispiel werden die Befehle in der History.csv
-Datei zum aktuellen Sitzungsverlauf hinzugefügt.
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
Das cmdlet Import-Csv
importiert die Befehle in der History.csv
-Datei und speichert deren Inhalt in der Variablen $a
.
Der zweite Befehl verwendet das Cmdlet Add-History
, um die Befehle aus History.csv
zum aktuellen Sitzungsverlauf hinzuzufügen. Es verwendet den parameter InputObject, um die $a
Variable und den PassThru- Parameter anzugeben, um ein Objekt zu generieren, das in der Befehlszeile angezeigt werden soll. Ohne den parameter PassThru generiert das cmdlet Add-History
keine Ausgabe.
Beispiel 5: Hinzufügen von Befehlen in einer .xml Datei zum aktuellen Verlauf
In diesem Beispiel werden die Befehle in der history.xml
-Datei zum aktuellen Sitzungsverlauf hinzugefügt.
Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)
Der parameter InputObject übergibt die Ergebnisse des Befehls in Klammern an das cmdlet Add-History
. Der Befehl in Klammern, der zuerst ausgeführt wird, importiert die history.xml
Datei in PowerShell. Das cmdlet Add-History
fügt dann die Befehle in der Datei zum Sitzungsverlauf hinzu.
Parameter
-InputObject
Gibt ein Array von Einträgen an, die dem Verlauf als HistoryInfo Objekt zum Sitzungsverlauf hinzugefügt werden sollen.
Sie können diesen Parameter verwenden, um ein HistoryInfo-objekt zu übermitteln, z. B. die objekte, die vom Get-History
, Import-Clixml
oder Import-Csv
Cmdlets zurückgegeben werden, an Add-History
.
Typ: | PSObject[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-PassThru
Gibt an, dass dieses Cmdlet ein HistoryInfo-objekt für jeden Verlaufseintrag zurückgibt. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können ein HistoryInfo- objekt an dieses Cmdlet weiterleiten.
Ausgaben
None
Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.
Wenn Sie den parameter PassThru verwenden, gibt dieses Cmdlet ein HistoryInfo--Objekt zurück.
Hinweise
Der Sitzungsverlauf ist eine Liste der Befehle, die während der Sitzung zusammen mit der ID eingegeben wurden. Der Sitzungsverlauf stellt die Reihenfolge der Ausführung, den Status und die Start- und Endzeiten des Befehls dar. Während Sie jeden Befehl eingeben, fügt PowerShell ihn dem Verlauf hinzu, damit Sie ihn wiederverwenden können. Weitere Informationen zum Sitzungsverlauf finden Sie unter about_History.
Um die Befehle anzugeben, die dem Verlauf hinzugefügt werden sollen, verwenden Sie den parameter InputObject. Der befehl Add-History
akzeptiert nur HistoryInfo- Objekte, z. B. die für jeden Befehl vom Cmdlet Get-History
zurückgegebenen. Sie können ihn nicht an einen Pfad und Dateinamen oder eine Liste von Befehlen übergeben.
Sie können den parameter InputObject verwenden, um eine Datei mit HistoryInfo- Objekten an Add-History
zu übergeben. Exportieren Sie dazu die Ergebnisse eines Get-History
Befehls mithilfe des Cmdlets Export-Csv
oder Export-Clixml
in eine Datei, und importieren Sie die Datei dann mithilfe der cmdlets Import-Csv
oder Import-Clixml
. Anschließend können Sie die Datei importierter HistoryInfo- Objekte übergeben, um über eine Pipeline oder in einer Variablen Add-History
zu Add-History
. Weitere Informationen finden Sie in den Beispielen.
Die Datei HistoryInfo Objekte, die Sie an das Cmdlet Add-History
übergeben, müssen die Typinformationen, Spaltenüberschriften und alle Eigenschaften der HistoryInfo--Objekte enthalten. Wenn Sie die Objekte an Add-History
übergeben möchten, verwenden Sie nicht den NoTypeInformation Parameter des Cmdlets Export-Csv
, und löschen Sie nicht die Typinformationen, Spaltenüberschriften oder Felder in der Datei.
Um den Sitzungsverlauf zu ändern, exportieren Sie die Sitzung in eine CSV- oder XML-Datei, ändern Sie die Datei, importieren Sie die Datei, und verwenden Sie Add-History
, um sie an den aktuellen Sitzungsverlauf anzufügen.