Получает события, зарегистрированные в журнале событий, или список журналов событий, находящихся на локальном или удаленном компьютере.
Синтаксис
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.
Параметры
-After <DateTime>
Получает только события, произошедшие позднее указанных даты и времени. Укажите объект DateTime, например один из объектов, возвращенных командлетом Get-Date.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-AsBaseObject
Возвращает стандартный объект System.Diagnostics.EventLogEntry для каждого события. Если этот параметр не задан, командлет Get-EventLog возвращает расширенный объект PSObject с дополнительными свойствами EventLogName, Source и InstanceId.
Чтобы просмотреть результат применения этого параметра, передайте события по конвейеру командлету Get-Member и проверьте значение TypeName в наборе результатов.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
False |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-AsString
Возвращает выходные данные в виде строк, а не объектов.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Before <DateTime>
Получает только события, произошедшие раньше указанных даты и времени. Укажите объект DateTime, например один из объектов, возвращенных командлетом Get-Date.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-ComputerName <string[]>
Задает удаленный компьютер. По умолчанию используется значение "Локальный компьютер".
Введите имя NetBIOS, IP-адрес или полное доменное имя удаленного компьютера. Чтобы указать локальный компьютер, введите имя компьютера, точку (.) или "localhost".
Этот параметр не использует удаленное взаимодействие Windows PowerShell. Параметр ComputerName командлета Get-EventLog можно использовать, даже если компьютер не настроен на выполнение удаленных команд.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-EntryType <string[]>
Получает только события с указанным типом записи. Допустимые значения: Error, Information, FailureAudit, SuccessAudit и Warning. По умолчанию возвращаются все события.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
All events |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Index <Int32[]>
Получает только события с указанными индексами.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
All events |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-InstanceId <Int64[]>
Получает только события с указанными идентификаторами экземпляров.
Обязательно? |
false |
Позиция? |
2 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-List
Получает список журналов событий, находящихся на компьютере.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-LogName <string>
Задает журнал событий. Введите имя (значение свойства Log; а не свойства LogDisplayName) одного журнала событий. Подстановочные знаки запрещены. Это обязательный параметр.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Message <string>
Получает события, в сообщениях которых содержится указанная строка. Это свойство можно использовать для поиска сообщений, в которых содержатся определенные слова или фразы. Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
true |
-Newest <int>
Задает максимальное число извлекаемых событий. Командлет Get-EventLog возвращает указанное число событий, начиная с самого последнего события, зарегистрированного в журнале.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Source <string[]>
Получает события, записанные в журнал указанными источниками. Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
true |
-UserName <string[]>
Получает только события, связанные с указанными именами пользователей. Введите имена или шаблоны имен, например User01, User* или Domain01\User*. Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
true |
<CommonParameters>
Данный командлет поддерживает общие параметры -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). |
Пример 1
C:\PS>get-eventlog -list Описание ----------- Эта команда отображает сведения о журналах событий на компьютере.
Пример 2
C:\PS>get-eventlog -newest 5 -logname application Описание ----------- Эта команда отображает пять последних записей в журнале событий Application.
Пример 3
C:\PS>$events = get-eventlog -logname system -newest 1000 C:\PS> $events | group-object -property source -noelement | sort-object -property count -descending Count Name ----- ---- 75 Service Control Manager 12 Print 6 UmrdpService 2 DnsApi 2 DCOM 1 Dhcp 1 TermDD 1 volsnap Описание ----------- В этом примере показано, как найти все источники, представленные в 1000 последних записях журнала системных событий. Первая команда извлекает 1000 последних записей из журнала системных событий и сохраняет их в переменной $events. Вторая команда с помощью оператора конвейера (|) передает события, сохраненные в переменной $events, командлету Group-Object, который группирует записи по значению переменной Source. Второй оператор конвейера используется командой для передачи сгруппированных событий командлету Sort-Object, который сортирует их в порядке убывания; таким образом, наиболее часто фигурирующий источник отображается в списке первым. Source является лишь свойством записей журнала событий. Чтобы просмотреть все свойства записи журнала событий, передайте события по конвейеру командлету Get-Member.
Пример 4
C:\PS>get-eventlog -logname System -EntryType Error Описание ----------- Эта команда извлекает из журнала системных событий только события типа "Ошибка".
Пример 5
C:\PS>get-eventlog -logname System -instanceID 3221235481 -Source "DCOM" Описание ----------- Эта команда извлекает из журнала системных событий только события, свойства InstanceID и Source которых имеют значения 3221235481 и "DCOM" соответственно.
Пример 6
C:\PS>get-eventlog -logname "Windows PowerShell" -computername localhost, Server01, Server02 Описание ----------- Эта команда извлекает события из журналов событий "Windows PowerShell", находящихся на трех компьютерах: Server01, Server02 и "localhost" (локальный компьютер).
Пример 7
C:\PS>get-eventlog -logname "Windows PowerShell" -message "*failed*" Описание ----------- Эта команда извлекает все события из журнала событий Windows PowerShell, в сообщениях которых содержится слово "failed".
Пример 8
C:\PS>$a = get-eventlog -log System -newest 1 C:\PS> $a | format-list -property * EventID : 7036 MachineName : Server01 Data : {} Index : 10238 Category : (0) CategoryNumber : 0 EntryType : Information Message : The description for Event ID Source : Service Control Manager ReplacementStrings : {WinHTTP Web Proxy Auto-Disco InstanceId : 1073748860 TimeGenerated : 4/11/2008 9:56:05 PM TimeWritten : 4/11/2008 9:56:05 PM UserName : Site : Container : Описание ----------- В этом примере показано, как отобразить значения всех свойств события. Первая команда извлекает последнее событие из журнала системных событий и сохраняет его в переменной $a. Вторая команда с помощью оператора конвейера (|) передает событие, сохраненное в переменной $a, команде Format-List, которая отображает все (*) свойства события.
Пример 9
C:\PS>get-eventlog -log application -source outlook | where {$_.eventID -eq 34} Описание ----------- Эта команда извлекает из журнала событий Application только события, у который свойство Source имеет значение Outlook, а свойство EventID — значение 34. Командлет Get-EventLog не имеет параметра EventID, однако можно использовать командлет Where-Object, позволяющий выбирать события на основе значения любого свойства события.
Пример 10
C:\PS>get-eventlog -log system -username NT* | group-object -property username -noelement | format-table Count, Name -auto Count Name ----- ---- 6031 NT AUTHORITY\SYSTEM 42 NT AUTHORITY\LOCAL SERVICE 4 NT AUTHORITY\NETWORK SERVICE Описание ----------- Эта команда возвращает события журнала системных событий, сгруппированные по значениям свойства UserName. В команде Get-EventLog используется параметр UserName для извлечения только событий, в которых имя пользователя начинается с комбинации символов "NT".
Пример 11
C:\PS>$May31 = get-date 5/31/08 C:\PS> $July1 = get-date 7/01/08 C:\PS> get-eventlog -log "Windows PowerShell" -entrytype Error -after $may31 -before $july1 Описание ----------- Эта команда извлекает из журнала событий Windows PowerShell все сообщения об ошибках, произошедших в июне 2008 года.