Partager via


À propos d’Eventlogs

Brève description

Windows PowerShell crée un journal des événements Windows nommé « Windows PowerShell » pour enregistrer les événements Windows PowerShell. Vous pouvez afficher ce journal dans l’Observateur d’événements ou à l’aide d’applets de commande qui obtiennent des événements, tels que l’applet Get-EventLog de commande. Par défaut, les événements du moteur et du fournisseur Windows PowerShell sont enregistrés dans le journal des événements, mais vous pouvez utiliser les variables de préférence du journal des événements pour personnaliser le journal des événements. Par exemple, vous pouvez ajouter des événements sur les commandes Windows PowerShell.

Description longue

Le journal des événements Windows PowerShell enregistre les détails des opérations Windows PowerShell, telles que le démarrage et l’arrêt du moteur de programme et le démarrage et l’arrêt des fournisseurs Windows PowerShell. Vous pouvez également enregistrer des détails sur les commandes Windows PowerShell.

Le journal des événements Windows PowerShell se trouve dans le groupe Journaux des applications et des services. Le journal Windows PowerShell est un journal d’événements classique qui n’utilise pas la technologie d’événements Windows. Pour afficher le journal, utilisez les applets de commande conçues pour les journaux d’événements classiques, tels que Get-EventLog.

Affichage du journal des événements Windows PowerShell

Vous pouvez afficher le journal des événements Windows PowerShell dans l’Observateur d’événements ou à l’aide des applets de commande et Get-EventLog des Get-WmiObject applets de commande. Pour afficher le contenu du journal Windows PowerShell, tapez :

Get-EventLog -LogName "Windows PowerShell"

Pour examiner les événements et leurs propriétés, utilisez l’applet Sort-Object de commande, l’applet Group-Object de commande et les applets de commande qui contiennent le Format verbe (applets Format de commande).

Par exemple, pour afficher les événements dans le journal regroupés par l’ID d’événement, tapez :

Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID

Ou, tapez :

Get-EventLog "Windows PowerShell" |
  Sort-Object EventID |
  Group-Object EventID

Pour afficher tous les journaux d’événements classiques, tapez :

Get-EventLog -List

Vous pouvez également utiliser l’applet Get-WmiObject de commande pour utiliser les classes WMI (Event-related Windows Management Instrumentation) pour examiner le journal des événements. Par exemple, pour afficher toutes les propriétés du fichier journal des événements, tapez :

Get-WmiObject Win32_NTEventlogFile |
  where LogFileName -EQ "Windows PowerShell" |
  Format-List -Property *

Pour rechercher les classes WMI liées à l’événement Win32, tapez :

Get-WmiObject -List | where Name -Like "win32*event*"

Pour plus d’informations, tapez «Get-Help Get-EventLog » et «Get-Help Get-WmiObject ».

Sélection d’événements pour le journal des événements Windows PowerShell

Vous pouvez utiliser les variables de préférence du journal des événements pour déterminer quels événements sont enregistrés dans le journal des événements Windows PowerShell.

Il existe six variables de préférence de journal des événements ; deux variables pour chacun des trois composants de journalisation : le moteur (programme Windows PowerShell), les fournisseurs et les commandes. Les variables LifeCycleEvent consignent les événements de démarrage et d’arrêt normaux. Les variables d’intégrité consignent les événements d’erreur.

Le tableau suivant répertorie les variables de préférence du journal des événements.

Variable Descriptif
$LogEngineLifeCycleEvent Enregistre le démarrage et l’arrêt de PowerShell
$LogEngineHealthEvent Journalise les erreurs du programme PowerShell
$LogProviderLifeCycleEvent Enregistre le démarrage et l’arrêt des fournisseurs PowerShell
$LogProviderHealthEvent Journaux d’erreurs du fournisseur PowerShell
$LogCommandLifeCycleEvent Enregistre le démarrage et l’achèvement des commandes
$LogCommandHealthEvent Journaux d’erreurs de commande

(Pour plus d’informations sur les fournisseurs Windows PowerShell, consultez about_Providers.)

Par défaut, seuls les types d’événements suivants sont activés :

  • $LogEngineLifeCycleEvent
  • $LogEngineHealthEvent
  • $LogProviderLifeCycleEvent
  • $LogProviderHealthEvent

Pour activer un type d’événement, définissez la variable de préférence pour ce type d’événement sur $true. Par exemple, pour activer les événements de cycle de vie des commandes, tapez :

$LogCommandLifeCycleEvent

Ou, tapez :

$LogCommandLifeCycleEvent = $true

Pour désactiver un type d’événement, définissez la variable de préférence pour ce type d’événement sur $false. Par exemple, pour désactiver les événements de cycle de vie des commandes, tapez :

$LogProviderLifeCycleEvent = $false

Vous pouvez désactiver n’importe quel événement, à l’exception des événements qui indiquent que le moteur Windows PowerShell et les fournisseurs principaux sont démarrés. Ces événements sont générés avant l’exécution des profils Windows PowerShell et avant que le programme hôte ne soit prêt à accepter les commandes.

Les paramètres de variable s’appliquent uniquement à la session Windows PowerShell actuelle. Pour les appliquer à toutes les sessions Windows PowerShell, ajoutez-les à votre profil Windows PowerShell.

Journaux des événements de module

À compter de Windows PowerShell 3.0, vous pouvez enregistrer des événements d’exécution pour les applets de commande et les fonctions dans les modules et les composants logiciels enfichables Windows PowerShell en définissant la propriété LogPipelineExecutionDetails des modules et des composants logiciels enfichables sur TRUE. Dans Windows PowerShell 2.0, cette fonctionnalité est disponible uniquement pour les composants logiciels enfichables.

Lorsque la valeur de la propriété LogPipelineExecutionDetails est TRUE ($true), Windows PowerShell écrit les événements d’exécution d’applet de commande et de fonction dans la session dans le journal Windows PowerShell dans l’Observateur d’événements. Le paramètre est effectif uniquement dans la session active.

Pour activer la journalisation des événements d’exécution des applets de commande et des fonctions dans un module, utilisez la séquence de commandes suivante.

Import-Module <ModuleName>
$m = Get-Module <ModuleName>
$m.LogPipelineExecutionDetails = $true

Pour activer la journalisation des événements d’exécution des applets de commande dans un composant logiciel enfichable, utilisez la séquence de commandes suivante.

$m = Get-PSSnapin <SnapInName> [-Registered]
$m.LogPipelineExecutionDetails = $True

Pour désactiver la journalisation, utilisez la même séquence de commandes pour définir la valeur de la propriété sur FALSE ($false).

Vous pouvez également utiliser le paramètre de stratégie de groupe « Activer la journalisation des modules » pour activer et désactiver la journalisation des modules et des composants logiciels enfichables. La valeur de stratégie inclut une liste de noms de module et de composant logiciel enfichable. Les caractères génériques sont pris en charge.

Lorsque l’option « Activer la journalisation des modules » est définie pour un module, la valeur de la propriété LogPipelineExecutionDetails du module est TRUE dans toutes les sessions et ne peut pas être modifiée.

Le paramètre de stratégie de groupe Activer la journalisation du module se trouve dans les chemins d’accès de stratégie de groupe suivants :

Computer Configuration\
  Administrative Templates\
    Windows Components\
     Windows PowerShell

User Configuration\
  Administrative Templates\
    Windows Components\
      Windows PowerShell

La stratégie De configuration utilisateur est prioritaire sur la stratégie de configuration de l’ordinateur, et les deux stratégies prennent la préférence sur la valeur de la propriété LogPipelineExecutionDetails des modules et des composants logiciels enfichables.

Pour plus d’informations sur ce paramètre de stratégie de groupe, consultez about_Group_Policy_Settings.

Sécurité et audit

Le journal des événements Windows PowerShell est conçu pour indiquer l’activité et fournir des détails opérationnels pour la résolution des problèmes.

Toutefois, comme la plupart des journaux d’événements d’application Windows, le journal d’événements Windows PowerShell n’est pas conçu pour être sécurisé. Ils ne doivent pas être utilisés pour vérifier la sécurité ou pour enregistrer des informations confidentielles ou exclusives.

Les journaux d’événements sont conçus pour être lus et compris par les utilisateurs. Les utilisateurs peuvent lire et écrire dans le journal. Un utilisateur malveillant peut lire un journal des événements sur un ordinateur local ou distant, enregistrer de fausses données, puis empêcher la journalisation de ses activités.

Remarques

Les auteurs de modules peuvent ajouter des fonctionnalités de journalisation à leurs modules. Pour plus d’informations, consultez Écriture d’un module Windows PowerShell dans la bibliothèque MSDN.

Voir aussi

Get-EventLog

Get-WmiObject

à_propos_des_paramètres_de_stratégie_de_groupe

about_Preference_Variables