Add-History

Ajoute des entrées à l'historique de session.

Syntax

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

Description

L’applet Add-History de commande ajoute des entrées à la fin de l’historique de session, c’est-à-dire la liste des commandes entrées pendant la session active.

L'historique de session est une liste des commandes entrées pendant la session. L'historique de session représente l'ordre d'exécution, l'état et les heures de début et de fin de la commande. Lorsque vous entrez chaque commande, PowerShell l’ajoute à l’historique afin de pouvoir le réutiliser. Pour plus d’informations sur l’historique des sessions, consultez about_History.

L’historique des sessions est géré séparément de l’historique conservé par le module PSReadLine . Les deux historiques sont disponibles dans les sessions où PSReadLine est chargé. Cette applet de commande fonctionne uniquement avec l’historique de session. Pour plus d’informations, consultez about_PSReadLine.

Vous pouvez utiliser l’applet Get-History de commande pour obtenir les commandes et les transmettre à Add-History, ou vous pouvez exporter les commandes vers un fichier CSV ou XML, puis importer les commandes, puis passer le fichier importé à Add-History. Vous pouvez utiliser cette applet de commande pour ajouter des commandes spécifiques à l'historique ou pour créer un fichier d'historique unique qui inclut des commandes issues de plusieurs sessions.

Exemples

Exemple 1 : Ajouter des commandes à l’historique d’une autre session

Cet exemple montre comment ajouter les commandes tapées dans une session PowerShell à l’historique d’une autre session PowerShell.

Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History

La première commande obtient des objets représentant les commandes de l’historique et les exporte dans le History.csv fichier.

La seconde commande est entrée sur la ligne de commande d'une autre session. Il utilise l’applet Import-Csv de commande pour importer les objets dans le History.csv fichier. L’opérateur de pipeline (|) transmet les objets à l’applet Add-History de commande, ce qui ajoute les objets représentant les commandes du History.csv fichier à l’historique de session actuel.

Exemple 2 : Importer et exécuter des commandes

Cet exemple importe des commandes à partir du History.xml fichier, les ajoute à l’historique de session actuel, puis exécute les commandes dans l’historique combiné.

Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}

La première commande utilise l’applet Import-Clixml de commande pour importer un historique de commandes exporté vers le History.xml fichier. L’opérateur de pipeline transmet les commandes à l’applet Add-History de commande, ce qui ajoute les commandes à l’historique de session actuel. Le paramètre PassThru transmet les objets représentant les commandes ajoutées vers le bas du pipeline.

La commande utilise ensuite l’applet ForEach-Object de commande pour appliquer la Invoke-History commande à chacune des commandes de l’historique combiné. La Invoke-History commande est mise en forme en tant que bloc de script, placé entre accolades ({}), comme requis par le paramètre Process de l’applet ForEach-Object de commande.

Exemple 3 : Ajouter des commandes dans l’historique à la fin de l’historique

Cet exemple montre comment ajouter les cinq premières commandes de l’historique à la fin de la liste d’historiques.

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

L’applet Get-History de commande obtient les cinq commandes se terminant par la commande 5. L’opérateur de pipeline les transmet à l’applet Add-History de commande, qui les ajoute à l’historique actuel. La Add-History commande n’inclut aucun paramètre, mais PowerShell associe les objets transmis par le pipeline au paramètre InputObject de Add-History.

Exemple 4 : Ajouter des commandes dans un fichier .csv à l’historique actuel

Cet exemple montre comment ajouter les commandes du History.csv fichier à l’historique de session actuel.

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

L’applet Import-Csv de commande importe les commandes dans le History.csv fichier et stocke son contenu dans la variable $a.

La deuxième commande utilise l’applet Add-History de commande pour ajouter les commandes de History.csv l’historique de session actuel. Il utilise le paramètre InputObject pour spécifier la $a variable et le paramètre PassThru pour générer un objet à afficher sur la ligne de commande. Sans le paramètre PassThru , l’applet Add-History de commande ne génère aucune sortie.

Exemple 5 : Ajouter des commandes dans un fichier .xml à l’historique actuel

Cet exemple montre comment ajouter les commandes du history.xml fichier à l’historique de session actuel.

Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)

Le paramètre InputObject transmet les résultats de la commande entre parenthèses à l’applet Add-History de commande. La commande entre parenthèses, qui est exécutée en premier, importe le history.xml fichier dans PowerShell. L’applet Add-History de commande ajoute ensuite les commandes du fichier à l’historique de session.

Paramètres

-InputObject

Spécifie un tableau d’entrées à ajouter à l’historique en tant qu’objet HistoryInfo à l’historique de session. Vous pouvez utiliser ce paramètre pour envoyer un objet HistoryInfo, tel que ceux retournés par les applets de commande ou Import-ClixmlImport-Csv les Get-Historyapplets Add-Historyde commande.

Type:PSObject[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Passthru

Indique que cette applet de commande retourne un objet HistoryInfo pour chaque entrée d’historique. Par défaut, cette applet de commande ne génère aucun résultat.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

HistoryInfo

Vous pouvez diriger un objet HistoryInfo vers cette applet de commande.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

HistoryInfo

Lorsque vous utilisez le paramètre PassThru , cette applet de commande renvoie un objet HistoryInfo .

Notes

L’historique des sessions est une liste des commandes entrées pendant la session, ainsi que l’ID. L'historique de session représente l'ordre d'exécution, l'état et les heures de début et de fin de la commande. Lorsque vous entrez chaque commande, PowerShell l’ajoute à l’historique afin de pouvoir le réutiliser. Pour plus d’informations sur l’historique des sessions, consultez about_History.

Pour spécifier les commandes à ajouter à l’historique, utilisez le paramètre InputObject . La Add-History commande accepte uniquement les objets HistoryInfo , tels que ceux retournés pour chaque commande par l’applet Get-History de commande. Vous ne pouvez pas lui passer un chemin d'accès et un nom de fichier, ni une liste de commandes.

Vous pouvez utiliser le paramètre InputObject pour transmettre un fichier d’objets HistoryInfo à Add-History. Pour ce faire, exportez les résultats d’une Get-History commande vers un fichier à l’aide de l’applet de commande ou Export-Clixml de l’applet Export-Csv de commande, puis importez le fichier à l’aide des Import-Csv applets de commande ouImport-Clixml. Vous pouvez ensuite transmettre le fichier d’objets HistoryInfo importés via Add-History un pipeline ou dans une variable. Pour plus d’informations, voir les exemples.

Le fichier d’objets HistoryInfo que vous passez à l’applet Add-History de commande doit inclure les informations de type, les en-têtes de colonne et toutes les propriétés des objets HistoryInfo . Si vous envisagez de renvoyer les objets Add-History, n’utilisez pas le paramètre NoTypeInformation de l’applet Export-Csv de commande et ne supprimez pas les informations de type, les en-têtes de colonne ou les champs du fichier.

Pour modifier l’historique de session, exportez la session vers un fichier CSV ou XML, modifiez le fichier, importez le fichier et utilisez-le Add-History pour l’ajouter à l’historique de session actuel.