Get-EventLog
Получает события, зарегистрированные в журнале событий, или список журналов событий, находящихся на локальном или удаленном компьютере.
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>]
Командлет Get-EventLog получает события, зарегистрированные в журнале событий, или список журналов событий, находящихся на локальном компьютере или на удаленных компьютерах.
С помощью параметров командлета Get-EventLog можно искать события по значениям их свойств. Командлет Get-EventLog возвращает только те события, которые соответствуют всем указанным значениям свойств.
Командлеты, в имени которых содержится существительное EventLog (командлеты EventLog) работают только с классическими журналами событий. Чтобы получать события из журналов, основанных на технологии журнала событий Windows (в Windows Vista и более поздних версиях Windows), используйте командлет Get-WinEvent.
Получает только события, произошедшие позднее указанных даты и времени. Укажите объект DateTime, например один из объектов, возвращенных командлетом Get-Date.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Возвращает стандартный объект System.Diagnostics.EventLogEntry для каждого события. Если этот параметр не задан, командлет Get-EventLog возвращает расширенный объект PSObject с дополнительными свойствами EventLogName, Source и InstanceId.
Чтобы просмотреть результат применения этого параметра, передайте события по конвейеру командлету Get-Member и проверьте значение TypeName в наборе результатов.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
False |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Возвращает выходные данные в виде строк, а не объектов.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Получает только события, произошедшие раньше указанных даты и времени. Укажите объект DateTime, например один из объектов, возвращенных командлетом Get-Date.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Задает удаленный компьютер. По умолчанию используется значение "Локальный компьютер".
Введите имя NetBIOS, IP-адрес или полное доменное имя удаленного компьютера. Чтобы указать локальный компьютер, введите имя компьютера, точку (.) или "localhost".
Этот параметр не использует удаленное взаимодействие Windows PowerShell. Параметр ComputerName командлета Get-EventLog можно использовать, даже если компьютер не настроен на выполнение удаленных команд.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Получает только события с указанным типом записи. Допустимые значения: Error, Information, FailureAudit, SuccessAudit и Warning. По умолчанию возвращаются все события.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
Все события |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Получает только события с указанными индексами.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
Все события |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Получает только события с указанными идентификаторами экземпляров.
Обязательно? |
false |
Позиция? |
2 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Получает список журналов событий, находящихся на компьютере.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Задает журнал событий. Введите имя (значение свойства Log; а не свойства LogDisplayName) одного журнала событий. Подстановочные знаки запрещены. Это обязательный параметр.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Получает события, в сообщениях которых содержится указанная строка. Это свойство можно использовать для поиска сообщений, в которых содержатся определенные слова или фразы. Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
true |
Задает максимальное число извлекаемых событий. Командлет Get-EventLog возвращает указанное число событий, начиная с самого последнего события, зарегистрированного в журнале.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
Получает события, записанные в журнал указанными источниками. Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
true |
Получает только события, связанные с указанными именами пользователей. Введите имена или шаблоны имен, например User01, User* или Domain01\User*. Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
true |
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
Нет. Передать входные данные этому командлету по конвейеру невозможно. |
Выходные данные |
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String Если указан параметр LogName, выходными данными является коллекция объектов EventLogEntry (System.Diagnostics.EventLogEntry). Если указан только параметр List, выходными данными является коллекция объектов EventLog (System.Diagnostics.EventLog). Если указаны параметры List и AsString, выходными данными является коллекция объектов String (System.String). |
C:\PS>get-eventlog -list
Описание
-----------
Эта команда отображает сведения о журналах событий на компьютере.
C:\PS>get-eventlog -newest 5 -logname application
Описание
-----------
Эта команда отображает пять последних записей в журнале событий Application.
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
Описание
-----------
В этом примере показано, как найти все источники, представленные в 1000 последних записях журнала системных событий.
Первая команда извлекает 1000 последних записей из журнала системных событий и сохраняет их в переменной $events.
Вторая команда с помощью оператора конвейера (|) передает события, сохраненные в переменной $events, командлету Group-Object, который группирует записи по значению переменной Source. Второй оператор конвейера используется командой для передачи сгруппированных событий командлету Sort-Object, который сортирует их в порядке убывания; таким образом, наиболее часто фигурирующий источник отображается в списке первым.
Source является лишь свойством записей журнала событий. Чтобы просмотреть все свойства записи журнала событий, передайте события по конвейеру командлету Get-Member.
C:\PS>get-eventlog -logname System -EntryType Error
Описание
-----------
Эта команда извлекает из журнала системных событий только события типа "Ошибка".
C:\PS>get-eventlog -logname System -instanceID 3221235481 -Source "DCOM"
Описание
-----------
Эта команда извлекает из журнала системных событий только события, свойства InstanceID и Source которых имеют значения 3221235481 и "DCOM" соответственно.
C:\PS>get-eventlog -logname "Windows PowerShell" -computername localhost, Server01, Server02
Описание
-----------
Эта команда извлекает события из журналов событий "Windows PowerShell", находящихся на трех компьютерах: Server01, Server02 и "localhost" (локальный компьютер).
C:\PS>get-eventlog -logname "Windows PowerShell" -message "*failed*"
Описание
-----------
Эта команда извлекает все события из журнала событий Windows PowerShell, в сообщениях которых содержится слово "failed".
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 :
Описание
-----------
В этом примере показано, как отобразить значения всех свойств события.
Первая команда извлекает последнее событие из журнала системных событий и сохраняет его в переменной $a.
Вторая команда с помощью оператора конвейера (|) передает событие, сохраненное в переменной $a, команде Format-List, которая отображает все (*) свойства события.
C:\PS>get-eventlog -log application -source outlook | where {$_.eventID -eq 34}
Описание
-----------
Эта команда извлекает из журнала событий Application только события, у который свойство Source имеет значение Outlook, а свойство EventID — значение 34. Командлет Get-EventLog не имеет параметра EventID, однако можно использовать командлет Where-Object, позволяющий выбирать события на основе значения любого свойства события.
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
Описание
-----------
Эта команда возвращает события журнала системных событий, сгруппированные по значениям свойства UserName. В команде Get-EventLog используется параметр UserName для извлечения только событий, в которых имя пользователя начинается с комбинации символов "NT".
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
Описание
-----------
Эта команда извлекает из журнала событий Windows PowerShell все сообщения об ошибках, произошедших в июне 2008 года.
Get-WinEvent
Clear-EventLog
Limit-EventLog
New-EventLog
Remove-EventLog
Show-EventLog
Write-EventLog
Get-WinEvent