Навигация
|
События системыВ операционной системе windows есть журналы событий , каждому системному администратору необходимо уметь с ними работать.Итак начнем. Давайте посмотрим какие журналы событий у нас есть(команды выполнялись на windows 7):
PS C:Windowssystem32> Get-EventLog -list
Max(K) Retain OverflowAction Entries Log
—— —— ————— ——- —
20 480 0 OverwriteAsNeeded 2 076 Application
20 480 0 OverwriteAsNeeded 0 HardwareEvents
512 7 OverwriteOlder 0 Internet Explorer
20 480 0 OverwriteAsNeeded 0 Key Management Service
8 192 0 OverwriteAsNeeded 0 Media Center
20 480 0 OverwriteAsNeeded 4 213 Security
20 480 0 OverwriteAsNeeded 14 779 System
15 360 0 OverwriteAsNeeded 36 Windows PowerShell
Справа мы видим имена журналов , давайте заглянем в system(вывод сокращен):
PS C:Windowssystem32> Get-EventLog system
Index Time EntryType Source InstanceID Message
—— —- ——— —— ———- ——-
14779 авг 07 15:08 Information Service Control M… 1073748860 Служба «Информация о совместимости приложений» …
14778 авг 07 15:03 Information Service Control M… 1073748860 Служба «Планировщик классов мультимедиа» перешл…
14777 авг 07 14:59 Information Service Control M… 1073748860 Служба «WMI Performance Adapter» перешла в сост…
14776 авг 07 14:58 Information Service Control M… 1073748860 Служба «Кэш шрифтов Windows Presentation Founda…
14775 авг 07 14:58 Information Service Control M… 1073748860 Служба «Планировщик классов мультимедиа» перешл…
14774 авг 07 14:53 Information Service Control M… 1073748860 Служба «WMI Performance Adapter» перешла в сост…
14773 авг 07 14:53 Information Service Control M… 1073748860 Служба «WMI Performance Adapter» перешла в сост…
14772 авг 07 14:53 Information Service Control M… 1073748860 Служба «Планировщик классов мультимедиа» перешл…
14771 авг 07 14:51 Information Service Control M… 1073748860 Служба «Информация о совместимости приложений» …
14770 авг 07 14:51 Information Service Control M… 1073748860 Служба «WMI Performance Adapter» перешла в сост…
Вывод может оказаться очень большим , можно сократить его например с помощью параметра newest: Get-EventLog system -newest 30 , тут нам будут выведены только 30 строк.
Давайте выведем полную информацию о событии(в данном примере мы затрагиваем вывод информации в форматированном виде при команде Format-List):
PS C:Windowssystem32> Get-EventLog system -newest 1 | Format-List *
EventID : 7036
MachineName : ПК
Data : {65, 0, 101, 0…}
Index : 14779
Category : (0)
CategoryNumber : 0
EntryType : Information
Message : Служба «Информация о совместимости приложений» перешла в состояние Остановлена.
Source : Service Control Manager
ReplacementStrings : {Информация о совместимости приложений, Остановлена}
InstanceId : 1073748860
TimeGenerated : 07.08.2011 15:08:42
TimeWritten : 07.08.2011 15:08:42
UserName :
Site :
Container :
Давайте выведем только сообщения с ошибками(свойство EntryType я посмотрел из вывода PS C:Windowssystem32> Get-EventLog application -newest 1 | Get-Member):
PS C:Windowssystem32> Get-EventLog -Logname application -EntryType Error
Index Time EntryType Source InstanceID Message
—— —- ——— —— ———- ——-
1580 июл 31 12:36 Error Application Error 1000 Имя сбойного приложения: worldoftanks.exe, верс…
1195 июл 25 12:09 Error ESENT 215 WinMail (3180) WindowsMail0: Архивация остановл…
1116 июл 25 12:02 Error SideBySide 3238068257 Ошибка при создании контекста активации для «C:…
Тоже самое только по другому:
PS C:Windowssystem32> Get-EventLog -Logname application | Where-Object { $_.entryType -eq «error» }
Тут мы проверяем с помощью команды Where-Object (т.е. где объект соответствует) , $_ — означает передаваемый предыдущей командой аргумент , с помощью «.» мы присоединяем свойство entryType , -eq означает совпадение , и под конец мы передаем объект с которым идет сравнение.
Как видите тут все тоже просто.
Или вот-так:
PS C:powershell> Get-Eventlog Application -Message «*error*»
#Эта команда получает все журналы, имеющиеся на локальном компьютере.
get-winevent -listlog *#В данном примере команда извлекает объекты, представляющие журналы событий Windows PowerShell на трех компьютерах: Server01, Server02 и Server03.
$s = «Server01″, «Server02″, «Server03″ foreach ($server in $s) {get-winevent -listlog «Windows PowerShell» -computername $server} Теперь выведем все сообщения с ошибками за последние сутки-двое из журналов перечисленных в массиве:
#Объявляем дату
$date = (get-date).AddDays(-2)
#Журналы желаемые проверить
$massive = «Application»,»System»
#Указываем желаемый уровень 2(ошибка) и время для проверяемых журналов и отправляем все это в хтмл-файл по нескольким критериям
get-winevent -FilterHashTable @{LogName=$massive; Level=2; StartTime=$date} | ConvertTo-Html -Property TimeCreated, ProviderName, Level, Message > c:powershellReport.htm
Комментарии пользователей Эту новость ещё не комментировалиНаписать комментарий Анонимам нельзя оставоять комментарии, зарегистрируйтесь! |
Контакты Группа ВК | Код обмена баннерами | Видео к IT статьям на YoutubeВидео на другие темы Смотреть | |||
Мои друзья: | © Snakeproject.ru создан в 2013 году.При копировании материала с сайта - оставьте ссылку.Весь материал на сайте носит ознакомительный характер,за его использование другими людьми, автор ответственности не несет. |
||||
Поддержать автора и проект
|