Get-EventLog
Возвращает события в журнале событий или список журналов событий на локальном компьютере или удаленных компьютерах.
Синтаксис
LogName (По умолчанию)
Get-EventLog
[-LogName] <String>
[[-InstanceId] <Int64[]>]
[-ComputerName <String[]>]
[-Newest <Int32>]
[-After <DateTime>]
[-Before <DateTime>]
[-UserName <String[]>]
[-Index <Int32[]>]
[-EntryType <String[]>]
[-Source <String[]>]
[-Message <String>]
[-AsBaseObject]
[<CommonParameters>]
List
Get-EventLog
[-ComputerName <String[]>]
[-List]
[-AsString]
[<CommonParameters>]
Описание
Командлет Get-EventLog получает события и журналы событий с локальных и удаленных компьютеров. По умолчанию Get-EventLog получает журналы с локального компьютера. Чтобы получить журналы с удаленных компьютеров, используйте параметр ComputerName.
Для поиска событий можно использовать значения параметров и свойств Get-EventLog. Командлет получает события, соответствующие указанным значениям свойств.
Командлеты PowerShell, содержащие EventLog существительное, работают только в классических журналах событий Windows, таких как приложение, система или безопасность. Чтобы получить журналы, использующие технологию журнала событий Windows в Windows Vista и более поздних версиях Windows, используйте Get-WinEvent.
Замечание
Get-EventLog использует устаревший API Win32. Результаты могут быть не точными.
Get-WinEvent Вместо этого используйте командлет.
Примеры
Пример 1. Получение журналов событий на локальном компьютере
В этом примере отображается список журналов событий, доступных на локальном компьютере. Имена в столбце журнала используются с параметром
Get-EventLog -List
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 20,792 Application
15,168 0 OverwriteAsNeeded 12,559 System
15,360 0 OverwriteAsNeeded 11,173 Windows PowerShell
Командлет
Пример 2. Получение последних записей из журнала событий на локальном компьютере
Этот пример получает последние записи из журнала событий системы.
Get-EventLog -LogName System -Newest 5
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13820 Jan 17 19:16 Error DCOM 10016 The description for Event...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event...
13818 Jan 17 19:06 Information Service Control... 1073748864 The start type of the Back...
13817 Jan 17 19:05 Error DCOM 10016 The description for Event...
13815 Jan 17 19:03 Information Microsoft-Windows... 35 The time service is now sync...
Командлет Get-EventLog использует параметр LogName для указания журнала событий системы. Параметр Newest возвращает пять последних событий.
Пример 3. Поиск всех источников для определенного количества записей в журнале событий
В этом примере показано, как найти все источники, включенные в 1000 последних записей в журнале событий системы.
$Events = Get-EventLog -LogName System -Newest 1000
$Events | Group-Object -Property Source -NoElement | Sort-Object -Property Count -Descending
Count Name
----- ----
110 DCOM
65 Service Control Manager
51 Microsoft-Windows-Kern...
14 EventLog
14 BTHUSB
13 Win32k
Командлет Get-EventLog использует параметр LogName для указания системного журнала. Параметр Newest выбирает последние события 1000. Объекты событий хранятся в переменной $Events. Объекты $Events отправляются по конвейеру командлету Group-Object.
Group-Object использует параметр свойства для группировки объектов по источнику и подсчитывает количество объектов для каждого источника. Параметр NoElement удаляет членов группы из выходных данных.
Командлет
Пример 4. Получение событий ошибок из определенного журнала событий
Этот пример получает события ошибок из журнала событий системы.
Get-EventLog -LogName System -EntryType Error
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13296 Jan 16 13:53 Error DCOM 10016 The description for Event ID '10016' in Source...
13291 Jan 16 13:51 Error DCOM 10016 The description for Event ID '10016' in Source...
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
Командлет Get-EventLog использует параметр LogName для указания системного журнала. Параметр EntryType фильтрует события, чтобы отобразить только события ошибок.
Пример 5. Получение событий из журнала событий со значением InstanceId и Source
Этот пример получает события из журнала системы для определенного экземпляра и источника.
Get-EventLog -LogName System -InstanceId 10016 -Source DCOM
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
13219 Jan 16 10:00 Error DCOM 10016 The description for Event ID '10016' in Source...
Командлет Get-EventLog использует параметр LogName для указания системного журнала. Параметр InstanceId выбирает события с указанным идентификатором экземпляра. Параметр Source указывает свойство события.
Пример 6. Получение событий с нескольких компьютеров
Эта команда получает события из журнала событий системы на трех компьютерах: Server01, Server02 и Server03.
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
Командлет Get-EventLog использует параметр LogName для указания системного журнала. Параметр ComputerName использует строку, разделенную запятыми, для перечисления компьютеров, из которых требуется получить журналы событий.
Пример 7. Получение всех событий, включающих определенное слово в сообщение
Эта команда получает все события в журнале событий системы, содержащие определенное слово в сообщении события. Возможно, значение указанного параметра message включается в содержимое сообщения, но не отображается в консоли PowerShell.
Get-EventLog -LogName System -Message *description*
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 19:17 Error DCOM 10016 The description for Event ID '10016'...
13820 Jan 17 19:16 Error DCOM 10016 The description for Event ID '10016'...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event ID '10016'...
Командлет Get-EventLog использует параметр LogName для указания журнала событий системы. Параметр сообщения
Пример 8. Отображение значений свойств события
В этом примере показано, как отобразить все свойства и значения события.
$A = Get-EventLog -LogName System -Newest 1
$A | Select-Object -Property *
EventID : 10016
MachineName : localhost
Data : {}
Index : 13821
Category : (0)
CategoryNumber : 0
EntryType : Error
Message : The description for Event ID '10016' in Source 'DCOM'...
Source : DCOM
ReplacementStrings : {Local,...}
InstanceId : 10016
TimeGenerated : 1/17/2019 19:17:23
TimeWritten : 1/17/2019 19:17:23
UserName : username
Site :
Container :
Командлет Get-EventLog использует параметр LogName для указания журнала событий системы. Параметр Newest выбирает последний объект события. Объект хранится в переменной $A. Объект в переменной $A отправляется по конвейеру командлету Select-Object.
Select-Object использует параметр свойства со звездочкой (*) для выбора всех свойств объекта.
Пример 9. Получение событий из журнала событий с помощью источника и идентификатора события
Этот пример получает события для указанного источника и идентификатора события.
Get-EventLog -LogName Application -Source Outlook | Where-Object {$_.EventID -eq 63} |
Select-Object -Property Source, EventID, InstanceId, Message
Source EventID InstanceId Message
------ ------- ---------- -------
Outlook 63 1073741887 The Exchange web service request succeeded.
Outlook 63 1073741887 Outlook detected a change notification.
Outlook 63 1073741887 The Exchange web service request succeeded.
Командлет Get-EventLog использует параметр LogName для указания журнала событий приложения. Параметр источника Where-Object. Для каждого объекта в конвейере командлет Where-Object использует переменную $_.EventID для сравнения свойства идентификатора события с указанным значением. Объекты отправляются по конвейеру в командлет Select-Object.
Пример 10. Получение событий и группирование по свойству
Get-EventLog -LogName System -UserName NT* | Group-Object -Property UserName -NoElement |
Select-Object -Property Count, Name
Count Name
----- ----
6031 NT AUTHORITY\SYSTEM
42 NT AUTHORITY\LOCAL SERVICE
4 NT AUTHORITY\NETWORK SERVICE
Командлет Get-EventLog использует параметр LogName для указания системного журнала. Параметр UserName включает подстановочный знак звездочки (*) для указания части имени пользователя. Объекты событий отправляются по конвейеру в командлет Group-Object. Select-Object.
Пример 11. Получение событий, произошедших во время определенного диапазона даты и времени
Этот пример получает события ошибки из журнала событий системы для указанного диапазона даты и времени. Параметры до и После задают диапазон даты и времени, но исключаются из выходных данных.
$Begin = Get-Date -Date '1/17/2019 08:00:00'
$End = Get-Date -Date '1/17/2019 17:00:00'
Get-EventLog -LogName System -EntryType Error -After $Begin -Before $End
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 13:40 Error DCOM 10016 The description for Event ID...
13820 Jan 17 13:11 Error DCOM 10016 The description for Event ID...
...
12372 Jan 17 10:08 Error DCOM 10016 The description for Event ID...
12371 Jan 17 09:04 Error DCOM 10016 The description for Event ID...
Командлет Get-Date использует параметр Date для указания даты и времени. Объекты DateTime хранятся в переменных $Begin и $End. Командлет Get-EventLog использует параметр LogName для указания системного журнала. Параметр EntryType указывает тип события Error. Диапазон даты и времени задается параметром After и переменной $Begin, а также параметром Before и переменной $End.
Параметры
-After
Возвращает события, произошедшие после указанной даты и времени.
После даты и времени параметра исключаются из выходных данных. Введите объект
Свойства параметров
| Тип: | DateTime |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
LogName
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-AsBaseObject
Указывает, что этот командлет возвращает стандартный объект System.Diagnostics.EventLogEntry для каждого события. Без этого параметра Get-EventLog возвращает расширенный объект PSObject с дополнительными свойствами EventLogName, Sourceи InstanceId.
Чтобы просмотреть эффект этого параметра, передайте события в командлет Get-Member и проверьте значение TypeName в результате.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
LogName
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-AsString
Указывает, что этот командлет возвращает выходные данные в виде строк, а не объектов.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
List
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Before
Возвращает события, произошедшие до указанной даты и времени. Параметр до даты и времени исключены из выходных данных. Введите объект
Свойства параметров
| Тип: | DateTime |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
LogName
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-ComputerName
Этот параметр указывает имя NetBIOS удаленного компьютера, IP-адрес или полное доменное имя (FQDN).
Если параметр .) для указания локального компьютера.
Параметр ComputerName не зависит от удаленного взаимодействия Windows PowerShell. Вы можете использовать
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | CN |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-EntryType
Указывает в виде строкового массива тип записи событий, которые получает этот командлет.
Допустимые значения для этого параметра:
- Ошибка
- Информация
- Аудит сбоев
- УспехАудит
- Предупреждение
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Допустимые значения: | Error, Information, FailureAudit, SuccessAudit, Warning |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | Восточное время |
Наборы параметров
LogName
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Index
Указывает значения индекса, полученные из журнала событий. Параметр принимает строку значений, разделенную запятыми.
Свойства параметров
| Тип: | Int32[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
LogName
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-InstanceId
Указывает идентификаторы экземпляров для получения из журнала событий. Параметр принимает строку значений, разделенную запятыми.
Свойства параметров
| Тип: | Int64[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
LogName
| Position: | 1 |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-List
Отображает список журналов событий на компьютере.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
List
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-LogName
Указывает имя одного журнала событий. Чтобы найти имена журналов, используйте Get-EventLog -List. Разрешено использование подстановочных символов. Этот параметр является обязательным.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
| Aliases: | LN |
Наборы параметров
LogName
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Message
Указывает строку в сообщении о событии. Этот параметр можно использовать для поиска сообщений, содержащих определенные слова или фразы. Подстановочные символы разрешены.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
| Aliases: | Глутамат натрия |
Наборы параметров
LogName
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Newest
Начинается с последних событий и получает указанное количество событий. Необходимо число событий, например -Newest 100. Указывает максимальное количество возвращаемых событий.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
LogName
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Source
Указывает в виде строкового массива источники, записанные в журнал, который получает этот командлет. Подстановочные символы разрешены.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
| Aliases: | АБО |
Наборы параметров
LogName
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-UserName
Указывает в виде строкового массива имена пользователей, связанных с событиями. Введите имена или шаблоны имен, например User01, User*или Domain01\User*. Подстановочные символы разрешены.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
LogName
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
None
Входные данные невозможно передать в Get-EventLog.
Выходные данные
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Если указан параметр LogName, выходные данные — это коллекция объектов System.Diagnostics.EventLogEntry.
Если указан только параметр List, выходные данные — это коллекция объектов System.Diagnostics.EventLog.
Если указаны параметры List и AsStr ing, выходные данные представляют собой коллекцию объектов System.String.
Примечания
Командлеты Get-EventLog и Get-WinEvent не поддерживаются в среде предустановки Windows (Windows PE).