about_Eventlogs

Mis à jour: mai 2014

S'applique à: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

RUBRIQUE

about_EventLogs

DESCRIPTION COURTE

Windows PowerShell® crée un journal des événements Windows nommé « Windows PowerShell » pour enregistrer les événements Windows PowerShell. Vous pouvez afficher ce fichier journal dans l’Observateur d’événements ou en utilisant des applets de commande qui obtiennent des événements, comme l’applet de commande Get-EventLog. 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 le personnaliser. Par exemple, vous pouvez ajouter des événements sur les commandes Windows PowerShell.

DESCRIPTION DÉTAILLÉE

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

Le journal des événements Windows PowerShell est dans le groupe de journaux Applications et services. Le journal Windows PowerShell est un journal des événements classique qui n’utilise pas la technologie Windows Eventing. Pour afficher le journal, utilisez les applets de commande conçues pour les journaux des événements classiques, comme 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 en utilisant les applets de commande Get-EventLog et Get-WmiObject. 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 de commande Sort-Object, l’applet de commande Group-Object et les applets de commande qui contiennent le verbe Format (les applets de commande Format).

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

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

Vous pouvez également taper :

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

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

  Get-EventLog -List

Vous pouvez également utiliser l’applet de commande Get-WmiObject à utiliser les classes WMI associées aux événements 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 associées aux événements 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 DES É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 du journal des événements : deux variables pour chacun des trois composants de la journalisation : le moteur (le programme Windows PowerShell), les fournisseurs et les commandes. Les variables de type LifeCycleEvent consignent les événements de démarrage et d’arrêt normaux. Les variables de type Health consignent les événements d’erreur.

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

          Variable                     Description
          --------------------------   ----------------------------------------

  $LogEngineLifeCycleEvent     Logs starting and stopping of
                                       Windows PowerShell.

  $LogEngineHealthEvent        Logs Windows PowerShell program errors.

  $LogProviderLifeCycleEvent   Logs starting and stopping of 
                                       Windows PowerShell providers.

  $LogProviderHealthEvent      Logs Windows PowerShell provider errors.

  $LogCommandLifeCycleEvent    Logs starting and completion of commands.

  $LogCommandHealthEvent       Logs command errors.

(Pour plus d’informations sur les fournisseurs Windows PowerShell, tapez : « Get-Help 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

Vous pouvez également taper :

  $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, sauf les é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 que les profils Windows PowerShell soient exécutés et avant que le programme hôte soit prêt à accepter des commandes.

Les valeurs des variables s’appliquent seulement à la session Windows PowerShell active. Pour les appliquer à toutes les sessions Windows PowerShell, ajoutez-les à votre profil Windows PowerShell.

JOURNALISATION DES ÉVÉNEMENTS DES MODULES

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

Quand la valeur de la propriété LogPipelineExecutionDetails est TRUE ($True), Windows PowerShell écrit les événements d’exécution des applets de commande et des fonctions de la session dans le journal Windows PowerShell, dans l’Observateur d’événements. Cette valeur a un effet seulement dans la session active.

Pour activer la journalisation des événements de l’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 de l’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 l’enregistrement des modules » pour activer et désactiver la journalisation des modules et des composants logiciels enfichables. La valeur de la stratégie comprend une liste de noms de modules et de composants logiciels enfichables. Les caractères génériques sont pris en charge.

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

Le paramètre de stratégie de groupe Activer l’enregistrement des modules 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 Configuration utilisateur est prioritaire sur la stratégie Configuration de l’ordinateur, et les deux stratégies sont prioritaires sur la valeur de la propriété LogPipelineExecutionDetails des modules et des composants logiciel enfichables.

Pour plus d’informations sur ce paramètre de stratégie de groupe, consultez about_Group_Policy_Settings (https://go.microsoft.com/fwlink/?LinkId=251696).

SÉCURITÉ ET AUDIT

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

Cependant, comme la plupart des journaux des événements des applications Windows, le journal des événements Windows PowerShell n’est pas conçu dans une optique de sécurité. Il ne doit pas être utilisé pour auditer la sécurité ou pour enregistrer des informations confidentielles ou propriétaires.

Les journaux des é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 pourrait lire un journal des événements sur un ordinateur local ou distant, y enregistrer des fausses données, puis empêcher la journalisation de ses activités.

REMARQUES

Les créateurs des modules peuvent ajouter des fonctionnalités de journalisation à leurs modules. Pour plus d’informations, consultez « Écriture d’un module Windows PowerShell » dans MSDN à l’adresse https://go.microsoft.com/fwlink/?LinkID=144916.

VOIR AUSSI

Get-EventLog

Get-WmiObject

about_Group_Policy_Settings

about_Preference_Variables