Partager via


Get-EventLog

Obtient les événements d'un journal des événements ou la liste des journaux des événements présents sur les ordinateurs locaux ou distants.

Syntaxe

Get-EventLog [-AsString] [-ComputerName <string[]>] [-List] [<CommonParameters>]

Get-EventLog [-LogName] <string> [[-InstanceId] <Int64[]>] [-After <DateTime>] [-AsBaseObject] [-Before <DateTime>] [-ComputerName <string[]>] [-EntryType <string[]>] [-Index <Int32[]>] [-Message <string>] [-Newest <int>] [-Source <string[]>] [-UserName <string[]>] [<CommonParameters>]

Description

L'applet de commande Get-EventLog obtient les événements et les journaux des événements présents sur les ordinateurs locaux et distants.

Utilisez les paramètres de Get-EventLog pour rechercher des événements à l'aide de leurs valeurs de propriété. Get-EventLog obtient uniquement les événements qui correspondent à toutes les valeurs de propriété spécifiées.

Les applets de commande contenant le nom EventLog (les applets de commande EventLog) fonctionnent uniquement sur les journaux des événements classiques. Pour obtenir des événements à partir des journaux qui utilisent la technologie Journal des événements Windows sous Windows Vista et les versions ultérieures de Windows, utilisez Get-WinEvent.

Paramètres

-After <DateTime>

Obtient uniquement les événements qui se produisent après la date et l'heure spécifiées. Entrez un objet DateTime (celui retourné par l'applet de commande Get-Date, par exemple).

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-AsBaseObject

Retourne un objet System.Diagnostics.EventLogEntry standard pour chaque événement. Sans ce paramètre, Get-EventLog retourne un objet PsObject étendu avec d'autres propriétés EventLogName, Source et InstanceId.

Pour voir l'effet de ce paramètre, dirigez les événements vers l'applet de commande Get-Member et examinez la valeur TypeName dans le résultat.

Obligatoire ?

false

Position ?

named

Valeur par défaut

False

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-AsString

Retourne la sortie sous forme de chaînes au lieu d'objets.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Before <DateTime>

Obtient uniquement les événements qui se produisent avant la date et l'heure spécifiées. Entrez un objet DateTime (celui retourné par l'applet de commande Get-Date, par exemple).

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ComputerName <string[]>

Spécifie un ordinateur distant. La valeur par défaut est l'ordinateur local.

Tapez le nom NetBIOS, une adresse IP ou le nom de domaine complet d'un ordinateur distant. Pour spécifier l'ordinateur local, tapez le nom de l'ordinateur, un point (.) ou « localhost ».

Ce paramètre ne s'appuie pas sur la communication à distance Windows PowerShell. Vous pouvez utiliser le paramètre ComputerName de Get-EventLog même si votre ordinateur n'est pas configuré pour exécuter des commandes distantes.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-EntryType <string[]>

Obtient uniquement les événements ayant le type d'entrée spécifié. Les valeurs valides sont Error, Information, FailureAudit, SuccessAudit et Warning. La valeur par défaut est tous les événements.

Obligatoire ?

false

Position ?

named

Valeur par défaut

All events

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Index <Int32[]>

Obtient uniquement les événements ayant les valeurs d'index spécifiées.

Obligatoire ?

false

Position ?

named

Valeur par défaut

All events

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InstanceId <Int64[]>

Obtient uniquement les événements portant les ID d'instance spécifiés.

Obligatoire ?

false

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-List

Obtient la liste des journaux des événements présents sur l'ordinateur.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-LogName <string>

Spécifie le journal des événements. Entrez le nom de journal (la valeur de la propriété Log et non LogDisplayName) d'un journal des événements. Les caractères génériques ne sont pas autorisés. Ce paramètre est obligatoire.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Message <string>

Obtient les événements qui comportent la chaîne spécifiée dans leurs messages. Vous pouvez utiliser cette propriété pour rechercher des messages qui contiennent certains mots ou certaines expressions. Les caractères génériques sont autorisés.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

true

-Newest <int>

Spécifie le nombre maximal d'événements récupérés. Get-EventLog obtient le nombre spécifié d'événements, en commençant par l'événement le plus récent dans le journal.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Source <string[]>

Obtient les événements qui ont été écrits dans le journal par les sources spécifiées. Les caractères génériques sont autorisés.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

true

-UserName <string[]>

Obtient uniquement les événements auxquels les noms d'utilisateurs spécifiés sont associés. Entrez les noms ou modèles de nom (User01, User* or Domain01\User*, par exemple). Les caractères génériques sont autorisés.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

true

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

Aucun.

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String

Si le paramètre LogName est spécifié, la sortie est une collection d'objets EventLogEntry (System.Diagnostics.EventLogEntry). Si seul le paramètre List est spécifié, la sortie est une collection d'objets EventLog (System.Diagnostics.EventLog). Si les deux paramètres List et AsString sont spécifiés, la sortie est une collection de chaînes (System.String).

Exemple 1

C:\PS>get-eventlog -list

Description
-----------
Cette commande affiche des informations à propos des journaux des événements sur l'ordinateur.





Exemple 2

C:\PS>get-eventlog -newest 5 -logname application

Description
-----------
Cette commande affiche les cinq dernières entrées consignées dans le journal des événements de l'application.





Exemple 3

C:\PS>$events = get-eventlog -logname system -newest 1000

C:\PS> $events | group-object -property source -noelement | sort-object -property count -descending

Count Name
----- ----
   75 Service Control Manager
   12 Print
    6 UmrdpService
    2 DnsApi
    2 DCOM
    1 Dhcp
    1 TermDD
    1 volsnap

Description
-----------
Cet exemple montre comment rechercher toutes les sources qui sont représentées dans les 1 000 dernières entrées du journal des événements système.

La première commande obtient les 1 000 dernières entrées du journal des événements système et les stocke dans la variable $events. 

La deuxième commande utilise un opérateur de pipeline (|) pour envoyer les événements de la variable $events à l'applet de commande Group-Object, qui regroupe les entrées en fonction de la valeur de la propriété Source. Cette commande utilise un deuxième opérateur de pipeline pour envoyer les événements regroupés à l'applet de commande Sort-Object, qui les trie dans l'ordre décroissant (la source qui apparaît le plus souvent est répertoriée en premier).

La propriété Source ne concerne que les entrées de journal des événements. Pour consulter toutes les propriétés d'une entrée de journal des événements, dirigez les événements vers l'applet de commande Get-Member.





Exemple 4

C:\PS>get-eventlog -logname System -EntryType Error

Description
-----------
Cette commande obtient uniquement les événements d'erreur du journal des événements système.





Exemple 5

C:\PS>get-eventlog -logname System -instanceID 3221235481 -Source "DCOM"

Description
-----------
Cette commande obtient les événements du journal système qui ont un InstanceID de 3221235481 et une valeur Source de « DCOM ».





Exemple 6

C:\PS>get-eventlog -logname "Windows PowerShell" -computername localhost, Server01, Server02

Description
-----------
Cette commande obtient les événements du journal des événements Windows PowerShell sur trois ordinateurs (Server01, Server02 et l'ordinateur local, appelé « localhost »).





Exemple 7

C:\PS>get-eventlog -logname "Windows PowerShell" -message "*failed*"

Description
-----------
Cette commande obtient tous les événements du journal des événements Windows PowerShell qui ont une valeur de message comportant le mot « échec ».





Exemple 8

C:\PS>$a = get-eventlog -log System -newest 1

C:\PS> $a | format-list -property *

EventID            : 7036
MachineName        : Server01
Data               : {}
Index              : 10238
Category           : (0)
CategoryNumber     : 0
EntryType          : Information
Message            : The description for Event ID
Source             : Service Control Manager
ReplacementStrings : {WinHTTP Web Proxy Auto-Disco
InstanceId         : 1073748860
TimeGenerated      : 4/11/2008 9:56:05 PM
TimeWritten        : 4/11/2008 9:56:05 PM
UserName           :
Site               :
Container          :

Description
-----------
Cet exemple montre comment afficher toutes les valeurs de propriété d'un événement. 

La première commande obtient le dernier événement du journal des événements système et l'enregistre dans la variable $a. 

La deuxième commande utilise un opérateur de pipeline (|) pour envoyer l'événement de la variable $a à la commande Format-List, qui affiche tous les (*) des propriétés de cet événement.





Exemple 9

C:\PS>get-eventlog -log application -source outlook | where {$_.eventID -eq 34}

Description
-----------
Cette commande obtient les événements du journal des événements de l'application où la source est Outlook et l'ID d'événement est 34. Même si Get-EventLog ne possède pas de paramètre EventID, vous pouvez utiliser l'applet de commande Where-Object pour sélectionner des événements en fonction de la valeur d'une propriété d'événement.





Exemple 10

C:\PS>get-eventlog -log system -username NT* | group-object -property username -noelement | format-table Count, Name -auto

Count Name
----- ----
 6031 NT AUTHORITY\SYSTEM
   42 NT AUTHORITY\LOCAL SERVICE
    4 NT AUTHORITY\NETWORK SERVICE

Description
-----------
Cette commande retourne les événements du journal système regroupés en fonction de la valeur de leur propriété UserName. La commande Get-EventLog utilise le paramètre UserName pour obtenir uniquement les événements dans lesquels le nom d'utilisateur commence par « NT* ».





Exemple 11

C:\PS>$May31 = get-date 5/31/08

C:\PS> $July1 = get-date 7/01/08

C:\PS> get-eventlog -log "Windows PowerShell" -entrytype Error -after $may31 -before $july1

Description
-----------
Cette commande obtient toutes les erreurs du journal des événements Windows PowerShell qui se sont produites en juin 2008.





Voir aussi

Concepts

Get-WinEvent
Clear-EventLog
Limit-EventLog
New-EventLog
Remove-EventLog
Show-EventLog
Write-EventLog
Get-WinEvent