Add-History

Fügt Einträge an den Sitzungsverlauf an.

Syntax

Add-History
   [[-InputObject] <PSObject[]>]
   [-Passthru]
   [<CommonParameters>]

Beschreibung

Das Add-History Cmdlet 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, Standard vom PSReadLine-Modul enthalten ist. Beide Historien 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 sie 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 Add-Historyan ü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 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 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, wodurch die Objekte hinzugefügt werden, die die Befehle in der History.csv Datei zum aktuellen Sitzungsverlauf darstellen.

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 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 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, 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 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 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 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 anfüge. Der Add-History Befehl enthält keine Parameter, aber PowerShell ordnet die an die Pipeline übergebenen Objekte dem InputObject-Parameter von Add-History.

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 Import-Csv Cmdlet importiert die Befehle in der History.csv Datei und speichert deren Inhalt in der Variablen $a.

Der zweite Befehl verwendet das Add-History Cmdlet, um die Befehle aus History.csv dem aktuellen Sitzungsverlauf hinzuzufügen. Er 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 zum 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 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 senden, z. B. die, die von den Get-History, Import-Clixmloder Import-Csv Cmdlets zurückgegeben werden, 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 ein HistoryInfo -Objekt für jeden Verlaufseintrag 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

HistoryInfo

Sie können ein HistoryInfo-Objekt an dieses Cmdlet weiterleiten.

Ausgaben

None

Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.

HistoryInfo

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

Verwenden Sie den InputObject-Parameter , um die Befehle anzugeben, die dem Verlauf hinzugefügt werden sollen. Der Add-History Befehl akzeptiert nur HistoryInfo-Objekte , z. B. diejenigen, die Get-History für jeden Befehl vom 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 von HistoryInfo-Objekten an .Add-History Exportieren Sie dazu die Ergebnisse eines Get-History Befehls mithilfe Export-Csv des Cmdlets oder Export-Clixml des Cmdlets in eine Datei, und importieren Sie die Datei dann mit den Import-Csv Oder-Cmdlets Import-Clixml . Anschließend können Sie die Datei importierter HistoryInfo-ObjekteAdd-History über eine Pipeline oder in einer Variablen übergeben. Weitere Informationen finden Sie unter Beispiele.

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 die Objekte wieder Add-Historyübergeben möchten, verwenden Sie nicht den Parameter "NoTypeInformation " 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 an den aktuellen Sitzungsverlauf an.