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

Синтаксис

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 года.






См. также




Содержание