Question
Historique Powershell
- Mozgjre
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 2 semaines 3 jours #33351
par Mozgjre
Historique Powershell a été créé par Mozgjre
Bonjour à tous,
J'ai une question à laquelle je ne parviens pas à répondre depuis quelques jours : sur Powershell, on a accès à un historique quand on fait Get-History ou history, mais ça reste limité car c'est l'historique de la session courante.
Mais, on peut accéder à l'historique de l'ensemble des sessions via ce fichier : C:\Users\...\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
Par erreur et je vois pas comment, j'ai effacé son contenu. Ça m'a un peu saoulé, mais finalement en faisant CTRL+R/S on peut interagir avec bck/fwd-i-search, et l'utilitaire m'a permis de retrouver certaines commandes dont j'avais besoin et qui n'étaient plus présentes dans ConsoleHost_history.txt.
Moi je pensais que bck/fwd-i-search utilisait ce fichier, mais visiblement ce n'est pas le cas puisque l'utilitaire a retrouvé des commandes alors que ConsoleHost_history.txt était vide. Du coup où est-ce qu'il va piocher pour trouver mon historique de commande ?
Par avance merci '
J'ai une question à laquelle je ne parviens pas à répondre depuis quelques jours : sur Powershell, on a accès à un historique quand on fait Get-History ou history, mais ça reste limité car c'est l'historique de la session courante.
Mais, on peut accéder à l'historique de l'ensemble des sessions via ce fichier : C:\Users\...\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
Par erreur et je vois pas comment, j'ai effacé son contenu. Ça m'a un peu saoulé, mais finalement en faisant CTRL+R/S on peut interagir avec bck/fwd-i-search, et l'utilitaire m'a permis de retrouver certaines commandes dont j'avais besoin et qui n'étaient plus présentes dans ConsoleHost_history.txt.
Moi je pensais que bck/fwd-i-search utilisait ce fichier, mais visiblement ce n'est pas le cas puisque l'utilitaire a retrouvé des commandes alors que ConsoleHost_history.txt était vide. Du coup où est-ce qu'il va piocher pour trouver mon historique de commande ?
Par avance merci '
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 2 semaines 2 jours - il y a 2 semaines 2 jours #33352
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Réponse de Arnaud Petitjean sur le sujet Historique Powershell
Bonjour à toi Mozgjre,
Comme tu l'as peut-être compris, l'historique qui est conservé d'une session PowerShell à l'autre grâce à CTRL+R/S l'est uniquement grâce au module PSReadLine. En effet, ce dernier génère ce fameux fichier ConsoleHost_history.txt qui est stocké dans ton profil utilisateur Windows.
Avant l'existence de ce module, l'historique des commandes était définitivement perdu lorsqu'on fermait le console PowerShell. Ce qui n'est désormais plus le cas. La commande Get-History est quand à elle une commande historique qui ne va conserver que l'historique des commandes tapées depuis l'ouverture d'une console PowerShell.
Cela étant dit, je suis assez surpris par ton problème. En effet, pour moi également si ton fichier ConsoleHost_history.txt est vide, PSReadline ne devrait pas être en mesure de te retrouver ton historique. A moins qu'il y ait plusieurs emplacements possibles.
Je pense que le mieux est d'aller jeter un oeil à l'aide du module PSReadline en tapant la commande :
ou d'aller consulter l'aide : Aide de PSReadLine
qui explique ceci :
PS : Ce serait agréable si tu pouvais te présenter dans la section prévue à cet effet du forum. Merci
Comme tu l'as peut-être compris, l'historique qui est conservé d'une session PowerShell à l'autre grâce à CTRL+R/S l'est uniquement grâce au module PSReadLine. En effet, ce dernier génère ce fameux fichier ConsoleHost_history.txt qui est stocké dans ton profil utilisateur Windows.
Avant l'existence de ce module, l'historique des commandes était définitivement perdu lorsqu'on fermait le console PowerShell. Ce qui n'est désormais plus le cas. La commande Get-History est quand à elle une commande historique qui ne va conserver que l'historique des commandes tapées depuis l'ouverture d'une console PowerShell.
Cela étant dit, je suis assez surpris par ton problème. En effet, pour moi également si ton fichier ConsoleHost_history.txt est vide, PSReadline ne devrait pas être en mesure de te retrouver ton historique. A moins qu'il y ait plusieurs emplacements possibles.
Je pense que le mieux est d'aller jeter un oeil à l'aide du module PSReadline en tapant la commande :
# Nécessite d'avoir fait un update-help avant
help about_psreadline
ou d'aller consulter l'aide : Aide de PSReadLine
qui explique ceci :
PSReadLine gère un fichier d’historique contenant toutes les commandes et données que vous avez entrées à partir de la ligne de commande.
Les fichiers d’historique sont un fichier nommé $($host.Name)_history.txt.
Sur les systèmes Windows, le fichier d’historique est stocké dans $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine.
Sur les systèmes non Windows, les fichiers d’historique sont stockés dans $env:XDG_DATA_HOME/powershell/PSReadLine ou $env:HOME/.local/share/powershell/PSReadLine.
PS : Ce serait agréable si tu pouvais te présenter dans la section prévue à cet effet du forum. Merci

MVP PowerShell et créateur de ce magnifique forum

Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Dernière édition: il y a 2 semaines 2 jours par Arnaud Petitjean.
Connexion ou Créer un compte pour participer à la conversation.
- Mozgjre
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 2 semaines 6 heures #33355
par Mozgjre
Réponse de Mozgjre sur le sujet Historique Powershell
Hello,
Merci pour ta réponse.
Rien de neuf pour ma part, la documentation ne m'a pas plus aidé que ça...une hypothèse serait la suivante : quand on lance Powershell, l'utilitaire accessible via CTRL+R/S charge le fichier d'historique en mémoire plutôt que d'y accéder à la demande. De ce fait, quand j'ai supprimé mon fichier, mais ayant conservé la session ouverte, l'utilitaire a pu retrouver les commandes...
Yes, c'est fait pour la présentation : )
Merci pour ta réponse.
Rien de neuf pour ma part, la documentation ne m'a pas plus aidé que ça...une hypothèse serait la suivante : quand on lance Powershell, l'utilitaire accessible via CTRL+R/S charge le fichier d'historique en mémoire plutôt que d'y accéder à la demande. De ce fait, quand j'ai supprimé mon fichier, mais ayant conservé la session ouverte, l'utilitaire a pu retrouver les commandes...
Yes, c'est fait pour la présentation : )
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 1 semaine 5 jours #33356
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Réponse de Arnaud Petitjean sur le sujet Historique Powershell
Salut !
Eh oui, je suis sûr que c'est ça. Tout s'explique !!
Toi qui opère dans la cyber, j'imagine que ce fichier est un fichier de choix pour les attaquants. N'est-ce pas ?
Arnaud
Eh oui, je suis sûr que c'est ça. Tout s'explique !!
Toi qui opère dans la cyber, j'imagine que ce fichier est un fichier de choix pour les attaquants. N'est-ce pas ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum

Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Connexion ou Créer un compte pour participer à la conversation.
- Mozgjre
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 1 semaine 5 jours #33359
par Mozgjre
Réponse de Mozgjre sur le sujet Historique Powershell
Oui, c'est la seule explication logique que j'ai pu trouver...
Oui les fichiers d'historiques c'est souvent source d'informations, comme des noms d'utilisateurs, des mots de passe parfois (genre le gars tape son password sur la console sans faire gaffe, son Shell lui retourne une erreur mais tu retrouves finalement le password dans l'historique x) ), des chemins de dossiers / fichiers cachés, des commandes de configuration, de suppression de fichiers que tu peux restaurer, et parfois des trucs un peu plus abracadabrants...
PSReadLine propose par ailleurs des protections (genre si tu tape $password = Tonmotdepasse, ce n'est pas référencé dans l'historique), mais je ne me suis pas trop penché sur le sujet.
Oui les fichiers d'historiques c'est souvent source d'informations, comme des noms d'utilisateurs, des mots de passe parfois (genre le gars tape son password sur la console sans faire gaffe, son Shell lui retourne une erreur mais tu retrouves finalement le password dans l'historique x) ), des chemins de dossiers / fichiers cachés, des commandes de configuration, de suppression de fichiers que tu peux restaurer, et parfois des trucs un peu plus abracadabrants...
PSReadLine propose par ailleurs des protections (genre si tu tape $password = Tonmotdepasse, ce n'est pas référencé dans l'historique), mais je ne me suis pas trop penché sur le sujet.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 1 semaine 4 jours #33364
par Arnaud Petitjean
Humm c'est bon à savoir !! Je vais creuser le sujet mais de mon point de vue, cette option devrait être activée par défaut !
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Réponse de Arnaud Petitjean sur le sujet Historique Powershell
PSReadLine propose par ailleurs des protections (genre si tu tape $password = Tonmotdepasse, ce n'est pas référencé dans l'historique), mais je ne me suis pas trop penché sur le sujet.
Humm c'est bon à savoir !! Je vais creuser le sujet mais de mon point de vue, cette option devrait être activée par défaut !
Arnaud
MVP PowerShell et créateur de ce magnifique forum

Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.055 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Historique Powershell