Skip to content

Glossaire

Transcription PowerShell

Fonctionnalité qui écrit un enregistrement texte complet d'une session PowerShell, entrées et sorties, dans un fichier PowerShell_transcript.

La transcription PowerShell écrit dans un fichier un enregistrement texte de toute une session PowerShell, à la fois les commandes tapées et les sorties qu'elles ont produites. Un utilisateur peut la lancer manuellement avec Start-Transcript, ou un administrateur peut l'imposer à chaque session avec le paramètre de stratégie de groupe « Activer la transcription PowerShell », qui permet aussi de définir un OutputDirectory centralisé et d'ajouter des en-têtes d'invocation par commande.

Pourquoi c'est important en investigation

Les transcriptions sont le seul artefact PowerShell courant qui enregistre les sorties. Les journaux d'événements et l'historique PSReadLine montrent ce qui a été exécuté ; une transcription montre aussi ce qui a été renvoyé : un listage de répertoire, le contenu d'un fichier lu, une erreur prouvant qu'une commande a échoué. Ce contexte permet souvent de trancher si une action a réussi.

Deux réserves s'appliquent. D'abord, toutes les heures d'une transcription correspondent à l'horloge locale de l'hôte, au format yyyyMMddHHmmss, sans fuseau horaire : notez donc le fuseau de la machine avant de corréler avec des journaux d'événements en UTC. Ensuite, un fichier auquel il manque le pied de page transcript end a été interrompu ou tronqué, et un même fichier peut contenir plusieurs paires début/fin.

Exemple

Par défaut, chaque session est enregistrée dans le dossier Documents de l'utilisateur sous le nom PowerShell_transcript.<computer>.<random>.<timestamp>.txt. L'en-tête ressemble à ceci :

**********************
Windows PowerShell transcript start
Start time: 20260914104500
Username: FIN-WKS-07\svc_backup
Machine: FIN-WKS-07 (Microsoft Windows NT 10.0.19045.0)
Host Application: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Process ID: 4242
PSVersion: 5.1.19041.4648
**********************

Chaque ligne d'invite est ensuite suivie de la commande et de sa sortie. Avec -IncludeInvocationHeader, un Command start time: précède chaque commande et le parseur l'associe à cette commande ; sans lui, les commandes héritent de l'heure de début de la session et sont affichées comme approximatives.

Termes associés

Lisez les transcriptions sous forme de chronologie dans PowerShell Parser, et consultez l'analyse forensique de la transcription PowerShell pour le format complet.