Partager via


À propos d’Eventlogs

Description courte

Windows PowerShell crée un journal des événements Windows nommé « Windows PowerShell » pour enregistrer Windows PowerShell événements. Vous pouvez afficher ce journal dans observateur d'événements ou à l’aide d’applets de commande qui obtiennent des événements, tels que l’applet de Get-EventLog commande. Par défaut, les événements de moteur et de 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 Windows PowerShell commandes.

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 du programme et le démarrage et l’arrêt des fournisseurs de Windows PowerShell. Vous pouvez également consigner 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 des é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, telles que Get-EventLog.

Affichage du journal des événements Windows PowerShell

Vous pouvez afficher le journal des événements Windows PowerShell dans observateur d'événements ou à l’aide des applets de Get-EventLog commande etGet-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 Sort-Object de commande, l’applet Group-Object de commande et les applets de commande qui contiennent le Format verbe (les applets de Format 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 de Get-WmiObject commande pour utiliser les classes WMI (Windows Management Instrumentation) lié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 lié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 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 (le 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 Description
$LogEngineLifeCycleEvent Journalise le démarrage et l’arrêt de PowerShell
$LogEngineHealthEvent Journalise les erreurs de programme PowerShell
$LogProviderLifeCycleEvent Journalise le démarrage et l’arrêt des fournisseurs PowerShell
$LogProviderHealthEvent Journalise les erreurs du fournisseur PowerShell
$LogCommandLifeCycleEvent Journalise le démarrage et l’achèvement des commandes
$LogCommandHealthEvent Erreurs de commande des journaux

(Pour plus d’informations sur les fournisseurs de 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 principaux fournisseurs 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 soit prêt à accepter les commandes.

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

Événements de module de journalisation

À compter de Windows PowerShell 3.0, vous pouvez enregistrer les événements d’exécution des applets de commande et des fonctions dans Windows PowerShell modules et composants logiciels enfichables 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 des événements d’exécution d’applet de commande et de fonction dans la session dans le Windows PowerShell journal dans observateur d'événements. Le paramètre n’est effectif que 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 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 « Activer la journalisation 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 la journalisation des modules se trouve dans les chemins d’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 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 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 des événements Windows PowerShell n’est pas conçu pour être sécurisé. Il ne doit pas être utilisé pour auditer la sécurité ou enregistrer des informations confidentielles ou propriétaires.

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.

Notes

Les auteurs d’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

about_Group_Policy_Settings

about_Preference_Variables