Aller au contenuAller à l'arborescence
  1. C:
  2. Windows
  3. System32
  4. winevt
  5. Logs
  6. Windows PowerShell.evtx
JournalRisque : Prudence

Windows PowerShell.evtx C:\Windows\System32\winevt\Logs\Windows PowerShell.evtx

Journal classique « Windows PowerShell » : cycle de vie du moteur, des fournisseurs et, si activée, journalisation des modules. Format .evtx.

Mis à jour le Par AltF4 Formation

À quoi ça sert

Windows PowerShell.evtx est le journal classique « Windows PowerShell », propre à Windows PowerShell 5.1. Il suit la vie du moteur : démarrage et arrêt, chargement des fournisseurs, et le détail des pipelines si leur journalisation est activée. Ce n’est pas le journal des blocs de script, qui est Microsoft-Windows-PowerShell/Operational, ni celui de PowerShell 7, qui écrit dans PowerShellCore/Operational. Pour le fonctionnement général des .evtx, voir la fiche du dossier winevt\Logs.

Ce qu’il contient

  • 400 : démarrage du moteur, avec HostApplication et EngineVersion dans le message. 403 : arrêt du moteur.
  • 600 : démarrage d’un fournisseur (« Provider Registry is Started », par exemple).
  • 800 : détails d’exécution d’un pipeline, quand la journalisation correspondante est activée par stratégie de groupe.

Risques et bonnes pratiques

  • Les événements de pipeline peuvent contenir des commandes et leurs paramètres, donc des secrets saisis en clair. Limitez l’accès au journal et protégez les exports.
  • Pour détecter une attaque, ce journal ne suffit pas. Activez par stratégie de groupe la journalisation des blocs de script (événement 4104 dans l’Operational) et celle des modules, puis centralisez les journaux.
  • Cherchez les 400 dont EngineVersion vaut 2.0 : c’est la signature d’un retour à l’ancien moteur, souvent utilisé pour contourner la journalisation.
  • N’essayez pas de supprimer le fichier : videz le journal ou exportez-le avec wevtutil, en administrateur.

Commandes utiles

Fenêtre de terminal
# Démarrages du moteur avec la version d'hôte (ID 400)
Get-WinEvent -FilterHashtable @{LogName='Windows PowerShell'; Id=400} -MaxEvents 10 | Select-Object TimeCreated, Message
# Démarrages en moteur 2.0 (possible tentative de contournement)
Get-WinEvent -FilterHashtable @{LogName='Windows PowerShell'; Id=400} |
Where-Object Message -like '*EngineVersion=2.0*' | Select-Object TimeCreated, Message
# Taille et rétention du journal
wevtutil gl "Windows PowerShell"

Format

Fichier binaire XML (.evtx) géré par le service Journal des événements Windows. Chaque événement porte un identifiant, un niveau, un fournisseur, un horodatage et un message. Aucun éditeur de texte ne le lit.

Rotation et archivage

Taille maximale et rétention se règlent par journal (Observateur d’événements, stratégie de groupe ou wevtutil sl). Archivez par export : wevtutil epl "Windows PowerShell" C:\Temp\PowerShell.evtx.

Comment le lire

Observateur d’événements > Journaux des applications et des services > Windows PowerShell. En PowerShell, Get-WinEvent avec -FilterHashtable pour filtrer par ID (400, 403, 800). Pour un fichier copié : Get-WinEvent -Path ".\Windows PowerShell.evtx".

Signaler une erreur