Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒Powershell⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Python
⇐SQL\T-SQL
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

События системы


В операционной системе 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

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru