Поделиться через


Get-WinEvent

Возвращает события из журналов событий и файлов журналов трассировки событий на локальных и удаленных компьютерах.

Синтаксис

Get-WinEvent
   [[-LogName] <string[]>]
   [-MaxEvents <long>]
   [-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 <long>]
   [-ComputerName <string>]
   [-Credential <pscredential>]
   [-FilterXPath <string>]
   [-Force]
   [-Oldest]
   [<CommonParameters>]
Get-WinEvent
   [-Path] <string[]>
   [-MaxEvents <long>]
   [-Credential <pscredential>]
   [-FilterXPath <string>]
   [-Oldest]
   [<CommonParameters>]
Get-WinEvent
   [-FilterXml] <xml>
   [-MaxEvents <long>]
   [-ComputerName <string>]
   [-Credential <pscredential>]
   [-Oldest]
   [<CommonParameters>]
Get-WinEvent
   [-FilterHashtable] <hashtable[]>
   [-MaxEvents <long>]
   [-ComputerName <string>]
   [-Credential <pscredential>]
   [-Force]
   [-Oldest]
   [<CommonParameters>]

Описание

Командлет получает события из журналов событий, включая классические журналы, такие как системные и журналы приложения. Командлет получает данные из журналов событий, созданных технологией журнала событий Windows, представленной в Windows Vista. И события в файлах журналов, созданных трассировкой событий для Windows (ETW). По умолчанию Get-WinEvent возвращает сведения о событии в порядке новейших до старых.

Get-WinEvent перечисляет журналы событий и поставщики журналов событий. Чтобы прервать команду, нажмите клавиши CTRL +C. События можно получить из выбранных журналов или из журналов, созданных выбранными поставщиками событий. Кроме того, можно объединить события из нескольких источников в одной команде. Get-WinEvent позволяет фильтровать события с помощью запросов XPath, структурированных XML-запросов и хэш-таблиц.

Если вы не используете PowerShell в качестве администратора, могут появиться сообщения об ошибках, которые нельзя получить в журнале.

Примеры

Пример 1. Получение всех журналов с локального компьютера

Эта команда получает все журналы событий на локальном компьютере. Журналы перечислены в порядке их получения Get-WinEvent. Классические журналы сначала извлекаются, а затем новые журналы событий Windows. Для RecordCount журнала может быть пустым или нулевым.

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

Командлет Get-WinEvent получает данные журнала с компьютера. Параметр ListLog использует подстановочный знак звездочки (*) для отображения сведений о каждом журнале.

Пример 2. Получение классического журнала установки

Эта команда получает объект EventLogConfiguration , представляющий классический журнал установки . Объект содержит сведения о журнале, таких как размер файла, поставщик, путь к файлу и включение журнала.

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            :

Командлет использует параметр ListLog для указания журнала установки . Объект отправляется по конвейеру в командлет Format-List. использует параметр свойства со звездочкой () для отображения каждого свойства.

Пример 3. Получение журналов событий с сервера

Эта команда получает только журналы событий на локальном компьютере с событиями. Для recordCount журнала может быть равно null или нулю. В примере используется переменная $_. Дополнительные сведения см. в статье 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

Командлет Get-WinEvent получает данные журнала с компьютера. Параметр ListLog использует подстановочный знак звездочки (*) для отображения сведений о каждом журнале. Параметр ComputerName указывает, чтобы получить журналы с локального компьютера, localhost. Объекты отправляются по конвейеру в командлет Where-Object. Where-Object использует $_.RecordCount для возврата только журналов, содержащих данные. $_ — это переменная, представляющая текущий объект в конвейере. RecordCount является свойством объекта с ненулевым значением.

Пример 4. Получение журналов событий с нескольких серверов

В этом примере получаются объекты, представляющие журналы событий приложения на трех компьютерах: Server01, Server02 и Server03. Ключевое слово forEach forEach используется, так как параметр ComputerName принимает только одно значение. Дополнительные сведения см. в 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

Переменная $S сохраняет имена трех серверов: Server01, Server02и Server03. Оператор ForEach использует цикл для обработки каждого сервера ($Server in $S). Блок скрипта в фигурных скобках ({ }) выполняет команду Get-WinEvent. Параметр ListLog задает журнал приложения . Параметр ComputerName использует переменную $Server для получения сведений журнала с каждого сервера.

Объекты отправляются по конвейеру в командлет Select-Object. Select-Object получает свойства LogMode, MaximumSizeInBytes, RecordCount, LogNameи использует вычисляемое выражение для отображения ComputerName с помощью переменной $Server. Объекты отправляются по конвейеру в командлет Format-Table, чтобы отобразить выходные данные в консоли PowerShell. Параметр autoSize форматирует выходные данные для соответствия экрану.

Пример 5. Получение поставщиков журналов событий и имен журналов

Эта команда получает поставщиков журналов событий и журналы, в которые они записывают.

Get-WinEvent -ListProvider *

Name     : .NET Runtime
LogLinks : {Application}
Opcodes  : {}
Tasks    : {}

Name     : .NET Runtime Optimization Service
LogLinks : {Application}
Opcodes  : {}
Tasks    : {}

Командлет Get-WinEvent получает данные журнала с компьютера. Параметр ListProvider использует подстановочный знак звездочки (*) для отображения сведений о каждом поставщике. В выходных данных Name является поставщиком и LogLinks является журналом, в который записывается поставщик.

Пример 6. Получение всех поставщиков журналов событий, записываемых в определенный журнал.

Эта команда получает все поставщики, записываемые в журнал application.

(Get-WinEvent -ListLog Application).ProviderNames

.NET Runtime
.NET Runtime Optimization Service
Application
Application Error
Application Hang
Application Management

Командлет Get-WinEvent получает данные журнала с компьютера. Параметр ListLog использует Application для получения объектов для этого журнала. ProviderNames является свойством объекта и отображает поставщиков, записываемых в журнал приложения .

Пример 7. Получение имен поставщиков журналов событий, содержащих определенную строку

Эта команда получает поставщиков журналов событий с именами, включающими определенную строку в имя поставщика.

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    : {}

Командлет Get-WinEvent получает данные журнала с компьютера. Параметр listProvider использует подстановочный знак звездочки (*) для поиска политики в любом месте имени поставщика.

Пример 8. Получение идентификаторов событий, создаваемых поставщиком событий

Эта команда содержит идентификаторы событий, создаваемые поставщиком событий microsoft-Windows-GroupPolicy , а также описание события.

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

Командлет Get-WinEvent получает данные журнала с компьютера. Параметр listProvider указывает поставщика Microsoft-Windows-GroupPolicy. Выражение упаковывается в скобки и использует свойство Events для получения объектов. Объекты отправляются по конвейеру в командлет Format-Table. отображает идентификатор и описание описания объектов событий.

Пример 9. Получение сведений журнала из свойств объекта события

В этом примере показано, как получить сведения о содержимом журнала с помощью свойств объекта события. Объекты событий хранятся в переменной, а затем группируются и подсчитываются по идентификатору события и уровне.

PS> $Event = Get-WinEvent -LogName 'Windows PowerShell'

PS> $Event.Count
195

PS> $Event | Group-Object -Property Id -NoElement | Sort-Object -Property Count -Descending

Count  Name
-----  ----
  147  600
   22  400
   21  601
    3  403
    2  103

PS> $Event | Group-Object -Property LevelDisplayName -NoElement

Count  Name
-----  ----
    2  Warning
  193  Information

Командлет использует параметр LogName для указания журнала событий Windows PowerShell. Объекты событий хранятся в переменной $Event.

использует свойство переменной Count для отображения общего количества зарегистрированных событий.

Переменная $Event отправляется по конвейеру командлету Group-Object. использует параметр свойства , чтобы указать свойство id и подсчитывает объекты по идентификатору. Параметр NoElement удаляет другие свойства из выходных данных объектов. Сгруппированные объекты отправляются по конвейеру командлету Sort-Object. Sort-Object использует параметр свойства для сортировки объектов по count. Параметр убывание отображает выходные данные по количеству, от максимального до самого низкого. В выходных данных столбец счетчика содержит общее количество каждого события. Столбец имени содержит сгруппированные числа идентификаторов.

Переменная $Event отправляется по конвейеру командлету Group-Object. использует параметр свойства , чтобы указать свойство LevelDisplayName и подсчитывает объекты по LevelDisplayName. Объекты группируются по уровням, таким как предупреждение и сведения. Параметр NoElement удаляет другие свойства из выходных данных. В выходных данных столбец счетчика содержит общее количество каждого события. Столбец имени содержит группированные LevelDisplayName.

Пример 10. Получение событий ошибок с указанной строкой в имени

В этом примере используется строка имен журналов, разделенная запятыми. Выходные данные группируются по уровню, такому как ошибка или предупреждение, и имя журнала.

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

Командлет Get-WinEvent получает данные журнала с компьютера. Параметр LogName использует строку, разделенную запятыми, со звездочкой (*) для указания имен журналов. Объекты отправляются по конвейеру в командлет Group-Object. Group-Object использует параметр свойства для группировки объектов по LevelDisplayName и LogName. Параметр NoElement удаляет другие свойства из выходных данных. Сгруппированные объекты отправляются по конвейеру командлету Format-Table. Format-Table использует параметр autoSize для форматирования столбцов. Столбец счетчика содержит общее количество каждого события. Столбец имени содержит сгруппированные LevelDisplayName и LogName.

Пример 11. Получение событий из архивного журнала событий

Get-WinEvent можно получить сведения о событиях из сохраненных файлов журнала. В этом примере используется архивный журнал PowerShell, хранящийся на локальном компьютере.

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

Командлет Get-WinEvent получает данные журнала с компьютера. Параметр пути указывает имя каталога и файла.

Пример 12. Получение определенного количества событий из архивного журнала событий

Эти команды получают определенное количество событий из архивного журнала событий. Get-WinEvent имеет параметры, которые могут получить максимальное количество событий или старейших событий. В этом примере используется архивный журнал PowerShell, хранящийся в C:\Test\PowerShellCore Operational.evtx.

PS> 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

Командлет Get-WinEvent получает данные журнала с компьютера. Параметр пути указывает имя каталога и файла. Параметр maxEvents указывает, что отображаются 100 записей, от последних до старых.

Пример 13. Трассировка событий для Windows

Трассировка событий для Windows (ETW) записывает события в журнал по мере возникновения событий. События хранятся в порядке старейших до новейших. Архивированный файл ETW сохраняется в виде .etl, например TraceLog.etl. События перечислены в том порядке, в котором они записываются в журнал, поэтому требуется параметр старейших.

PS> Get-WinEvent -Path 'C:\Tracing\TraceLog.etl' -Oldest | Sort-Object -Property TimeCreated -Descending | Select-Object -First 100

Командлет Get-WinEvent получает данные журнала из архивированного файла. Параметр пути указывает имя каталога и файла. Параметр Старейшего используется для вывода событий в том порядке, в который они записываются, старейшие в новейшие. Объекты отправляются по конвейеру в командлет Sort-ObjectSort-Object сортирует объекты в порядке убывания по значению свойства TimeCreated. Объекты отправляются по конвейеру в командлет Select-Object, который отображает 100 новейших событий.

Пример 14. Получение событий из журнала трассировки событий

В этом примере показано, как получить события из файла журнала трассировки событий (.etl) и архивированного файла журнала Windows PowerShell (.evtx). Можно объединить несколько типов файлов в одной команде. Так как файлы содержат тот же тип объекта .NET Framework, EventLogRecord, их можно отфильтровать с теми же свойствами. Для команды требуется параметр Старейшего, так как он считывается из файла .etl, но параметр Старейший применяется к каждому файлу.

PS> Get-WinEvent -Path 'C:\Tracing\TraceLog.etl', 'C:\Test\Windows PowerShell.evtx' -Oldest | Where-Object { $_.Id -eq '403' }

Командлет Get-WinEvent получает данные журнала из архивных файлов. Параметр пути использует разделенный запятыми список для указания каждого каталога файлов и имени файла. Параметр Старейшего используется для вывода событий в том порядке, в который они записываются, старейшие в новейшие. Объекты отправляются по конвейеру в командлет Where-Object. использует блок скрипта для поиска событий с идентификатора 403. Переменная $_ представляет текущий объект в конвейере и идентификатор является свойством идентификатора события.

Пример 15. Фильтрация результатов журнала событий

В этом примере показаны различные методы для фильтрации и выбора событий из журнала событий. Все эти команды получают события, произошедшие за последние 24 часа из журнала событий Windows PowerShell. Методы фильтрации более эффективны, чем использование командлета Where-Object. Фильтры применяются при извлечении объектов. Where-Object извлекает все объекты, а затем применяет фильтры ко всем объектам.

# Using the Where-Object cmdlet:
PS> $Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
PS> Get-WinEvent -LogName 'Windows PowerShell' | Where-Object { $_.TimeCreated -ge $Yesterday }

# Using the FilterHashtable parameter:
PS> $Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
PS> Get-WinEvent -FilterHashtable @{ LogName='Windows PowerShell'; Level=3; StartTime=$Yesterday }

# Using the FilterXML parameter:
PS> Get-WinEvent -FilterXML "<QueryList><Query><Select Path='Windows PowerShell'>*[System[Level=3 and TimeCreated[timediff(@SystemTime)<= 86400000]]]</Select></Query></QueryList>"

# Using the FilterXPath parameter:
PS> Get-WinEvent -LogName 'Windows PowerShell' -FilterXPath "*[System[Level=3 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"

Пример 16. Использование FilterHashtable для получения событий из журнала приложений

В этом примере используется параметр FilterHashtable для получения событий из журнала Application. Хэш-таблица использует пары ключей и значений. Дополнительные сведения о параметре filterHashtable см. в разделе Создание запросов Get-WinEvent с помощью filterHashtable. Дополнительные сведения о хэш-таблицах см. в about_Hash_Tables.

$Date = (Get-Date).AddDays(-2)
Get-WinEvent -FilterHashtable @{ LogName='Application'; StartTime=$Date; Id='1003' }

Командлет Get-Date использует метод AddDays для получения даты, которая составляет два дня до текущей даты. Объект date хранится в переменной $Date.

Командлет Get-WinEvent получает сведения о журнале. Параметр FilterHashtable используется для фильтрации выходных данных. Ключ Log Name указывает значение в качестве журнала приложения. Ключ StartTime использует значение, хранящееся в переменной $Date. Ключ идентификатора использует значение идентификатора события 1003.

Пример 17. Использование FilterHashtable для получения ошибок приложения

В этом примере используется параметр FilterHashtable для поиска ошибок приложения Internet Explorer, возникших на прошлой неделе.

$StartTime = (Get-Date).AddDays(-7)
Get-WinEvent -FilterHashtable @{ Logname='Application'; ProviderName='Application Error'; Data='iexplore.exe'; StartTime=$StartTime }

Командлет Get-Date использует метод AddDays для получения даты, которая составляет семь дней до текущей даты. Объект date хранится в переменной $StartTime.

Командлет Get-WinEvent получает сведения о журнале. Параметр FilterHashtable используется для фильтрации выходных данных. Ключ Log Name указывает значение в качестве журнала приложения. Ключ providerName использует значение ошибки приложения, которая является исходнойсобытия. Ключ данных использует значение iexplore.exe ключ startTime startTime использует значение, хранящееся в переменной .

Параметры

-ComputerName

Указывает имя компьютера, который этот командлет получает события из журналов событий. Введите имя NetBIOS, IP-адрес или полное доменное имя компьютера. Значением по умолчанию является локальный компьютер, localhost. Этот параметр принимает только одно имя компьютера одновременно.

Чтобы получить журналы событий с удаленных компьютеров, настройте порт брандмауэра для службы журналов событий, чтобы разрешить удаленный доступ.

Этот командлет не зависит от удаленного взаимодействия PowerShell. Вы можете использовать параметр ComputerName, даже если компьютер не настроен для выполнения удаленных команд.

Тип:String
Aliases:Cn
Position:Named
Default value:Local computer
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. Значение по умолчанию — текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01. Или введите объект PSCredential, например объект, созданный командлетом Get-Credential. Если ввести имя пользователя, вам будет предложено ввести пароль. Если ввести только имя параметра, вам будет предложено как имя пользователя, так и пароль.

Тип:PSCredential
Position:Named
Default value:Current user
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-FilterHashtable

Задает запрос в формате хэш-таблицы для выбора событий из одного или нескольких журналов событий. Запрос содержит хэш-таблицу с одной или несколькими парами key/value.

Хэш-запросы таблицы имеют следующие правила:

  • Ключи и значения не учитывает регистр.
  • Подстановочные знаки допустимы только в значениях, связанных с ключами LogName и ProviderName.
  • Каждый ключ может быть указан только один раз в каждой хэш-таблице.
  • Значение пути принимает пути к .etl, .evtи файлам журналов .evtx.
  • Ключи logName, pathи ProviderName можно использовать в том же запросе.
  • Ключ UserID может принимать допустимый идентификатор безопасности (SID) или имя учетной записи домена, которое можно использовать для создания допустимого объекта System.Security.Principal.NTAccount.
  • Значение Data принимает данные события в неназванном поле. Например, события в классических журналах событий.
  • <named-data> ключ представляет именованное поле данных событий.

Если Get-WinEvent не может интерпретировать пару ключей и значений, он интерпретирует ключ как имя с учетом регистра для данных события в событии.

Допустимые пары ключей и значений приведены следующим образом:

  • Имя журнала=<String[]>
  • ProviderName=<String[]>
  • пути
  • ключевые слова =<Long[]>
  • идентификатор =<Int32[]>
  • уровня
  • StartTime=<DateTime>
  • endTime=<DateTime>
  • UserID=<SID>
  • данных=<String[]>
  • <named-data>=<String[]>
Тип:Hashtable[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-FilterXml

Указывает структурированный XML-запрос, который этот командлет выбирает события из одного или нескольких журналов событий.

Чтобы создать допустимый XML-запрос, используйте создание пользовательского представления и фильтрацию текущих журналов в средстве просмотра событий Windows. Используйте элементы в диалоговом окне, чтобы создать запрос, а затем щелкните вкладку XML, чтобы просмотреть запрос в формате XML. Xml можно скопировать на вкладке XML в значение параметра FilterXml. Дополнительные сведения о функциях просмотра событий см. в справке по просмотру событий.

Используйте XML-запрос для создания сложного запроса, содержащего несколько инструкций XPath. Формат XML также позволяет использовать элемент Подавление XML-, который исключает события из запроса. Дополнительные сведения о схеме XML для запросов журнала событий см. в разделе схеме запросов и запросах событий XML в выбора событий в библиотеке MSDN.

Тип:XmlDocument
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-FilterXPath

Указывает запрос XPath, который этот командлет выбирает события из одного или нескольких журналов.

Дополнительные сведения о языке XPath см. в справочнике по XPath и раздела "Фильтры выбора" в библиотеке MSDN.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Force

Возвращает журналы отладки и аналитики, а также другие журналы событий. Параметр Force требуется для получения отладочного или аналитического журнала, если значение параметра имени содержит подстановочные знаки.

По умолчанию командлет Get-WinEvent исключает эти журналы, если не указано полное имя отладочного или аналитического журнала.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ListLog

Указывает журналы событий. Введите имена журналов событий в разделенном запятыми списке. Разрешены подстановочные знаки. Чтобы получить все журналы, используйте подстановочный знак звездочки (*).

Тип:String[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-ListProvider

Указывает поставщики журналов событий, которые получает этот командлет. Поставщик журнала событий — это программа или служба, которая записывает события в журнал событий.

Введите имена поставщиков в разделенном запятыми списке. Разрешены подстановочные знаки. Чтобы получить поставщиков всех журналов событий на компьютере, используйте подстановочный знак звездочки (*).

Тип:String[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-LogName

Указывает журналы событий, из которым этот командлет получает события. Введите имена журналов событий в разделенном запятыми списке. Разрешены подстановочные знаки. Вы также можете передать имена журналов в командлет Get-WinEvent.

Тип:String[]
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:True

-MaxEvents

Указывает максимальное количество возвращаемых событий. Введите целое число, например 100. Значение по умолчанию — возвращать все события в журналах или файлах.

Тип:Int64
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Oldest

Укажите, что этот командлет получает события в старом порядке. По умолчанию события возвращаются в новом порядке.

Этот параметр необходим для получения событий из .etl и .evt файлов и из журналов отладки и аналитики. В этих файлах события записываются в старом порядке, а события можно возвращать только в старом порядке.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

Указывает путь к файлам журнала событий, из которой этот командлет получает события. Введите пути к файлам журнала в разделенном запятыми списке или используйте подстановочные знаки для создания шаблонов пути к файлу.

Get-WinEvent поддерживает файлы с расширениями .evt, .evtxи .etl имени файла. События из разных файлов и типов файлов можно включить в одну и ту же команду.

Тип:String[]
Aliases:PSPath
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:True

-ProviderName

Указывает в виде строкового массива поставщики журналов событий, из которых этот командлет получает события. Введите имена поставщиков в разделенном запятыми списке или используйте подстановочные знаки для создания шаблонов имен поставщика.

Поставщик журнала событий — это программа или служба, которая записывает события в журнал событий. Это не поставщик PowerShell.

Тип:String[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:True

Входные данные

System.String, System.Xml.XmlDocument, System.Collections.Hashtable

Можно конвейерировать logName (строка), запрос FilterXML или запрос FilterHashtable для .

Выходные данные

System.Diagnostics.Eventing.Reader.EventLogConfiguration, System.Diagnostics.Eventing.Reader.EventLogRecord, System.Diagnostics.Eventing.Reader.ProviderMetadata

При использовании параметра ListLogGet-WinEvent возвращает объекты System.Diagnostics.Eventing.Reader.EventLogConfiguration.

При использовании параметра listProvider возвращает объекты System.Diagnostics.Eventing.Reader.ProviderMetadata.

При использовании всех остальных параметров Get-WinEvent возвращает объекты System.Diagnostics.Eventing.Reader.EventLogRecord.

Примечания

Get-WinEvent работает в Windows Vista, Windows Server 2008 R2 и более поздних версиях Windows.

Get-WinEvent предназначен для замены командлета Get-EventLog на компьютерах под управлением Windows Vista и более поздних версий Windows. Get-EventLog получает события только в классических журналах событий. Get-EventLog сохраняется в версиях до PowerShell 6 для обеспечения обратной совместимости.

Командлеты Get-WinEvent и Get-EventLog не поддерживаются в среде предварительной установки Windows (Windows PE).