Add-History
Ajoute des entrées à l'historique de session.
Syntaxe
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-Clixml
Import-Csv
les Get-History
applets Add-History
de commande.
Type: | PSObject[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger un objet HistoryInfo vers cette applet de commande.
Sorties
None
Par défaut, cette applet de commande ne retourne aucune sortie.
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.