À 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.