Add-History
Fügt Einträge an den Sitzungsverlauf an.
Syntax
Add-History
[[-InputObject] <PSObject[]>]
[-Passthru]
[<CommonParameters>]
Beschreibung
Das Add-History
Cmdlet fügt am 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. Wenn 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 Verlaufsverläufe sind in Sitzungen verfügbar, in denen PSReadLine geladen wird. Dieses Cmdlet funktioniert nur mit dem Sitzungsverlauf. Weitere Informationen finden Sie unter about_PSReadLine.
Sie können das Get-History
Cmdlet verwenden, um die Befehle abzurufen und an zu Add-History
ü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. Sie können dieses Cmdlet verwenden, um bestimmte Befehle zum Verlauf hinzuzufügen oder eine einzelne Verlaufsdatei zu 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 dem 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 in der Befehlszeile einer anderen Sitzung eingegeben. Es verwendet das Import-Csv
Cmdlet, um die Objekte in der History.csv
Datei zu importieren. Der Pipelineoperator (|
) übergibt die Objekte an das Add-History
Cmdlet, das die -Objekte, die die Befehle in der History.csv
Datei darstellen, dem aktuellen Sitzungsverlauf hinzufügt.
Beispiel 2: Importieren und Ausführen von Befehlen
In diesem Beispiel werden Befehle aus der History.xml
Datei importiert, dem aktuellen Sitzungsverlauf hinzugefügt und dann 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 Import-Clixml
Cmdlet, um einen Befehlsverlauf zu importieren, der in die History.xml
Datei exportiert wurde. Der Pipelineoperator übergibt die Befehle an das Add-History
Cmdlet, das die Befehle dem aktuellen Sitzungsverlauf hinzufügt. Der PassThru-Parameter übergibt die Objekte, die die hinzugefügten Befehle in der Pipeline darstellen.
Der Befehl verwendet dann das ForEach-Object
Cmdlet, um den Invoke-History
Befehl auf jeden der Befehle im kombinierten Verlauf anzuwenden. Der Invoke-History
Befehl ist als Skriptblock formatiert, der in geschweifte Klammern ({}
) eingeschlossen ist, wie für den Process-Parameter des ForEach-Object
Cmdlets erforderlich.
Beispiel 3: Hinzufügen von Befehlen im Verlauf am 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 Get-History
Cmdlet ruft die fünf Befehle ab, die auf Befehl 5 enden. Der Pipelineoperator übergibt sie an das Add-History
Cmdlet, das sie an den aktuellen Verlauf anhängt. Der Add-History
Befehl enthält keine Parameter, aber PowerShell ordnet die Objekte, die durch die Pipeline übergeben werden, dem InputObject-Parameter 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 dem aktuellen Sitzungsverlauf hinzugefügt.
$a = Import-Csv -Path C:\testing\history.csv
Add-History -InputObject $a -PassThru
Das Import-Csv
Cmdlet importiert die Befehle in der History.csv
Datei und speichert den Inhalt in der Variablen $a
.
Der zweite Befehl verwendet das Add-History
Cmdlet, um die Befehle aus History.csv
dem aktuellen Sitzungsverlauf hinzuzufügen. Es verwendet den InputObject-Parameter , um die $a
Variable und den PassThru-Parameter anzugeben, um ein Objekt zu generieren, das in der Befehlszeile angezeigt werden soll. Ohne den PassThru-Parameter generiert das Add-History
Cmdlet 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 dem aktuellen Sitzungsverlauf hinzugefügt.
Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)
Der InputObject-Parameter übergibt die Ergebnisse des Befehls in Klammern an das Add-History
Cmdlet. Der Befehl in Klammern, der zuerst ausgeführt wird, importiert die history.xml
Datei in PowerShell. Das Add-History
Cmdlet fügt dann die Befehle in der Datei dem 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. das Objekt, das von den Get-History
Cmdlets , Import-Clixml
oder Import-Csv
zurückgegeben wird, an Add-History
.
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Passthru
Gibt an, dass dieses Cmdlet für jeden Verlaufseintrag ein HistoryInfo-Objekt zurückgibt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Sie können ein HistoryInfo-Objekt an dieses Cmdlet übergeben.
Ausgaben
None
Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.
Wenn Sie den PassThru-Parameter 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. Wenn 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.
Verwenden Sie zum Angeben der Befehle, die dem Verlauf hinzugefügt werden sollen, den InputObject-Parameter. Der Add-History
Befehl akzeptiert nur HistoryInfo-Objekte , z. B. solche, die für jeden Befehl vom Get-History
Cmdlet zurückgegeben werden. Sie können ihm keinen Pfad und Dateinamen bzw. eine Befehlsliste übergeben.
Sie können den InputObject-Parameter verwenden, um eine Datei mit HistoryInfo-Objekten an zu Add-History
übergeben. Exportieren Sie hierzu die Ergebnisse eines Get-History
Befehls mithilfe Export-Csv
des Cmdlets oder Export-Clixml
in eine Datei, und importieren Sie die Datei dann mithilfe der Import-Csv
Cmdlets oder Import-Clixml
. Anschließend können Sie die Datei der importierten HistoryInfo-ObjekteAdd-History
über eine Pipeline oder in einer Variablen an übergeben. Weitere Informationen finden Sie in den Beispielen.
Die Datei der HistoryInfo-Objekte , die Sie an das Add-History
Cmdlet übergeben, muss die Typinformationen, Spaltenüberschriften und alle Eigenschaften der HistoryInfo-Objekte enthalten. Wenn Sie beabsichtigen, die Objekte an zurückzugeben Add-History
, verwenden Sie nicht den NoTypeInformation-Parameter des Export-Csv
Cmdlets, 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 fügen Add-History
Sie sie mit an den aktuellen Sitzungsverlauf an.