Get-WinEvent
Obtient les événements des journaux d’événements et des fichiers journaux de suivi d’événements sur les ordinateurs locaux et distants.
Syntaxe
Get-WinEvent
[[-LogName] <String[]>]
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Force]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-ListLog] <String[]>
[-ComputerName <String>]
[-Credential <PSCredential>]
[-Force]
[<CommonParameters>]
Get-WinEvent
[-ListProvider] <String[]>
[-ComputerName <String>]
[-Credential <PSCredential>]
[<CommonParameters>]
Get-WinEvent
[-ProviderName] <String[]>
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Force]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-Path] <String[]>
[-MaxEvents <Int64>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterHashtable] <Hashtable[]>
[-Force]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXml] <XmlDocument>
[-Oldest]
[<CommonParameters>]
Description
Cette applet de commande est disponible uniquement sur la plateforme Windows.
L’applet de commande Get-WinEvent
retourne les informations d’événement dans l’ordre du plus récent au plus ancien.
Get-WinEvent
répertorie les journaux des événements et les fournisseurs de journaux d’événements. Pour interrompre la commande, appuyez sur Ctrl+C. Vous pouvez obtenir des événements à partir des journaux sélectionnés ou des journaux générés par les fournisseurs d’événements sélectionnés. Vous pouvez également combiner des événements à partir de plusieurs sources dans une seule commande.
Get-WinEvent
vous permet de filtrer les événements à l’aide de requêtes XPath, de requêtes XML structurées et de requêtes de table de hachage.
Si vous n’exécutez pas PowerShell en tant qu’administrateur, vous pouvez voir des messages d’erreur que vous ne pouvez pas récupérer d’informations sur un journal.
Exemples
Exemple 1 : Obtenir tous les journaux d’activité d’un ordinateur local
Cette commande obtient tous les journaux d’événements sur l’ordinateur local. Les journaux sont répertoriés dans l’ordre dans lequel Get-WinEvent
les obtient. Les journaux classiques sont récupérés en premier, suivis des nouveaux journaux d’événements Windows.
Il est possible qu’un journal RecordCount soit null, qui est vide ou zéro.
Get-WinEvent -ListLog *
LogMode MaximumSizeInBytes RecordCount LogName
------- ------------------ ----------- -------
Circular 15532032 14500 Application
Circular 1052672 117 Azure Information Protection
Circular 1052672 3015 CxAudioSvcLog
Circular 20971520 ForwardedEvents
Circular 20971520 0 HardwareEvents
L’applet de commande Get-WinEvent
obtient des informations de journal à partir de l’ordinateur. Le paramètre ListLog utilise le caractère générique astérisque (*
) pour afficher des informations sur chaque journal.
Exemple 2 : Obtenir le journal d’installation classique
Cette commande obtient un objet
Get-WinEvent -ListLog Setup | Format-List -Property *
FileSize : 69632
IsLogFull : False
LastAccessTime : 3/13/2019 09:41:46
LastWriteTime : 3/13/2019 09:41:46
OldestRecordNumber : 1
RecordCount : 23
LogName : Setup
LogType : Operational
LogIsolation : Application
IsEnabled : True
IsClassicLog : False
SecurityDescriptor : O:BAG:SYD: ...
LogFilePath : %SystemRoot%\System32\Winevt\Logs\Setup.evtx
MaximumSizeInBytes : 1052672
LogMode : Circular
OwningProviderName : Microsoft-Windows-Eventlog
ProviderNames : {Microsoft-Windows-WUSA, Microsoft-Windows-ActionQueue...
ProviderLevel :
ProviderKeywords :
ProviderBufferSize : 64
ProviderMinimumNumberOfBuffers : 0
ProviderMaximumNumberOfBuffers : 64
ProviderLatency : 1000
ProviderControlGuid :
L’applet de commande Format-List
.
Exemple 3 : Configurer le journal de sécurité classique
Cette commande obtient un objet EventLogConfiguration qui représente le journal classique Security. L’objet est ensuite utilisé pour configurer les paramètres du journal, tels que la taille maximale du fichier, le chemin d’accès au fichier et si le journal est activé.
$log = Get-WinEvent -ListLog Security
$log.MaximumSizeInBytes = 1gb
try{
$log.SaveChanges()
Get-WinEvent -ListLog Security | Format-List -Property *
}catch [System.UnauthorizedAccessException]{
$ErrMsg = 'You do not have permission to configure this log!'
$ErrMsg += ' Try running this script with administrator privileges. '
$ErrMsg += $_.Exception.Message
Write-Error $ErrMsg
}
FileSize : 69632
IsLogFull : False
LastAccessTime : 3/13/2019 09:41:46
LastWriteTime : 3/13/2019 09:41:46
OldestRecordNumber : 1
RecordCount : 23
LogName : Security
LogType : Administrative
LogIsolation : Custom
IsEnabled : True
IsClassicLog : True
SecurityDescriptor : O:BAG:SYD: ...
LogFilePath : %SystemRoot%\System32\Winevt\Logs\Security.evtx
MaximumSizeInBytes : 1073741824
LogMode : Circular
OwningProviderName :
ProviderNames : {Microsoft-Windows-WUSA, Microsoft-Windows-ActionQueue...
ProviderLevel :
ProviderKeywords :
ProviderBufferSize : 64
ProviderMinimumNumberOfBuffers : 0
ProviderMaximumNumberOfBuffers : 64
ProviderLatency : 1000
ProviderControlGuid :
L’applet de commande
Exemple 4 : Obtenir les journaux des événements à partir d’un serveur
Cette commande obtient uniquement les journaux des événements sur l’ordinateur local qui contient des événements. Il est possible que le RecordCount d’un journal soit null ou zéro. L’exemple utilise la variable $_
. Pour plus d’informations, consultez about_Automatic_Variables.
Get-WinEvent -ListLog * -ComputerName localhost | Where-Object { $_.RecordCount }
LogMode MaximumSizeInBytes RecordCount LogName
------- ------------------ ----------- -------
Circular 15532032 14546 Application
Circular 1052672 117 Azure Information Protection
Circular 1052672 2990 CxAudioSvcLog
Circular 1052672 9 MSFTVPN Setup
Circular 1052672 282 OAlerts
L’applet de commande Get-WinEvent
obtient des informations de journal à partir de l’ordinateur. Le paramètre ListLog utilise le caractère générique astérisque (*
) pour afficher des informations sur chaque journal. Le paramètre ComputerName spécifie d’obtenir les journaux à partir de l’ordinateur local, localhost. Les objets sont envoyés au pipeline à l’applet de commande Where-Object
.
Where-Object
utilise $_.RecordCount
pour retourner uniquement les journaux contenant des données.
$_
est une variable qui représente l’objet actuel dans le pipeline.
RecordCount est une propriété de l’objet avec une valeur non null.
Exemple 5 : Obtenir les journaux des événements à partir de plusieurs serveurs
Cet exemple obtient des objets qui représentent les journaux d’événements application sur trois ordinateurs : Server01, Server02 et Server03. Le mot clé ForEach est utilisé, car le paramètre ComputerName n’accepte qu’une seule valeur. Pour plus d’informations, consultez about_Foreach.
$S = 'Server01', 'Server02', 'Server03'
ForEach ($Server in $S) {
Get-WinEvent -ListLog Application -ComputerName $Server |
Select-Object LogMode, MaximumSizeInBytes, RecordCount, LogName,
@{name='ComputerName'; expression={$Server}} |
Format-Table -AutoSize
}
LogMode MaximumSizeInBytes RecordCount LogName ComputerName
------- ------------------ ----------- ------- ------------
Circular 15532032 14577 Application Server01
Circular 15532032 9689 Application Server02
Circular 15532032 5309 Application Server03
La variable $S
stocke les noms trois serveurs : Server01, Server02et Server03. L’instruction ForEach utilise une boucle pour traiter chaque serveur, ($Server in $S)
. Le bloc de script dans les accolades ({ }
) exécute la commande Get-WinEvent
. Le paramètre $Server
pour obtenir des informations de journal à partir de chaque serveur.
Les objets sont envoyés au pipeline à l’applet de commande Select-Object
.
Select-Object
obtient les propriétés LogMode, MaximumSizeInBytes, RecordCount, LogName, et utilise une expression calculée pour afficher l'ComputerName à l’aide de la variable $Server
. Les objets sont envoyés au pipeline à l’applet de commande Format-Table
pour afficher la sortie dans la console PowerShell. Le paramètre AutoSize met en forme la sortie pour qu’elle corresponde à l’écran.
Exemple 6 : Obtenir des fournisseurs de journaux d’événements et des noms de journaux
Cette commande obtient les fournisseurs de journaux d’événements et les journaux dans lesquels ils écrivent.
Get-WinEvent -ListProvider *
Name : .NET Runtime
LogLinks : {Application}
Opcodes : {}
Tasks : {}
Name : .NET Runtime Optimization Service
LogLinks : {Application}
Opcodes : {}
Tasks : {}
L’applet de commande Get-WinEvent
obtient des informations de journal à partir de l’ordinateur. Le paramètre ListProvider
Exemple 7 : Obtenir tous les fournisseurs de journaux d’événements qui écrivent dans un journal spécifique
Cette commande obtient tous les fournisseurs qui écrivent dans le journal application.
(Get-WinEvent -ListLog Application).ProviderNames
.NET Runtime
.NET Runtime Optimization Service
Application
Application Error
Application Hang
Application Management
L’applet de commande Get-WinEvent
obtient des informations de journal à partir de l’ordinateur. Le paramètre ListLog
Exemple 8 : Obtenir des noms de fournisseurs de journaux d’événements qui contiennent une chaîne spécifique
Cette commande obtient les fournisseurs de journaux d’événements avec des noms qui incluent une chaîne spécifique dans le nom du fournisseur.
Get-WinEvent -ListProvider *Policy*
Name : Group Policy Applications
LogLinks : {Application}
Opcodes : {}
Tasks : {}
Name : Group Policy Client
LogLinks : {Application}
Opcodes : {}
Tasks : {}
Name : Group Policy Data Sources
LogLinks : {Application}
Opcodes : {}
Tasks : {}
L’applet de commande Get-WinEvent
obtient des informations de journal à partir de l’ordinateur. Le paramètre ListProvider
Exemple 9 : Obtenir les ID d’événement générés par le fournisseur d’événements
Cette commande répertorie les ID d’événement générés par le fournisseur d’événements Microsoft-Windows-GroupPolicy, ainsi que la description de l’événement.
(Get-WinEvent -ListProvider Microsoft-Windows-GroupPolicy).Events | Format-Table Id, Description
Id Description
-- -----------
1500 The Group Policy settings for the computer were processed successfully...
1501 The Group Policy settings for the user were processed successfully...
4115 Group Policy Service started.
4116 Started the Group Policy service initialization phase.
4117 Group Policy Session started.
L’applet de commande Get-WinEvent
obtient des informations de journal à partir de l’ordinateur. Le paramètre ListProvider Format-Table
.
Format-Table
affiche l’ID de et Description des objets d’événement.
Exemple 10 : Obtenir des informations de journal à partir des propriétés de l’objet d’événement
Cet exemple montre comment obtenir des informations sur le contenu d’un journal à l’aide de propriétés d’objet d’événement. Les objets d’événement sont stockés dans une variable, puis regroupés et comptés par ID d’événement et niveau.
$Event = Get-WinEvent -LogName 'Windows PowerShell'
$Event.Count
$Event | Group-Object -Property Id -NoElement | Sort-Object -Property Count -Descending
$Event | Group-Object -Property LevelDisplayName -NoElement
195
Count Name
----- ----
147 600
22 400
21 601
3 403
2 103
Count Name
----- ----
2 Warning
193 Information
L’applet de commande $Event
. La propriété Count de $Event
affiche le nombre total d’événements journalisés.
La variable $Event
est envoyée au pipeline à l’applet de commande Group-Object
. Sort-Object
.
La variable $Event
est envoyée au pipeline à l’applet de commande Group-Object
.
Group-Object
utilise le paramètre Property pour spécifier la propriété LevelDisplayName et compte les objets par LevelDisplayName. Les objets sont regroupés par les niveaux tels que d’avertissement et Informations.
Le paramètre NoElement supprime d’autres propriétés de la sortie. Dans la sortie, la colonne count
Exemple 11 : Obtenir les événements d’erreur qui ont une chaîne spécifiée dans leur nom
Cet exemple utilise une chaîne séparée par des virgules de noms de journaux. La sortie est regroupée par le niveau tel que l’erreur ou l’avertissement et le nom du journal.
Get-WinEvent -LogName *PowerShell*, Microsoft-Windows-Kernel-WHEA* |
Group-Object -Property LevelDisplayName, LogName -NoElement |
Format-Table -AutoSize
Count Name
----- ----
1 Error, PowerShellCore/Operational
26 Information, Microsoft-Windows-Kernel-WHEA/Operational
488 Information, Microsoft-Windows-PowerShell/Operational
77 Information, PowerShellCore/Operational
9835 Information, Windows PowerShell
19 Verbose, PowerShellCore/Operational
444 Warning, Microsoft-Windows-PowerShell/Operational
512 Warning, PowerShellCore/Operational
L’applet de commande Get-WinEvent
obtient des informations de journal à partir de l’ordinateur. Le paramètre LogName utilise une chaîne séparée par des virgules avec le caractère générique astérisque (*
) pour spécifier les noms de journal. Les objets sont envoyés au pipeline à l’applet de commande Group-Object
. Format-Table
.
Format-Table
utilise le paramètre AutoSize pour mettre en forme les colonnes. La colonne Count contient le nombre total de chaque événement. La colonne
Exemple 12 : Obtenir des événements à partir d’un journal des événements archivé
Get-WinEvent
pouvez obtenir des informations sur les événements à partir des fichiers journaux enregistrés. Cet exemple utilise un journal PowerShell archivé stocké sur l’ordinateur local.
Get-WinEvent -Path 'C:\Test\Windows PowerShell.evtx'
ProviderName: PowerShell
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
3/15/2019 13:54:13 403 Information Engine state is changed from Available to Stopped...
3/15/2019 13:54:13 400 Information Engine state is changed from None to Available...
3/15/2019 13:54:13 600 Information Provider "Variable" is Started...
3/15/2019 13:54:13 600 Information Provider "Function" is Started...
3/15/2019 13:54:13 600 Information Provider "FileSystem" is Started...
L’applet de commande Get-WinEvent
obtient des informations de journal à partir de l’ordinateur. Le paramètre Path spécifie le répertoire et le nom du fichier.
Exemple 13 : Obtenir un nombre spécifique d’événements à partir d’un journal des événements archivé
Ces commandes obtiennent un nombre spécifique d’événements à partir d’un journal des événements archivé.
Get-WinEvent
a des paramètres qui peuvent obtenir un nombre maximal d’événements ou les événements les plus anciens. Cet exemple utilise un journal PowerShell archivé stocké dans C :\Test\PowerShellCore Operational.evtx.
Get-WinEvent -Path 'C:\Test\PowerShellCore Operational.evtx' -MaxEvents 100
ProviderName: PowerShellCore
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
3/15/2019 09:54:54 4104 Warning Creating Scriptblock text (1 of 1):...
3/15/2019 09:37:13 40962 Information PowerShell console is ready for user input
3/15/2019 07:56:24 4104 Warning Creating Scriptblock text (1 of 1):...
...
3/7/2019 10:53:22 40961 Information PowerShell console is starting up
3/7/2019 10:53:22 8197 Verbose Runspace state changed to Opening
3/7/2019 10:53:22 8195 Verbose Opening RunspacePool
L’applet de commande Get-WinEvent
obtient des informations de journal à partir de l’ordinateur. Le paramètre Path spécifie le répertoire et le nom de fichier. Le paramètre MaxEvents spécifie que 100 enregistrements sont affichés, du plus récent au plus ancien.
Exemple 14 : Suivi d’événements pour Windows
Le suivi des événements pour Windows (ETW) écrit des événements dans le journal à mesure que des événements se produisent. Les événements sont stockés dans l’ordre du plus ancien au plus récent. Un fichier ETW archivé est enregistré sous la forme d’un .etl
tel que TraceLog.etl.
Les événements sont répertoriés dans l’ordre dans lequel ils sont écrits dans le journal, de sorte que le paramètre le plus ancien est requis.
Get-WinEvent -Path 'C:\Tracing\TraceLog.etl' -Oldest |
Sort-Object -Property TimeCreated -Descending |
Select-Object -First 100
L’applet de commande Get-WinEvent
obtient des informations de journal à partir du fichier archivé. Le paramètre Path spécifie le répertoire et le nom du fichier. Le paramètre le plus ancien est utilisé pour générer des événements dans l’ordre dans lequel ils sont écrits, les plus anciens au plus récent. Les objets sont envoyés au pipeline à l’applet de commande Sort-Object
Sort-Object
trie les objets dans l’ordre décroissant en fonction de la valeur de la propriété TimeCreated. Les objets sont envoyés au pipeline à l’applet de commande Select-Object
qui affiche les 100 événements les plus récents.
Exemple 15 : Obtenir des événements à partir d’un journal de suivi des événements
Cet exemple montre comment obtenir les événements à partir d’un fichier journal de trace d’événements (.etl
) et d’un fichier journal Windows PowerShell archivé (.evtx
). Vous pouvez combiner plusieurs types de fichiers dans une seule commande.
Étant donné que les fichiers contiennent le même type d’objet .NET Framework, EventLogRecord, vous pouvez les filtrer avec les mêmes propriétés. La commande nécessite le paramètre le plus ancien, car il lit à partir d’un fichier .etl
, mais le paramètre le plus ancien s’applique à chaque fichier.
Get-WinEvent -Path 'C:\Tracing\TraceLog.etl', 'C:\Test\Windows PowerShell.evtx' -Oldest |
Where-Object { $_.Id -eq '403' }
L’applet de commande Get-WinEvent
obtient les informations de journal des fichiers archivés. Le paramètre Path utilise une liste séparée par des virgules pour spécifier chaque répertoire de fichiers et nom de fichier. Le paramètre le plus ancien est utilisé pour générer des événements dans l’ordre dans lequel ils sont écrits, les plus anciens au plus récent. Les objets sont envoyés au pipeline à l’applet de commande Where-Object
.
Where-Object
utilise un bloc de script pour rechercher des événements avec un ID de de 403. La variable $_
représente l’objet actuel dans le pipeline et Id est la propriété ID d’événement.
Exemple 16 : Filtrer les résultats du journal des événements
Cet exemple montre diverses méthodes pour filtrer et sélectionner des événements dans un journal des événements. Toutes ces commandes obtiennent des événements qui se sont produits au cours des 24 dernières heures à partir du journal des événements Windows PowerShell.
Les méthodes de filtre sont plus efficaces que l’utilisation de l’applet de commande Where-Object
. Les filtres sont appliqués à mesure que les objets sont récupérés.
Where-Object
récupère tous les objets, puis applique des filtres à tous les objets.
# Using the Where-Object cmdlet:
$Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
Get-WinEvent -LogName 'Windows PowerShell' | Where-Object { $_.TimeCreated -ge $Yesterday }
# Using the FilterHashtable parameter:
$Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
Get-WinEvent -FilterHashtable @{ LogName='Windows PowerShell'; Level=3; StartTime=$Yesterday }
# Using the FilterXML parameter:
$xmlQuery = @'
<QueryList>
<Query Id="0" Path="Windows PowerShell">
<Select Path="System">*[System[(Level=3) and
TimeCreated[timediff(@SystemTime) <= 86400000]]]</Select>
</Query>
</QueryList>
'@
Get-WinEvent -FilterXML $xmlQuery
# Using the FilterXPath parameter:
$XPath = '*[System[Level=3 and TimeCreated[timediff(@SystemTime) <= 86400000]]]'
Get-WinEvent -LogName 'Windows PowerShell' -FilterXPath $XPath
Exemple 17 : Utiliser FilterHashtable pour obtenir des événements à partir du journal des applications
Cet exemple utilise le paramètre
$Date = (Get-Date).AddDays(-2)
Get-WinEvent -FilterHashtable @{ LogName='Application'; StartTime=$Date; Id='1003' }
L’applet de commande Get-Date
utilise la méthode AddDays pour obtenir une date de deux jours avant la date actuelle. L’objet date est stocké dans la variable $Date
.
L’applet de commande Get-WinEvent
obtient des informations de journal. Le paramètre FilterHashtable est utilisé pour filtrer la sortie. La clé $Date
. La clé ID de
Exemple 18 : Utiliser FilterHashtable pour obtenir des erreurs d’application
Cet exemple utilise le paramètre FilterHashtable pour rechercher les erreurs d’application Internet Explorer qui se sont produites au cours de la semaine dernière.
$StartTime = (Get-Date).AddDays(-7)
Get-WinEvent -FilterHashtable @{
Logname='Application'
ProviderName='Application Error'
Data='iexplore.exe'
StartTime=$StartTime
}
L’applet de commande $StartTime
.
L’applet de commande Get-WinEvent
obtient des informations de journal. Le paramètre FilterHashtable est utilisé pour filtrer la sortie. La clé
Exemple 19 : Utiliser SuppressHashFilter pour filtrer les erreurs d’application
Comme l’exemple 16 ci-dessus, cet exemple utilise le paramètre FilterHashtable pour obtenir des événements à partir du journal application. Toutefois, nous ajoutons la clé SuppressHashFilter pour filtrer les événements de niveau Information.
$Date = (Get-Date).AddDays(-2)
$filter = @{
LogName='Application'
StartTime=$Date
SuppressHashFilter=@{Level=4}
}
Get-WinEvent -FilterHashtable $filter
Dans cet exemple,
Paramètres
-ComputerName
Spécifie le nom de l’ordinateur que cette applet de commande obtient des événements à partir des journaux d’événements. Tapez le nom NetBIOS, une adresse IP ou le nom de domaine complet (FQDN) de l’ordinateur. La valeur par défaut est l’ordinateur local, localhost. Ce paramètre accepte un seul nom d’ordinateur à la fois.
Pour obtenir les journaux d’événements à partir d’ordinateurs distants, configurez le port de pare-feu du service de journal des événements pour autoriser l’accès à distance.
Cette applet de commande ne s’appuie pas sur la communication à distance PowerShell. Vous pouvez utiliser le paramètre ComputerName même si votre ordinateur n’est pas configuré pour exécuter des commandes distantes.
Type: | String |
Alias: | Cn |
Position: | Named |
Valeur par défaut: | Local computer |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Credential
Spécifie un compte d’utilisateur autorisé à effectuer cette action. La valeur par défaut est l’utilisateur actuel.
Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01. Vous pouvez également entrer un objet PSCredential, tel qu’un objet généré par l’applet de commande Get-Credential
. Si vous tapez un nom d’utilisateur, vous êtes invité à entrer un mot de passe. Si vous tapez uniquement le nom du paramètre, vous êtes invité à entrer un nom d’utilisateur et un mot de passe.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | Current user |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-FilterHashtable
Spécifie une requête au format de table de hachage pour sélectionner des événements dans un ou plusieurs journaux d’événements. La requête contient une table de hachage avec une ou plusieurs paires clé/valeur
Les requêtes de table de hachage ont les règles suivantes :
- Les clés et les valeurs ne respectent pas la casse.
- Les caractères génériques sont valides uniquement dans les valeurs associées aux clés LogName
et ProviderName . - Chaque clé ne peut être répertoriée qu’une seule fois dans chaque table de hachage.
- La valeur Chemin d’accès
prend des chemins d’accès aux fichiers journaux , et . - LesLogName
, Path etProviderName clés peuvent être utilisées dans la même requête. - La clé UserID
peut prendre un identificateur de sécurité valide (SID) ou un nom de compte de domaine qui peut être utilisé pour construire un objet System.Security.Principal.NTAccount valide . - La valeur Data prend les données d’événement dans un champ sans nom. Par exemple, les événements dans les journaux d’événements classiques.
-
<named-data>
clé représente un champ de données d’événement nommé.
Quand Get-WinEvent
ne peut pas interpréter une paire clé/valeur , elle interprète la clé comme un nom sensible à la casse pour les données d’événement dans l’événement.
Les paires Get-WinEvent
clé/valeur valides sont les suivantes :
-
=
<String[]>
LogName -
ProviderName=
<String[]>
-
chemin d’accès=
<String[]>
-
mots clés=
<Long[]>
- ID de =
<Int32[]>
-
niveau=
<Int32[]>
-
=
<DateTime>
StartTime -
=
<DateTime>
EndTime -
=
<SID>
UserID -
=
<String[]>
de données <named-data>
=<String[]>
-
SuppressHashFilter=
<Hashtable>
Type: | Hashtable[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-FilterXml
Spécifie une requête XML structurée que cette applet de commande sélectionne des événements dans un ou plusieurs journaux d’événements.
Pour générer une requête XML valide, utilisez les fonctionnalités Créer une vue personnalisée et filtrer les fonctionnalités de de journal actuel dans l’Observateur d’événements Windows. Utilisez les éléments de la boîte de dialogue pour créer une requête, puis cliquez sur l’onglet XML pour afficher la requête au format XML. Vous pouvez copier le code XML à partir de l’onglet XML dans la valeur du paramètre de FilterXml. Pour plus d’informations sur les fonctionnalités de l’Observateur d’événements, consultez l’aide de l’Observateur d’événements.
Utilisez une requête XML pour créer une requête complexe qui contient plusieurs instructions XPath. Le format XML vous permet également d’utiliser un élément Supprimer le XML qui exclut les événements de la requête. Pour plus d’informations sur le schéma XML pour les requêtes de journal des événements, consultez de schéma de requête et la section Requêtes d’événements XML de sélection d’événements.
Vous pouvez également créer un élément Suppress à l’aide du paramètre FilterHashtable.
Type: | XmlDocument |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-FilterXPath
Spécifie une requête XPath que cette applet de commande sélectionne des événements dans un ou plusieurs journaux d’activité.
Pour plus d’informations sur le langage XPath, consultez référence XPath et la section Filtres de sélection de sélection d’événements.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Force
Obtient les journaux de débogage et d’analyse, en plus d’autres journaux d’événements. Le paramètre Forcer est nécessaire pour obtenir un journal de débogage ou analytique lorsque la valeur du paramètre name inclut des caractères génériques.
Par défaut, l’applet de commande Get-WinEvent
exclut ces journaux, sauf si vous spécifiez le nom complet d’un journal de débogage ou d’analytique.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ListLog
Spécifie les journaux d’événements. Entrez les noms du journal des événements dans une liste séparée par des virgules. Les caractères génériques sont autorisés. Pour obtenir tous les journaux, utilisez le caractère générique astérisque (*
).
Type: | String[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-ListProvider
Spécifie les fournisseurs de journaux d’événements que cette applet de commande obtient. Un fournisseur de journaux d’événements est un programme ou un service qui écrit des événements dans le journal des événements.
Entrez les noms des fournisseurs dans une liste séparée par des virgules. Les caractères génériques sont autorisés. Pour obtenir les fournisseurs de tous les journaux d’événements sur l’ordinateur, utilisez le caractère générique astérisque (*
).
Type: | String[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-LogName
Spécifie les journaux d’événements à partir duquel cette applet de commande obtient des événements. Entrez les noms du journal des événements dans une liste séparée par des virgules. Les caractères génériques sont autorisés. Vous pouvez également diriger les noms de journaux vers l’applet de commande Get-WinEvent
.
Note
PowerShell ne limite pas la quantité de journaux que vous pouvez demander. Toutefois, l’applet de commande Get-WinEvent
interroge l’API Windows qui a une limite de 256. Cela peut compliquer le filtrage de tous vos journaux à la fois. Vous pouvez contourner ce problème à l’aide d’une boucle foreach
pour itérer dans chaque journal comme suit : Get-WinEvent -ListLog * | ForEach-Object{ Get-WinEvent -LogName $_.Logname }
Type: | String[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-MaxEvents
Spécifie le nombre maximal d’événements retournés. Entrez un entier tel que 100. La valeur par défaut consiste à renvoyer tous les événements dans les journaux ou les fichiers.
Type: | Int64 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Oldest
Indiquez que cette applet de commande obtient les événements dans l’ordre le plus ancien. Par défaut, les événements sont retournés dans le premier ordre.
Ce paramètre est nécessaire pour obtenir des événements à partir de .etl
et de fichiers .evt
et des journaux de débogage et d’analytique. Dans ces fichiers, les événements sont enregistrés dans l’ordre le plus ancien et les événements peuvent être retournés uniquement dans l’ordre le plus ancien.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Path
Spécifie le chemin d’accès aux fichiers journaux d’événements à partir duquel cette applet de commande obtient des événements. Entrez les chemins d’accès aux fichiers journaux dans une liste séparée par des virgules ou utilisez des caractères génériques pour créer des modèles de chemins d’accès de fichier.
Get-WinEvent
prend en charge les fichiers avec les extensions de nom de fichier .evt
, .evtx
et .etl
. Vous pouvez inclure des événements à partir de différents fichiers et types de fichiers dans la même commande.
Type: | String[] |
Alias: | PSPath |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-ProviderName
Spécifie, en tant que tableau de chaînes, les fournisseurs de journaux d’événements à partir desquels cette applet de commande obtient des événements. Entrez les noms de fournisseurs dans une liste séparée par des virgules ou utilisez des caractères génériques pour créer des modèles de noms de fournisseur.
Un fournisseur de journaux d’événements est un programme ou un service qui écrit des événements dans le journal des événements. Ce n’est pas un fournisseur PowerShell.
Type: | String[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
Entrées
Vous pouvez diriger un LogName (chaîne) vers cette applet de commande.
Vous pouvez diriger une requête FilterXML vers cette applet de commande.
Vous pouvez diriger une requête FilterHashtable vers cette applet de commande.
Sorties
Avec le paramètre ListLog
Par défaut, cette applet de commande retourne EventLogRecord objets.
Avec le paramètre ListProvider
Notes
Get-WinEvent
est conçu pour remplacer l’applet de commande Get-EventLog
sur les ordinateurs exécutant Windows Vista et les versions ultérieures de Windows.
Get-EventLog
obtient uniquement les événements dans les journaux d’événements classiques.
Get-EventLog
est conservé pour la compatibilité descendante.
Les applets de commande Get-WinEvent
et Get-EventLog
ne sont pas prises en charge dans Windows Pre-installation Environment (Windows PE).