Мониторинг и оповещение о событиях в журналах Windows: триггеры событий. Журнал событий сервера
Журналы событий сервера
В следующей таблице представлены сообщения и информация по устранению неполадок для событий, которые могут возникнуть на сервере MBAM в процессе настройки конфигурации.
103
Microsoft-Windows-MBAM-Server/Operational
VssRegistrationException
Исключение во время регистрации VSS.
104
Microsoft-Windows-MBAM-Server/Operational
VssDeregistrationException
Исключение во время отмены регистрации VSS.
300
CmdletError
Сбой при удалении папки.
Означает, что при выполнении задачи возникла неустранимая ошибка. Проверьте сообщения о других событиях в журнале для дальнейшей диагностики установки MBAM.
301
Microsoft-Windows-MBAM-Server/Admin
cmdletUnexpectedError
Непредвиденная ошибка командлета.
302
Microsoft-Windows-MBAM-Server/Admin
CmdletWarning
Предупреждение командлета.
303
Microsoft-Windows-MBAM-Server/Operational
CmdletInformation
Сведения о командлете.
Только для информации. Устранение неполадок не требуется. Событие означает, что задача связана с такими командлетами, как, например, включение или отключение функции либо отмена операции.
400
Microsoft-Windows-MBAM-Server/Admin
ConfiguratorError
Ошибка конфигуратора.
Означает, что во время запуска конфигуратора MBAM возникла ошибка. Убедитесь, что пользователь имеет соответствующие права доступа для запуска конфигуратора MBAM.
401
Microsoft-Windows-MBAM-Server/Admin
ConfiguratorUnexpectedError
Непредвиденная ошибка конфигуратора.
Указывает, что при выполнении задачи конфигуратора MBAM возникла неустранимая ошибка. Сообщение об ошибке будет содержать дополнительные сведения об ошибке. Проверьте сообщения о других ошибках в журнале событий для дальнейшей диагностики установки MBAM. В число известных ошибок входят следующие.
- Сбой при извлечении или проверке выбранного пользователем сертификата.
- Сбой при разборе URL-адреса отчетов.
- Сбой при открытии журналов событий для пользователя.
402
Microsoft-Windows-MBAM-Server/Admin
ConfiguratorWarning
Предупреждение конфигуратора.
Означает, что задача конфигуратора MBAM выполнена не так, как ожидалось, но не завершилась полным сбоем. В число известных проблем входит отсутствие сертификата в хранилище LocalMachine\My store, настроенном в компоненте веб-приложения, или истекшее время ожидания для незавершенной задачи.
410
Microsoft-Windows-MBAM-Server/Operational
ConfiguratorInformation
Сведения о конфигураторе.
Только для информации. Устранение неполадок не требуется. Событие означает, что задача была вызвана конфигуратором MBAM. В число известных задач входят следующие.
- Запуск конфигуратора.
- Проверка наличия необходимых компонентов программного обеспечения для компонента MBAM.
- Проверка параметров для компонента MBAM.
- Включение, отключение или запуск компонента MBAM.
- Создание сценария PowerShell из конфигуратора.
500
Microsoft_Windows_MBAM_Server_Admin
WebProviderUnexpectedError
Непредвиденная ошибка поставщика веб-приложения.
Означает, что при включении и настройке веб-сайта или веб-службы MBAM в IIS произошла ошибка. В число известных ошибок входят следующие.
- Не удается найти корневую папку веб-публикации IIS.
- Сбой доступа к конфигурации IIS в файле web.config из-за неправильного формата файлов или отсутствующих параметров.
- Сбой при создании или удалении веб-приложения.
- Нарушение прав доступа к IIS.
Эта ошибка также регистрируется, если MBAM не удается получить доступ к Active Directory (AD) для проверки учетных записей пользователей. Убедитесь, что службы IIS установлены и правильно настроены, а служба IIS запущена. Убедитесь, что проверка наличия компонентов программного обеспечения, необходимых для MBAM, пройдена успешно. Убедитесь, что у пользователя есть разрешения, необходимые для создания веб-приложений в экземпляре IIS. Убедитесь, что пользователь имеет доступ для чтения к объектам учетной записи пользователя в AD.
501
Microsoft-Windows-MBAM-Server/Admin
WebProviderError
Непредвиденная ошибка поставщика веб-приложения.
Означает, что при включении, отключении или настройке веб-сайта или веб-службы MBAM в IIS произошла ошибка. В число известных ошибок входят следующие.
- Сбой при считывании основных сведений или сведений о привязке WSHttp из IIS.
- Отсутствие раздела удостоверений или DNS-записи в разделе удостоверений в файлах конфигурации IIS.
- Сбой при открытии раздела реестра HKLM\SOFTWARE\Microsoft\InetStp.
Сбой при попытке считать значение PathWWWRoot из реестра HKLM\SOFTWARE\Microsoft\InetStp.- Пользователь пытается указать имя виртуального каталога, зарезервированное для MBAM.
Убедитесь, что службы IIS установлены и правильно настроены. Убедитесь, что раздел реестра HKLM\SOFTWARE\Microsoft\InetStp:PathWWWRoot существует и доступен. Убедитесь, что сведения о привязке в IIS не повреждены.
502
Microsoft-Windows-MBAM-Server/Admin
WebProviderWarning
Предупреждение поставщика веб-приложения.
Означает, что при включении веб-сайта или веб-службы MBAM возникла устранимая ошибка. В число известных ошибок входят следующие.
- Невозможность доступа к AD для проверки имени субъекта-службы (SPN) для учетной записи пула приложений.
- Сбой при проверке имени субъекта-службы, связанный с тем, что оно назначено нескольким учетным записям в AD.
- Сбой при регистрации имени субъекта-службы для учетной записи пула приложений в AD.
- Имя субъекта-службы зарегистрировано для учетной записи, отличной от пула приложений в AD.
- Сбой при удалении имени субъекта-службы из учетной записи пула приложений в AD во время операции отката.
- Сбой при проверке предоставления группе IIS_IUSRS права входа в систему как пакета прав доступа на сервере IIS.
Более подробные сведения об ошибке будут указаны в сообщении об этой ошибке. Убедитесь, что AD доступен с сервера, на котором запущена программа установки MBAM. Убедитесь, что у пользователя, запустившего программу установки MBAM, есть разрешения на чтение в отношении учетной записи пула приложений в AD. Если имя субъекта-службы уже зарегистрировано в учетной записи пула приложений в AD, убедитесь в том, что оно не зарегистрировано в других учетных записях.
503
Microsoft-Windows-MBAM-Server/Operational
WebProviderInformation
Информационное сообщение поставщика веб-приложения. {Описание}
Только для информации. Устранение неполадок не требуется. Событие означает, что задача была вызвана программой установки MBAM. В число известных задач входят получение конфигурации IIS (например, сведений о привязке и корневого узла) и настройка имени субъекта-службы (SPN).
600
Microsoft-Windows-MBAM-Server/Admin
SetupUnexpectedError
Непредвиденная ошибка установки.
Означает, что при включении, отключении или настройке компонента MBAM возникла неустранимая ошибка. В число известных ошибок входят следующие.
- Сбой при откате задачи после возникновения ошибки.
- Сбой при чтении реестра.
- Сбой при создании или удалении папки в файловой системе.
- Сбой при чтении сведений о версии SQL.
- Сбой при регистрации модуля записи VSS в SQL.
Более подробные сведения об ошибке будут указаны в сообщении об этой ошибке. Убедитесь, что проверка наличия компонентов программного обеспечения, необходимых для MBAM, пройдена успешно. Убедитесь, что путь к реестру MBAM (если он существует), HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MBAM Server и все подразделы доступны для чтения. Убедитесь, что AD доступен с сервера, на котором запущена программа установки MBAM. Убедитесь, что у пользователя, запустившего программу установки MBAM, есть разрешения на чтение AD.
Для успешной регистрации модуля записи VSS требуется наличие поддерживаемой версии SQL и доступность экземпляра для пользователя, выполняющего программу установки MBAM. Перед отключением или удалением компонента MBAM необходимо закрыть все файлы (такие как файлы журналов и файлы web.config), чтобы MBAM мог удалить свои веб-сайты и веб-службы.
601
Microsoft-Windows-MBAM-Server/Admin
SetupError
Ошибка установки.
Означает, что при включении, отключении или настройке компонента MBAM возникла неустранимая ошибка. В число известных ошибок входят следующие.
- Сбой при чтении конфигурации MBAM в IIS.
- Поврежденный раздел appSettings в конфигурации IIS или неправильная настройка параметров.
- Сбой при проверке имени узла.
- Сбой при чтении сведений о версии SQL.
- Сбой при регистрации модуля записи VSS в SQL.
Более подробные сведения об ошибке будут указаны в сообщении об этой ошибке. Убедитесь, что IIS установлен и правильно настроен. Убедитесь, что проверка наличия компонентов программного обеспечения, необходимых для MBAM, пройдена успешно. Для успешной регистрации модуля записи VSS требуется наличие поддерживаемой версии SQL и доступность экземпляра для пользователя, выполняющего программу установки MBAM.
602
Microsoft-Windows-MBAM-Server/Admin
SetupWarning
Предупреждение программы установки.
Означает, что при включении, отключении или настройке компонента MBAM, такого как интеграция диспетчера конфигураций или веб-приложение MBAM, возникла устранимая ошибка. В число известных ошибок входят следующие. Сбой при удалении отчетов MBAM из роли SRS в диспетчере конфигураций и сбой при разрешении имении хоста из контроллера домена. Более подробные сведения об ошибке будут указаны в сообщении об этой ошибке.
Убедитесь, что AD доступен с сервера, на котором запущена программа установки MBAM. Убедитесь, что у пользователя, запустившего программу установки MBAM, есть разрешения на удаление экземпляра SSRS, настроенного как точка роли SRS в диспетчере конфигураций.
603
Microsoft-Windows-MBAM-Server/Operational
SetupInformation
Данные установки.
Только для информации. Устранение неполадок не требуется.
605
Microsoft-Windows-MBAM-Server/Admin
WebProviderSoftwareCheckFailure
Веб-приложение не может быть включено, так как одна или несколько зависимостей программного обеспечения не выполнены.
В процессе установки веб-сайта или веб-службы MBAM программа установки MBAM проверяет наличие необходимых компонентов. Это сообщение означает, что MBAM не удалось установить запрошенный веб-сайт или веб-службу в связи с отсутствием необходимого компонента. Более подробные сведения о недостающих компонентах указаны в сообщениях об ошибках, предшествующих данному сообщению.
606
Microsoft-Windows-MBAM-Server/Admin
SetupParameterValidationFailure
Параметр, необходимый для включения компонента сервера, не указан или не прошел проверку.
Означает, что параметр, необходимый для настройки конфигурации компонента MBAM, не указан или не прошел проверку.
607
Microsoft-Windows-MBAM-Server/Admin
SetupParameterValidationFailureWithError
Произошла ошибка при попытке проверки указанного параметра, необходимого для включения компонента сервера.
Означает, что при попытке проверки указанного параметра, необходимого для включения компонента сервера, возникла ошибка.
700
Microsoft-Windows-MBAM-Server/Admin
DbProviderUnexpectedError
Непредвиденная ошибка поставщика БД.
701
Microsoft-Windows-MBAM-Server/Admin
DbProviderError
Ошибка поставщика БД.
Дополнительные сведения о фактической ошибке должны быть указаны в сообщении, содержащемся в разделе EventDetails. Некоторые аспекты, которые нужно проверить:
- Программе установки MBAM не удалось подключиться к базе данных, используя указанные данные подключения. Проверьте параметры строки подключения, указанной в программе установки MBAM.
- Программе установки MBAM не удалось подключиться к указанной базе данных, используя указанные данные учетной записи домена. Проверьте, правильно ли указаны имя пользователя домена и пароль учетной записи домена.
- Программе установки MBAM не удалось подключиться к указанной базе данных, используя указанные данные учетной записи домена. Убедитесь, что указанная учетная запись домена имеет необходимые разрешения для подключения к базе данных MBAM.
- MBAM Dac Pac завершится ошибкой, если уже установлена более новая версия базы данных MBAM. Убедитесь, что на соответствующем SQL Server не установлена более новая версия баз данных MBAM.
702
Microsoft-Windows-MBAM-Server/Admin
DbProviderWarning
Предупреждение поставщика БД.
703
Microsoft-Windows-MBAM-Server/Operational
DbProviderInformation
Информационное сообщение поставщика БД.
Только для информации. Устранение неполадок не требуется.
704
Microsoft-Windows-MBAM-Server/Admin
DbProviderDacError
Ошибка при развертывании приложения уровня данных.
MBAM упаковывает свои базы данных как приложения уровня данных и пытается зарегистрировать их с помощью Microsoft.SqlServer.Dac.DacServices. Сообщение об ошибке в этом контексте выдается службой приложения уровня данных. Более подробные сведения о причине возникновения данной ошибки должны быть указаны в событии. Прочтите сообщение об ошибке и устраните проблему.
705
Microsoft-Windows-MBAM-Server/Admin
DbProviderDacWarning
Предупреждение при развертывании приложения уровня данных.
MBAM упаковывает свои базы данных как приложения уровня данных и пытается зарегистрировать их с помощью Microsoft.SqlServer.Dac.DacServices. Предупреждение в этом контексте выдается службой приложения уровня данных. Более подробные сведения о причине возникновения данной ошибки должны быть указаны в событии. Прочтите информацию в предупреждении для устранения проблемы.
706
Microsoft-Windows-MBAM-Server/Operational
DbProviderDacInformation
Сообщение при развертывании приложения уровня данных.
Только для информации. Устранение неполадок не требуется.
800
Microsoft-Windows-MBAM-Server/Admin
ReportProviderUnexpectedError
Непредвиденная ошибка поставщика отчетов.
Непредвиденная ошибка поставщика отчетов. {Описание} {exceptionDetails} Вот несколько примеров сведений об исключениях.
При получении имени каталога {имя_каталога} произошла ошибка.
При получении файлов каталога {имя_каталога} возникло исключение.
При перечислении каталогов в каталоге {имя_каталога} возникло исключение.
При чтении всех байтов для файла {имя_файла} возникло исключение.
Во время установки MBAM программа установки MBAM распакует все файлы отчета по указанному пути установки. В процессе установки отчетов модуль установки пытается получить доступ к распакованным файлам отчетов, используя путь установки, и обращается к службам отчетов SQL для публикации файлов отчетов. Указанные выше ошибки возникают, если MBAM не удается получить доступ к файлами или папкам, используя путь для установки распакованных файлов. Некоторые рекомендации по устранению этой проблемы
- Убедитесь, что MBAM установлен.
- Убедитесь, что раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MBAM Server\InstallationPath существует и доступен для пользователя, выполняющего установку.
- Убедитесь, что путь к файлам отчетов по пути установки MBAM содержит не более 248 символов.
- Убедитесь, что папка или файлы программы установки MBAM, содержащиеся по пути установки MBAM, не были изменены после установки.
- Убедитесь, что пользователь, выполняющий программу установки, авторизован для чтения папки установки MBAM и записи в нее.
Сбой подключения к службам отчетов.{exceptionDetails}
Во время установки отчетов MBAM модуль пытается взаимодействовать с веб-службами SSRS для создания папок и публикации отчетов. Указанное выше сообщение означает, что MBAM не удалось найти веб-службы SSRS или установить с ними связь. Некоторые рекомендации по устранению этой проблемы
- Убедитесь, что SSRS установлен на указанном компьютере.
- С помощью консоли SSRS убедитесь, что SSRS включен и запущен.
- Убедитесь, что пользователь, выполняющий программу установки, авторизован для доступа к SSRS.
Сбой при удалении отчетов MBAM с использованием URL-адреса экземпляра служб отчетов {SSRSInstanceUrl}. Убедитесь, что экземпляр SSRS, необходимый для отчетов MBAM, работает и правильно настроен.
Если установка MBAM завершается сбоем либо пользователь отключает компоненты отчетов MBAM, модуль установки удаляет отчеты SSRS. Указанное выше сообщение означает, что MBAM не удалось удалить отчеты SSRS. Некоторые рекомендации по устранению этой проблемы
- Убедитесь, что SSRS установлен на указанном компьютере.
- С помощью консоли SSRS убедитесь, что SSRS включен и запущен.
- Убедитесь, что пользователь, выполняющий программу установки, авторизован для доступа к SSRS.
Ошибка при публикации отчетов.{exceptionDetails}.
Во время установки отчетов MBAM модуль пытается взаимодействовать с веб-службами SSRS для создания папок и публикации отчетов. Указанное выше сообщение означает, что при публикации отчетов веб-служба SSRS сообщила об исключении. Некоторые рекомендации по устранению этой проблемы
- С помощью консоли SSRS убедитесь, что SSRS включен и запущен.
- Убедитесь в том, что пользователь, выполняющий программу установки, авторизован для доступа к SSRS и публикации отчетов.
Политика для пользователя группы с именем {userName} уже существует. Если это не так, вручную проверьте службу отчетов на наличие дублирующихся или недопустимых политик.
После публикации отчетов MBAM программа установки MBAM пытается создать роли пользователей отчетов MBAM (если они не существуют) и задает соответствующую политику пользователя. Указанная выше ошибка означает, что веб-служба SSRS выдала исключение при настройке политики роли пользователя отчета. Выполните инструкции в сообщении о событии и обратитесь за дополнительной справкой по адресу: https://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=SQL+Server+Reporting+Services&ProdVer=8.00&EvtID=rsInvalidPolicyDefinition&EvtSrc=Microsoft.ReportingServices.Diagnostics.ErrorStrings.resources.Strings&LCID=1033.
Произошла ошибка при проверке доступа к SSRS {exceptionDetails}.
Проверяя наличие необходимых компонентов программного обеспечения, программа установки MBAM проверяет также, обладает ли пользователь необходимыми разрешениями для доступа и создания папок в SSRS. Сообщение об ошибке означает, что исключение возникло при проверке доступа к SSRS. Рекомендации по отладке см. в сведениях об исключении.
Ошибка SOAP при проверке URL-адреса SSRS.{exceptionDetails}
Веб-ошибка при проверке URL-адреса SSRS.{exceptionDetails}
Ошибка http/https при проверке URL-адреса SSRS.{exceptionDetails}
Ошибка при проверке URL-адреса SSRS.{exceptionDetails}
Проверяя наличие необходимых компонентов программного обеспечения, программа установки MBAM получает URL-адреса, связанные с указанным экземпляром SSRS, и пытается установить связь с веб-службой SSRS. Данное сообщение об ошибке означает, что веб-служба SSRS по указанному URL-адресу выдала исключение. Дополнительную информацию см. в сведениях об исключении. Некоторые рекомендации по устранению проблем со связью с SSRS
- Убедитесь, что SSRS установлен на указанном компьютере.
- С помощью консоли SSRS убедитесь, что SSRS включен и запущен.
- Убедитесь, что пользователь, выполняющий программу установки, авторизован для доступа к SSRS.
Ошибка при получении версии SSRS. {exceptionDetails}
Проверяя наличие необходимых компонентов программного обеспечения, программа установки MBAM отправляет в WMI запрос для получения номера версии, связанной с указанным экземпляром SSRS. Указанное выше сообщение об ошибке означает, что при запросе WMI возникло исключение. Дополнительную информацию см. в сведениях об исключении. Некоторые проверки, которые вы можете выполнить
- Убедитесь, что SSRS с указанным именем экземпляра установлен на указанном компьютере.
- С помощью консоли SSRS убедитесь, что SSRS включен и запущен.
- Убедитесь, что пользователь, выполняющий установку, авторизован для подачи запросов о классе SSRS в пространстве имен WMI.
Текущий пользователь не авторизован для доступа к пространству имен WMI {ssrsWMINamespace}.
При перечислении пространства имен {ssrsWMINamespace} возникла ошибка. Сервер RPC для поставщика WMI SSRS на локальном узле не найден.
При перечислении пространства имен {ssrsNamespace} возникла ошибка. Не удалось найти экземпляр SSRS на локальном узле.
При обращении к WMI возникла ошибка. Сервер RPC для экземпляра {ssrsInstance} не найден.
При обращении к WMI возникла ошибка. Имя экземпляра {ssrsInstanceName} указано неверно.
При обращении к WMI возникла ошибка. Не удалось найти экземпляр {ssrsInstanceName} на локальном узле.
Проверяя наличие необходимых компонентов программного обеспечения, программа установки MBAM отправляет в WMI запрос для получения пространства имен WMI, связанного с указанным экземпляром. Указанное выше сообщение об ошибке означает, что при запросе WMI возникло исключение. Дополнительную информацию см. в сведениях об исключении. Некоторые проверки, которые вы можете выполнить
- Убедитесь, что SSRS с указанным именем экземпляра установлен на указанном компьютере.
- С помощью консоли SSRS убедитесь, что SSRS включен и запущен.
- Убедитесь, что пользователь, выполняющий установку, авторизован для доступа и подачи запросов о классе SSRS в пространстве имен WMI.
801
Microsoft-Windows-MBAM-Server/Admin
ReportProviderError
Непредвиденная ошибка поставщика отчетов.
Получив имя экземпляра служб отчетов SQL Server, MBAM пытается найти пространство имен WMI, соответствующее экземпляру отчетов, и подключиться к нему. Данная ошибка возникает, если MBAM получает исключение в процессе поиска или попытки подключения к пространству имен WMI SSRS. Для получения более подробной информации прочтите сообщениях об ошибках, зарегистрированные в канале установки MBAM до получения данного сообщения. Вот несколько проверок, которые вы можете выполнить.
- Убедитесь, что SSRS с указанным именем экземпляра запущен и работает.
- Убедитесь, что у пользователя, выполняющего установку MBAM, есть разрешения, необходимые для запрашивания пространства имен WMI SSRS и подключения к этому пространству имен.
802
Microsoft-Windows-MBAM-Server/Admin
ReportProviderWarning
Предупреждение поставщика отчетов.
803
Microsoft-Windows-MBAM-Server/Operational
ReportProviderInformation
Информационное сообщение поставщика отчетов.
Только для информации. Устранение неполадок не требуется.
900
Microsoft-Windows-MBAM-Server/Admin
CMProviderUnexpectedError
Непредвиденная ошибка поставщика диспетчера конфигураций.
Означает, что при включении, отключении или настройке компонента интеграции диспетчера конфигураций в MBAM возникла неустранимая ошибка. В число известных ошибок входят следующие.
- Сбой при подключении к серверу сайта диспетчера конфигураций через поставщика SMS.
- Сбой при чтении реестра.
- Сбой при создании или удалении папки в файловой системе.
- Невозможность найти установку консоли диспетчера конфигураций на локальном компьютере.
- Сбой при получении сведений для экземпляра SSRS, настроенного как точка роли SRS в диспетчере конфигураций.
Более подробные сведения об ошибке будут указаны в сообщении об этой ошибке. Убедитесь, что проверка наличия компонентов программного обеспечения, необходимых для MBAM, пройдена успешно. Убедитесь, что путь к реестру MBAM (если он существует), HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MBAM Server и все подразделы доступны для чтения. Убедитесь, что MBAM интегрирован с поддерживаемой версией диспетчера конфигураций. Убедитесь, что консоль диспетчера конфигураций установлена на компьютере, где вызывается программа установки MBAM, и что ее можно использовать для подключения к целевому серверу сайта диспетчера конфигураций. Убедитесь, что действительный экземпляр SSRS настроен как точка роли SRS в диспетчере конфигураций, а у пользователя, выполняющего программу установки MBAM, есть разрешения на чтение и запись для экземпляра SSRS.
901
Microsoft-Windows-MBAM-Server/Admin
CMProviderError
Непредвиденная ошибка поставщика диспетчера конфигураций.
Означает, что при включении, отключении или настройке компонента интеграции диспетчера конфигураций в MBAM возникла неустранимая ошибка. В число известных ошибок входят следующие.
- Сбой при подключении к серверу сайта диспетчера конфигураций через поставщика SMS.
- Сбой при чтении реестра.
- Сбой при создании или удалении папки в файловой системе.
- Невозможность найти установку консоли диспетчера конфигураций на локальном компьютере.
- Отсутствует папка ConfigMgr в SSRS — корневая папка для отчетов точки роли SRS.
- Отсутствует общий источник данных ConfigMgr в SSRS.
- Сбой при развертывании отчетов SSRS в экземпляре SSRS, настроенном как точка роли SRS в диспетчере конфигураций.
- Сбой при создании элементов конфигурации и базовых показателей в диспетчере конфигураций.
Более подробные сведения об ошибке будут указаны в сообщении об этой ошибке. Убедитесь, что проверка наличия компонентов программного обеспечения, необходимых для MBAM, пройдена успешно. Убедитесь, что путь к реестру MBAM (если он существует), HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MBAM Server и все подразделы доступны для чтения. Убедитесь, что MBAM интегрирован с поддерживаемой версией диспетчера конфигураций. Убедитесь, что консоль диспетчера конфигураций установлена на компьютере, где вызывается программа установки MBAM, и что ее можно использовать для подключения к целевому серверу сайта диспетчера конфигураций. Убедитесь, что у пользователя есть разрешения на чтение и запись данных для создания элементов конфигурации, базовых показателей и коллекций в диспетчере конфигураций. Убедитесь, что допустимый экземпляр служб SSRS настроен как точка роли SRS в диспетчере конфигураций, а у пользователя, выполняющего программу установки MBAM, есть разрешения на чтение и запись для экземпляра SSRS.
902
Microsoft_Windows_MBAM_Server_Admin
CMProviderWarning
Предупреждение поставщика диспетчера конфигураций.
Означает, что при включении компонента интеграции диспетчера конфигураций в MBAM возникла устранимая ошибка. В число известных ошибок входят следующие. Сбой при применении правил сбора данных к коллекции поддерживаемых компьютеров MBAM в диспетчере конфигураций и другие ошибки, связанные с SSRS и сетью.
Более подробные сведения об ошибке будут указаны в сообщении об этой ошибке. Некоторые операции, вызывающие это предупреждение, после появления данного предупреждения прекращаются. Если после нескольких попыток ошибка повторяется, MBAM может завершиться действительной ошибкой. Проверьте сообщения о других событиях в журнале для дальнейшей диагностики установки MBAM.
903
Microsoft-Windows-MBAM-Server/Operational
CMProviderInformation
Информация поставщика диспетчера конфигураций.
Только для информации. Устранение неполадок не требуется.
technet.microsoft.com
Новые возможности мониторинга событий в Windows Server 2008::Журнал СА 12.2008
Андрей Бирюков
Новые возможности мониторинга событий в Windows Server 2008
Анализ различных журналов событий является неотъемлемой задачей для любого системного администратора. Рассмотрим, какие функции для решения этой задачи предлагает операционная система Windows Server 2008.
Как было раньше
Мощные производственные серверы требуют постоянного контроля за тем, какие события на них происходят. Неверный ввод паролей, попытки доступа к административным ресурсам, внезапные остановки служб, отсутствие свободного места на жестких дисках – информация обо всех этих и других событиях необходима системному администратору для обеспечения рабочего функционирования промышленных серверов.
Теперь настало время поговорить о том, как реализованы средства сбора сообщений о событиях в новой операционной системе Windows Server 2008.
Нововведения
Как и многие другие функции Windows Server 2008, журналы событий были существенно переделаны и дополнены новыми возможностями. Но обо всем по порядку. Для начала рассмотрим, как новшества были внесены в средства получения и обработки событий Event Viewer.
По определению Microsoft [1], событие – это любое значительное проявление в операционной системе или приложении, требующее отслеживания информации. Событие не всегда негативно, поскольку успешный вход в сеть, успешная передача сообщений или репликация данных также могут генерировать события в Windows. В каждом журнале с его событиями связаны общие свойства.
- Level (уровень) – это свойство определяет важность события;
- Date and Time (дата и время) – это свойство содержит информацию о дате и времени возникновения события;
- Source (источник) – это свойство указывает источник события: приложение, удаленный доступ, служба и т. д.;
- Event ID (код события) – каждому событию назначен идентификатор события ID, число, сгенерированное источником и уникальное для всех типов событий;
- Task Category (категория задачи) – это свойство определяет категорию события, например Security или System.
На основе данных свойств событий можно осуществлять выборку и фильтрацию, выполнять поиск.
Внешний вид
Интерфейс утилиты Event Viewer также существенно изменился. Информация, содержащаяся в системных собщениях, во многом осталась прежней, переработанный интерфейс теперь позволяет более эффективно работать с событиями, осуществлять их поиск, фильтрацию и другие функциональные возможности. Внешний вид утилиты аналогичен реализации MMC 3.0. Навигационное дерево на левой панели окна утилиты просмотра событий отображает список системных собщений и журналов, доступных для просмотра, а также содержит новые папки, предназначенные для создания настраиваемых представлений событий и подписок с удаленных систем. Подробнее об этих и других новых функциях мы поговорим чуть позже (см. рис. 1).

Рисунок 1. Внешний вид журнала событий
Рассмотрим более подробно эти папки.
Фильтры
Настраиваемые представления – это специальные фильтры, созданные либо автоматически системой Windows Server 2008 во время добавления в систему новых ролей сервера или приложений, таких как Active Directory Certificate Services (cлужбы сертификатов каталогов), сервер DHCP, либо администраторами вручную. Для администраторов одной из важнейших функций при работе с журналами событий является возможность создавать фильтры, позволяющие просматривать только интересующие события, чтобы можно было быстро диагностировать и устранять проблемы в системе.
В качестве примера рассмотрим папку Custom Views в навигационной панели утилиты просмотра событий. Если в этой папке щелкнуть правой кнопкой мыши по Administrative Events и затем указать Properties, то после нажатия Edit Filter получаем набор отфильтрованных по критерию сообщений.
Настраиваемые представления оснастки Administrative Events фиксируют все критические события, а события ошибок и предупреждений фиксируются для всех журналов событий (в отличие от предыдущих версий Windows). Таким образом, с помощью данного фильтра администратор может обращаться к единственному источнику для быстрой проверки потенциальных проблем, присутствующих в системе.
Теперь в качестве примера попробуем создать собственное представление. Для этого щелкнем правой кнопкой мыши на папке Custom View и в контекстном меню выберем пункт Create Custom View (создать настраиваемое представление).
Если требуемые события необходимо фильтровать по дате, то в списке Logged выберите диапазон дат. Затем необходимо указать критерий Event Level (уровень событий) для включения в настраиваемое представление. Возможные значения:
- Critical –критическое;
- Error – ошибка;
- Warning – предупреждение;
- Information – информация;
- Verbose – подробности.
После указания уровня событий необходимо перейти к разделам By Log и By Source. Используя соответствующие раскрывающиеся списки, укажите журнал события и источники журнала событий, которые должны быть включены в данный настраиваемый фильтр.
При необходимости вы также можете указать конкретные коды событий, категории задач и другие параметры. Но помните, что включение слишком большого числа событий в настраиваемое представление может отрицательно сказаться на производительности и использовании ресурсов системы.
Созданные настраиваемые представления можно экспортировать в XML-файл для последующего распространения на другие машины.
Журналы
Теперь рассмотрим типы журналов, появившиеся в Windows Server 2008. Здесь тоже произошли некоторые изменения. В папке журналов Windows Logs находятся как традиционные журналы безопасности, приложений и системы, так и два новых журнала – Setup (настройка) и Forwarded Events (пересланные события).
Первые три типа событий уже присутствовали в предыдущих версиях системы, поэтому рассказывать о них нет смысла. А о последних двух следует рассказать подробнее.
Журнал Setup фиксирует информацию, связанную с установкой приложений, ролями сервера и их характеристиками. Так, например, сообщения о добавлении на сервере роли DHCP будет отражены в этом журнале.
В журнале Forwarded Events собираются сообщения, присланные с других машин в сети. Наличие такой функции позволяет облегчить решение проблем, возникших сразу на нескольких машинах в сети.
Папка Applications and Services Logs (журналы приложений и служб) представляют собой новый способ логической организации, представления и сохранения событий, связанных с конкретным приложением, компонентом или службой Windows, вместо использовавшейся ранее регистрации событий, которые оказывают влияние на всю систему. Эти журналы включают четыре подтипа:
- Admin – события, предназначенные для конечных пользователей и администраторов;
- Operational – рабочий журнал событий, также предназначенный для администраторов;
- Analytic – журнал позволяет отслеживать цепочку возникновения проблемы и часто содержит большое количество записанных событий;
- Debug – используется для отладки приложений.
По умолчанию журналы Analytic и Debug скрыты и отключены. Для того чтобы их просмотреть, щелкните правой кнопкой мыши на папке Applications and Services Logs, а затем в контекстном меню выберите пункт View, Show Analytic and Debug Logs (см. рис. 2).

Рисунок 2. Настройка Debug
Подписки на события
Рассмотрим еще одно нововведение в Windows Server 2008. Это Subscriptions (подписки). Эта долгожданная функция аналогична службе Syslog в UNIX. Данная функциональная возможность позволяет удаленным компьютерам пересылать сообщения о событиях, в результате чего их можно просматривать централизованно. Например, если у вас имеется несколько серверов и вам необходимо следить за состоянием каждого из них. Теперь вместо того чтобы переключаться из одной консоли Event Viewer в другую, вы можете наблюдать все события в одной консоли. Это позволит сэкономить время и облегчить процесс решения проблем.
В качестве примера настроим подписку событий. Для этого нам потребуются два компьютера: один будет выступать в качестве источника событий, второй будет получать события от первого. Зайдите на сервер-источник под учетной записью, обладающей административными правами. Введите в окне командной строки:
winrm quickconfig
Добавьте компьютер, собирающий сообщения о событиях, в группу локальных администраторов на источнике. Затем войдите на компьютер, собирающий сообщения, и также выполните:
winrm quickconfig
После этого выполните на нем же следующую команду:
wecutil qc
При необходимости вы можете изменять параметры оптимизации доставки событий. Например, вы можете изменить параметр Minimize Bandwidth (минимизация пропускной способности) для удаленных серверов с ненадежным каналом связи.
Реагируем на события
Еще одной интересной функцией, о которой хотелось бы упомянуть, является возможность ответной реакции на события. Другими словами, если в журнал событий поступило сообщение о том, что на жестком диске осталось слишком мало свободного места, вы можете автоматически запустить сценарий, выполняющий архивацию данных. Аналогично в случае получения сообщения об ошибке какого-либо критически важного приложения, вы можете отправить уведомление администратору по электронной почте или смс. Данная функция является долгожданным решением проблем с автоматизацией работы серверов, так как раньше требовалось устанавливать дополнительное программное обеспечение или писать сценарии, для того чтобы заставить сервер автоматически реагировать на определенные события.
В качестве примера настроим отправку сообщения администратору в случае неудачного входа пользователя в систему. Обратите внимание на то, что теперь это событие имеет другой ID, отличный от использовавшегося в Windows 2003 ID 528.
Для этого необходимо зайти в журнал событий Event Viewer, открыть раздел Windows Logs, затем Security, выбрать нужное событие, нажать правую кнопку мыши и указать Attach Task To This Event… (прикрепить задачу к этому событию) (см. рис. 3).

Рисунок 3. Настройка ответной реакции на событие
В открывшемся окне необходимо выбрать название события и его описание. На следующем шаге указываются используемый журнал, источник и номер события. Содержимое этого журнала нельзя изменить. Потом выбирается тип ответного действия. Это может быть выполнение какого-либо приложения, отправка электронного письма или вывод сообщения на экран. Выберем отправку письма. На следующем шаге нужно указать, от кого и на чей адрес отправлять письмо, тему письма, его текст. Можно также прикрепить какой-либо файл к данному сообщению. Не забудьте указать IP-адрес SMTP-сервера. На следующем шаге поставьте галочку в соответствующем поле, для того чтобы после создания задачи открылось окно с ее свойствами (см. рис. 4).

Рисунок 4. Свойства задач
Свойства задач
Окно свойств задачи аналогично интерфейсу Scheduled Tasks для заданий, выполняющихся по расписанию. Здесь можно указать учетную запись, под которой выполняется задача, при необходимости ее можно выполнять только когда пользователь работает на машине.
В закладке Triggers вы можете добавлять или изменять условия выполнения задачи. В Actions вы можете добавлять различные действия. В закладке Conditions прописаны условия, при которых выполняется задача. В Settings можно прописать, какие действия должны быть выполнены при различных условиях. Например, что нужно делать в случае, если такая задача уже выполняется. Наконец, в закладке History вы можете наблюдать все события, которые вызвали выполнение задачи.
Заключение
Вот мы и рассмотрели новый функционал Windows Server 2008, связанный с мониторингом событий. Новые функции позволят вам автоматизировать процесс управления сбором событий и более эффективно управлять корпоративной сетью.
- Р. Моримото, М. Ноэл, О. Драуби. Microsoft Windows Server 2008. Полное руководство.
samag.ru
Мониторинг и оповещение о событиях в журналах Windows: триггеры событий
В Windows Server 2008 (Vista) появился новый функционал, позволяющий привязать задание планировщика к любому событию в журналах системы. Благодаря этой возможности администратор может на любое событие Windows назначить выполнение определенного скрипта или отправку оповещения по электронной почты. Разберемся с этой возможностью подробнее.
Возможность запуска задач при наступлении определенных событий Windows основана на тесной интеграции Task Scheduler и Event Viewer. Назначить задание планировщика на любое событие Windows можно прямо из консоли журнала просмотр события (Event Viewer). В качестве реакции на произошедшее событие планировщик может запустить скрипт или отправить почтовое уведомление администратору (или любому другому пользователю).
Допустим, наша задача – настроить оповестить администратора безопасности о блокировке учетной записи пользователя в Active Directory.
Событие блокировки учетной записи в AD отмечается на контроллере домена в журнале Security (Безопасность). Event ID события блокировки – 4740. Открываем консоль журнала событий Windows (Event Viewer — eventvwr.msc) и ищем интересующее нас событие. Щелкаем по нему ПКМ и выбираем пункт Attach Task To This Event (Прикрепить задачу к этому событию).
Запускается мастер создания нового задания планировщика. Мастер предложит указать имя задания. Оно генерируется автоматически — Security_Microsoft-Windows-Security-Auditing_4740 и нас устраивает.
На следующем шаге указаны вид журнала событий, источник и Event ID события (все поля заполняются автоматически и не доступны для редактирования на этом шаге).
Далее предлагается выбрать тип реакции на событие. Возможны следующие варианты:
- Start a program – запуск программы (скрипта)
- Send an e-mail – отправка почтового уведомления
- Display a message – отображение сообщения в консоли
Нас интересует оповещение по Email. Указываем отправителя, получателя, адрес SMTP сервера, тему и текст письма.
На последнем шаге мастера можно посмотреть получившиеся настройки триггера. В результате в планировщике задач появится новое задание, привязанное к нашему событию. Откроем консоль Task Scheduler (в Administrative Tools). Созданное задание можно найти в разделе Task Scheduler Library -> Event Viewer Tasks.
Здесь же можно изменить настройки триггера события и принудительно его запустить, протестировав реакцию на событие.

Совет. Если нужно один триггер привязать к множеству EventID, их нужно указывать через запятую.
Триггер является активным. Теперь при блокировке любой учетной записи AD – на указанный email будет отправляться письмо с уведомлением.

Примечание. Аналогичный функционал в Windows Server 2003 и более ранних версиях Windows реализовывался с помощью консольной утилиты — eventtriggers.exe. Данная утилита также позволяла отслеживать события в журналах системы и «вешать» на определенные события триггеры. Для нашего пример, когда к событию 4740 нужно привязать выполнение скрипта vbs или powershell, который отправляет письмо на ящик администратора, команда может быть такой:
eventtriggers /create /TR “Lock Account” /TK “C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe c:\script\SendEmail.ps1″ /L Security /EID 4740
Такое уведомление не очень информативно, и для просмотра подробной информации о событии приходится открывать журнал Event Viewer. Попробуем прикрепить к письму данные из журнала событий. В этом нам поможет утилита wevtutil, позволяющая выгрузить из журналов Windows информацию о любом событии. Так, чтобы получить данные о последнем событии с кодом 4740 из журнала Security, нужно выполнить:
wevtutil qe Security /q:"*[System[(EventID=4740)]]" /f:text /rd:true /c:1
Создадим скрипт (query.cmd) из двух строчек: первая удаляет старый файл с логом, вторая – выгружает из журнала последнее событие и сохраняет его в файл лога:
del c:\script\query.txtwevtutil qe Security /q:"*[System[(EventID=4740)]]" /f:text /rd:true /c:1 > c:\script\query.txt
Осталось еще раз открыть настройки созданного ранее триггера в журнале планировщика задач. На вкладке Actions добавим новое действие – запуск скрипта query.cmd. Затем нужно изменить порядок выполнения действий, перенесем его вверх списка с помощью стрелок справа (скрипт должен выполняться первым).
Далее отредактируем второе действие – отправку электронного письма, выбрав в качестве вложения к письму файл c:\script\query.txt .

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

Привязка заданий планировщика к событиям в журналах систем работает во всех версиях Windows, начиная с Windows Server 2008 / Vista. Этот функционал позволяет быстро оповестить администратора о возникновении определенных проблем с серверов и отреагировать на них.
winitpro.ru
отправка на E-mail в Windows Server 2012 R2 / Хабрахабр
Не так давно, для успешного прохождения аудита на соответствие стандартам PCI DSS, потребовалось включить аудит событий Windows серверов и что самое главное — настроить отправку уведомлений о критичных событиях на E-mail. Для Linux серверов вопрос решается установкой и настройкой OSSEC (ну еще могут понадобиться syslog ws loganalyzer и auditd), для Windows Server 2012 R2 да еще и русской версии он не подошел (в последствии нам таки удалось его адекватно настроить, если будет интересно — смогу описать как). Так что решили искать другие способы…Первым дело следует включить аудит всех необходимых операций (управление учетными записями и контроль целостности файлов) в доменной политике. И если с аудитом операций над объектами Active Directory все просто, то вот с аудитом файловых операций придется повозиться. Тут, как нельзя кстати, компания Netwrix (не сочтите за рекламу, — компания автор коммерческого софта для аудита) подготовила замечательную статью: «Настройка аудита файловых серверов: подробная инструкция и шпаргалка» (.pdf).
Но вернемся к нашим «костылям». После успешной активации аудита всех необходимых операций и обнаружения в журналах Windows интересующих нас событий, встал вопрос об их отправке на сервер мониторинга… Логично было бы воспользоваться встроенными инструментами ("Attach Task To This Event" не самый информативный инструмент, зато «родной» для Windows), но тут всплывает первый любопытный и не приятный момент от Microsoft — «Send an email and Display a message are deprecated for from Windows Server 2012 and Windows 8».
Send an e-mail (deprecated)
… Согласно рекомендациям от Microsoft, как замену встроенному «deprecated» функционалу решили использовать скрипты PowerShell для фильтрации журналов и отправки по E-mail, благо есть подробные инструкции:«Аудит Active Directory средствами Powershell с оповещением об изменениях».«Аудит удаления и доступа к файлам и запись событий в лог-файл средствами Powershell» Но тут возникла сложность другого характера: приведенные выше скрипты отсылали на E-mail только заголовки (темы) событий, тело письма было пустым :( При всем при этом — если скрипт PowerShell запустить в PowerShell ISE «as Administrator», то приходит полное сообщение, как и было задумано!пример скрипта отправки уведомления о событии 'Заблокирован аккаунт' - Event ID 4725:$time = (get-date) - (new-timespan -min 60) $Subject = “Заблокирован аккаунт" $Theme = “Только что был заблокирован аккаунт” $Server = “smtp.server.local” $From = “[email protected]” $To = “[email protected]” $encoding = [System.Text.Encoding]::UTF8 #Выбирается последнее произошедшее событие с таким ID. $TimeSpan = new-TimeSpan -sec 1 foreach($event in $events) { $PrevEvent = $Event.Запись $PrevEvent = $PrevEvent - 1 $TimeEvent = $Event.TimeCreated $TimeEventEnd = $TimeEvent+$TimeSpan $TimeEventStart = $TimeEvent- (new-timespan -sec 1) $Body=Get-WinEvent -maxevents 1 -FilterHashtable @{LogName=”Security”;ID=4725;StartTime=$TimeEventStart;} | Select TimeCreated,@{n=”Account Name”;e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq “TargetUserName”} |%{$_.’#text’}}},@{n=”Computer”;e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq “TargetDomainName”}| %{$_.’#text’}}} $body = $body -replace "@{" -replace "}" -replace "=", ": " -replace ";","`n" -replace "TimeCreated","Время события" -replace "^","`n" $BodyM = $Body } Send-MailMessage -From $From -To $To -SmtpServer $server -Body “$BodyM `n$Theme” -Subject $Subject -Encoding $encoding В общем, если у вас есть реально рабочие скрипты для такого случая — милости прошу в комментарии.Мы же перешли к другому способу (вдохновила вот эта статья: "Мониторинг и оповещение о событиях в журналах Windows: триггеры событий" и выручила эта утилита: sendEmail):
- Добавляем в Task Scheduler задание по интересующему нас событию (прямо из журнала "Security" -> "Attach Task To This Event..."

- В Actions указываем запуск скрипта, в котором с помощью утилиты wevtutil делаем выборку из журнала и сохраняем результат в файл.пример скрипта - выборка событий с Event ID 4726del c:\Audit\query_ID4726.txt wevtutil qe Security /q:"*[System[(EventID=4726)]]" /f:text /rd:true /c:1 > c:\Audit\query_ID4726.txt
- Вторым действием, с помощью утилиты sendEmail отправляем сохраненный файл по назначению:пример аргументов для команды запуска sendEmail:-f [email protected] -s smtp.domain.local:25 -t [email protected] -m "AD User Account Management - Event ID 426 - Account was Deleted" -a C:\Audit\query_ID4726.txt


P.S. Спасибо всем авторам источников, указанных ранее!
habrahabr.ru
Регистрация и отслеживание событий Windows
Регистрация и отслеживание событий Windows
class="eliadunit">В Microsoft Windows событие (event) — это любое происшествие в операционной системе, которое требует уведомления пользователей или администраторов. События сохраняются в журналах событий Windows и предоставляют важные хронологические сведения, помогающие вести мониторинг системы, поддерживать ее безопасность, устранять ошибки и выполнять диагностику. Необходимо регулярно анализировать информацию, содержащуюся в этих журналах; это очень важно. Администраторам следует тщательно следить за журналами событий всех бизнес-серверов и настраивать рабочие станции на сохранение важных системных событий. На серверах надо следить за безопасностью системы, нормальной работой приложений и сервисов, а также проверять сервер на наличие ошибок, способных ухудшить производительность. На рабочих станциях следует убедиться в том, что события, необходимые для поддержки систем и устранения ошибок, протоколируются и что соответствующие журналы вам доступны.
Windows-служба, управляющая протоколированием событий, называется Event Log (Журнал событий). При ее запуске Windows записывает важные данные в журналы. Доступность журналов в системе определяется ее ролью, а также установленными службами. Существует несколько журналов, в том числе следующие:
class="eliadunit">- Application (Приложение) — хранит важные события, связанные с конкретным приложением. Например, Exchange Server сохраняет события, относящиеся к пересылке почты, в том числе события информационного хранилища, почтовых ящиков и запущенных служб. По умолчанию помещается в \System32\Config\Appevent.evt.
- Directory Service (Служба каталогов) — на контроллерах домена этот журнал хранит события службы каталогов Active Directory, в том числе относящиеся к ее запуску, глобальным каталогам и проверкам целостности. По умолчанию помещается в %$/srem/?oor%\System32\Config\Ntds.evt.
- DNS Server (DNS-сервер) — на DNS-серверах в этом журнале сохраняются DNS-запросы, ответы и прочие события DNS. По умолчанию помещается в %SystemRoot%\System32\ Config\Dnsevent.evt.
- File Replication Service (Служба репликации файлов) — наконтроллерах домена и других серверах, использующих репликацию, этот журнал регистрирует действия в системе, связанные с репликацией файлов, в том числе события состояния и управления службой, сканирования данных на системных томах, а также управления наборами репликации. По умолчанию помещается в %SystemRoot%\Sysem32\Config\ Ntfrs.evt.
- Security (Безопасность) — хранит события, связанные с безопасностью, такие как вход/выход из системы, использование привилегий и обращение к ресурсам. По умолчанию помещается в %SystemRoot%\Systcm32\Config\Secevent.evt.
- System (Система) — хранит события операционной системы или ее компонентов, например неудачи при запусках служб или инициализации драйверов, общесистемные сообщения и прочие сообщения, относящиеся к системе в целом. По умолчанию помещается в %SystemRoot%\System32\Config\Sysevent.evt.
Категории событий Windows и их типы
Значимость событий варьируется от уведомлений до предупреждений общего характера и серьезных инцидентов вроде критических сбоев и ошибок. Категория события обозначается его типом. Существуют следующие типы:
- Information (Уведомление) — указывает на возникновение информационного события, обычно связанного с успешным действием;
- Warning (Предупреждение) — предупреждение общего характера. Зачастую помогает избежать последующих проблем в системе;
- Error (Ошибка) — критическая ошибка, например неудача при запуске службы;
- Success Audit (Аудит успехов) — успешное выполнение действий, которые вы отслеживаете через аудит, например использование какой-либо привилегии;
- Failure Audit (Аудит отказов) — неудачное выполнение действий, которые вы отслеживаете через аудит, например ошибка при входе в систему.
cmd4win.ru
Централизованный сбор и обработка журналов печати Windows / Хабрахабр
В небольших офисах далеко не всегда используются сетевые принтеры и МФУ, поэтому получить статистику использования печатающих устройств получить достаточно сложно. Тем более, если это требуется произвести с минимальными затратами. Такие данные смогут помочь определить наиболее активно используемые устройства, оценить нагрузку на них и принять своевременные решения по закупке расходных материалов, техническом обслуживании или даже замене на более экономичные и производительные. Данную задачу возможно решить без дополнительного ПО используя встроенные средства управления журналами Windows и скриптом на Powershell. Используя поисковые системы можно найти готовые программные продукты для аудита печати в офисе, например:Такие системы далеко не всегда подходят, так как они требуют покупки, бесплатные версии имеют ограниченную функциональность, необходима установка как центрального ПО на сервер, так и агентов на клиентские компьютеры, некоторые программы работают только с принт-сервером и так далее. Предлагаю использовать для решения задачи встроенные средства операционной системы Windows 7/2008R2 и скрипты на Powershell.Итак, примем за исходные данные следующую информацию:
- В организации есть домен Active Directory
- В организации используются компьютеры c операционной системой не ниже Windows 7, сервера – с ОС не ниже Windows Server 2008R2
- Есть как сетевые, так и локальные принтеры и МФУ.
- Существует необходимость централизовано обрабатывать журналы печати с принтеров и иметь статистику использования и нагрузки на печатающие устройства.
Подготовка инфраструктуры
Первым делом необходимо подготовить инфраструктуру для централизованного сбора журналов событий с клиентских компьютеров. Для работы подписки на события Windows на компьютере-источнике необходимы следующие настройки:- Наличие пользователя в группе Читатели журнала событий (Event Log Readers), от имени которого будет читаться журнал
- Доступ по удаленному управлению (Windows Remote Management с сервера-коллектора
- Настроенное разрешение на пересылку событий на сервер-коллектор логов.
- Включенный журнал событий печати (выключен по умолчанию)
Далее создаем на контроллер домена новую групповую политику и называем ее, например, GPO-EventCollector. В политике задаем следующие параметры:
- В разделе «Конфигурация компьютера — Настройка — Параметры панели управления — Службы» создаем запись службы «Автозагрузка: Автоматически (отложенный запуск)», «Имя службы — Служба удаленного управления Windows (MS-Management) (WinRM)», «Действие службы: Запуск службы»
- В разделе «Конфигурация компьютера — Политики — Административные шаблоны — Компоненты Windows — Удаленное управление Windows — Служба удаленного управления Windows» задать параметр «Разрешить автоматическую настройку прослушивателей: Включить» и разделе параметра «Фильтр IPv4″ поставить значение «*».
- В разделе «Конфигурация компьютера – Политики – Конфигурация Windows – Параметры безопасности – Брандмауэр Windows в режиме повышенной безопасности – Брандмауэр Windows в режиме повышенной безопасности – Правила для входящих подключений» создаем новое правило. Выбираем пункт «Предопределенные правила» и в списке выбираем «Удаленное управление Windows (HTTP — входящий трафик)»
- В разделе «Конфигурация компьютера — Политики — Административные шаблоны — Компоненты Windows — Пересылка событий» задать параметр «Настроить конечный диспетчер подписки» и в разделе параметра «SubscriptionManagers» вписать полный FQDN путь до сервера–коллектора.
- В разделе «Конфигурация компьютера – Политики – Конфигурация Windows – Параметры безопасности – Группы с ограниченным доступом» добавляем новую группу «Читатели журнала событий». В члены группы добавляем созданного нами пользователя EventCollectorUser.
После создания групповой политики необходимо перезагрузить целевые компьютеры или выполнить на них команду gpupdate /force.
Включить журнал печати на целевом компьютере можно через оснастку MMC «Просмотр событий» по пути «Журналы приложений и служб – Microsoft – Windows – PrintService – Работает» (кликнуть правой кнопкой мыши на журнале и выбрать «включить»). Этот вариант подходит, если компьютеров не так много. В случае, если требуется включить журнал на большой группе ПК, то можно воспользоваться следующим способом:
- Подготовить текстовый файл со списком имен компьютеров. Например, d:\temp\computers.txt
- Запустить следующую команду от имени пользователя с правами администратора домена: For /F %i in (d:\temp\computers.txt) do wevtutil sl Microsoft-Windows-PrintService/Operational /e:true /r:%i
Update: Также, как верно заметил NeSvist, можно установить ключ реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-PrintService/Operational — Enabled равным 1. Данный параметр можно раздать в групповой политике, которую мы создали выше. Для справки: О работе с реестром в GPO
Создание подписки на события
После подготовки инфраструктуры можно переходить непосредственно к настройке подписки на события на сервере-коллекторе.- Идем в оснастку «Просмотр событий – Подписки».
- Выбираем справа в меню «Создать подписку…»
- Вводим имя подписки, например, «Test Subscription». Добавляем понятное описание.
- Далее выбираем журнал, в который будут попадать принимаемые события. Рекомендую оставить все по умолчанию – «Перенаправленные события». Тут стоит заметить, что найти способ помещать события в журнал, созданный вручную, мне не удалось. Так что вариант по-умолчанию остается почти единственным.
- Далее щелкаем на кнопке «Выбрать компьютеры…». В открывшемся окне кнопкой «Добавить» добавляем необходимые компьютеры-источники. Кнопкой «Проверить» можно проверить доступность целевых машин по протоколу удаленного управления, результат покажут в информационном окне.
- Выбираем события, которые будем собирать с источников. Нас интересует уровень событий «Сведения» из журнала «Microsoft-Windows-PrintService/Работает» с кодом событий 307. Все остальные настройки оставляем по умолчанию.
- Щелкаем по кнопке «Дополнительно», в открывшемся окне выбираем пункт «определенный пользователь» и указываем созданного нами пользователя и его пароль. Настройки оптимизации доставки событий оставляем в положение «Обычная».
- Щелкаем «ОК» и подписка создана. При появлении событий в логе компьютеров-источников, они в течение 15 минут будут загружены на сервер-коллектор в журнал «Перенаправленные события».
Скрипт обработки собранных событий
Собранные события можно выгрузить в формате CSV средствами оснастки «Просмотр событий», но полученные данные будут не очень информативны и не позволят на их основе получить интересную статистику, которую можно показать руководству. Поэтому я предлагаю вариант обработки полученных событий средствами Powershell для удобства их дальнейшего использования. Поиском на просторах Интернета был найден скрипт анализа журналов печати для Windows Server 2003. (http://trevorsullivan.net/2009/11/06/windows-2003-print-log-parsing-script-powershell/) Так как есть определенные различия в командлетах Powershell новых версий, и способ получения событий отличается от предложенного в статье, то скрипт был мной переработан. Общую структуру скрипта я менять не стал, он разбит по функциям, которые легко модифицировать (в случае локализации, например). Логика работы скрипта следующая:- Получаем список событий из журнала
- Парсим свойство Message каждого события и записываем поля в объект PrintJob
- Сохраняем полученный список объектов в формате CSV
Получаем список событий из журнала «Перенаправленные события» по коду 307 (на случай, если в указанный журнал пересылаются еще какие-либо события).
Function GetPrintEntriesFromLog() { $PrintEntries = get-winevent -FilterHashTable @{LogName='ForwardedEvents'; ID=307;} return $PrintEntries } Создаем новый объект PrintJob. Добавляем в него требуемые поля.Скрытый текстFunction CreatePrintJob() { $PrintJob = New-Object PsObject Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name PageCount -Value $null Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name UserName -Value $null Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name DocumentName -Value $null Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name Size -Value $null Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name Printer -Value $null Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name Time -Value $null return $PrintJob } Получаем из свойства Message события поля Имя пользователя, Имя принтера, Количество напечатанных страниц в документе, Имя документа. Вытаскиваем это все из строки регулярными выражениями. При англоязычном журнале меняем строки в регулярных выражениях на другие, соответственно.Скрытый текст#Парсим параметры объекта Function ParsePrintEntry($PrintEntry) { $NewPrintJob = CreatePrintJob $NewPrintJob.PageCount = GetPageCount $PrintEntry.Message $NewPrintJob.UserName = GetUserName $PrintEntry.Message $NewPrintJob.DocumentName = GetDocumentName $PrintEntry.Message $NewPrintJob.Size = GetPrintSize $PrintEntry.Message $NewPrintJob.Printer = GetPrinterName $PrintEntry.Message $NewPrintJob.Time = $PrintEntry.TimeCreated.ToString() return $NewPrintJob } #Получаем имя пользователя Function GetUserName($PrintEntry) { If ($PrintEntry -eq "" -or $PrintEntry -eq $null) { return $null } $rxUserName = [regex]"которым владеет ([0-9a-zA-Z.]{1,})" $rxMatches = $rxUserName.Match($PrintEntry) return $rxMatches.Groups[1].Value } #Получаем имя принтера Function GetPrinterName($PrintEntry) { If ($PrintEntry -eq "" -or $PrintEntry -eq $null) { return $null } $rxPrinterName = [regex]"распечатан на (.{1,}) через" $rxMatches = $rxPrinterName.Match($PrintEntry) return $rxMatches.Groups[1].Value } #Получаем размер распечатки в байтах Function GetPrintSize($PrintEntry) { If ($PrintEntry -eq "" -or $PrintEntry -eq $null) { return $null } $rxPrintSize = [regex]"Размер в байтах: ([0-9]+)." $rxMatches = $rxPrintSize.Match($PrintEntry) return $rxMatches.Groups[1].Value } #Получаем количество страниц (самый важный параметр) Function GetPageCount($PrintEntry) { If ($PrintEntry -eq "" -or $PrintEntry -eq $null) { return $null } $rxPageCount = [regex]"Страниц напечатано: ([0-9]+)" $rxMatches = $rxPageCount.Match($PrintEntry) return $rxMatches.Groups[1].Value } #Получаем имя документа Function GetDocumentName($PrintEntry) { If ($PrintEntry -eq "" -or $PrintEntry -eq $null) { return $null } $rxDocumentName = [regex]", (.{1,}) которым владеет" $rxMatches = $rxDocumentName.Match($PrintEntry) return $rxMatches.Groups[1].Value } Основная функция. Получаем список событий и в цикле превращаем его в объект PrintJob. Потом делаем экспорт полученного списка объектов в указанный файл. Ставим кодировку UTF8 для корректного отображения кириллицы и разделитель «;» для читаемого открытия файла в Excel. Каждые 100 событий пишем лог, это удобно при отладке.Function Main() { $PrintEntries = GetPrintEntriesFromLog $Global:ParsedEntries = @{}; $i = 0 ForEach ($PrintEntry in $PrintEntries) { $ParsedEntries.Add($i, $(ParsePrintEntry $PrintEntry)) $i++ if ($i % 100 -eq 0) { Write-Host "Processed $i records" } } $ParsedEntries.Values | Export-Csv "D:\PrintReports\PrintUsageReport.csv" -NoTypeInformation -Encoding UTF8 -Delimiter ';' } #Запускаем главную функцию. Main При подготовке регулярных выражений для скрипта использовался сайт Regex101.com. Сайт понятный, с краткой документацией, подсветкой результата поиска в исходной строке, расшифровкой смысла регулярного выражения на лету. Очень информативно и удобно, рекомендуется к употреблению. Полученный скрипт можно применять по требованию, запуская в командной оболочке PowerShell, а можно назначить в качестве задания в Планировщике заданий. Для этого необходимо:- Открыть Планировщик заданий (Пуск – Администрирование – Планировщик заданий)
- Выбрать пункт «Создать простую задачу…»
- Ввести имя задачи, описание, выбрать интервал выполнения
- Выбрать действие «запустить программу». В качестве программы выбрать «C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe», а в качестве аргумента – путь к скрипту.
- Открыть свойства задачи и выставить переключатель «Выполнять вне зависимости от регистрации пользователя», выбрать пользователя, от имени которого должна выполняться задача и ввести пароль от него.
Решение проблем
- Если при запуске скрипта возникает ошибка вида:Невозможно загрузить файл D:\PrintReports\PrintInfo.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу go.microsoft.com/fwlink/?LinkID=135170. + CategoryInfo: Ошибка безопасности: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: UnauthorizedAccessэто означает, что политика безопасности для исполняемых скриптов Powershell не позволяет запустить программу. Для запуска созданного скрипта необходимо понизить уровень безопасности до «Remote Signed», то есть будет разрешено выполнение любых сценариев, созданных локально, а сценарии, созданные на удаленных системах, выполняются только в том случае, если подписаны доверенным издателем. Для этого в консоли Powershell, запущенной от имени администратора, необходимо выполнить команду Set-ExecutionPolicy RemoteSigned.
- Для тестирования пересылки и сбора событий можно использовать инструмент командной строки eventcreate.exe. Эта утилита позволяет создавать события вручную в определенном журнале. К примеру, можно создать событие с ID 100 в логе Приложение при помощи следующей команды: eventcreate /t error /id 100 /l application /d «Custom event». Если все настроено правильно и есть сбор событий из указанного журнала, то событие окажется на сервере-коллекторе в течение минуты.
Если событие не попало на сервер-коллектор, необходимо проверить следующее:
- Если параметры задавались групповой политикой, то проверить, что политика применяется. При необходимости, можно принудительно применить групповую политику командой gpupdate /force
- Статус службы Windows Remote Management (WinRM) (Служба удаленного управления Windows). Служба должна быть запущена и настроена на автоматический запуск. При необходимости на клиентском компьютере можно сконфигурировать данную службу командой winrm quickconfig. Эта команда конфигурирует службу WinRM, создает прослушиватель winrm и создает правило исключения брандмауэра. Для проверки, что сервер-коллектор может соединиться с компьютером-источником с помощью WinRM можно воспользоваться следующей командой: winrm id -remote:<Имя целевого компьютера> -u:<Имя пользователя> -p:<Пароль>. Указываются учетная запись и пароль пользователя, имеющего возможность подключения по winrm.
- Пользователь EventCollectorUser входит в состав группы Читатели журнала событий. Только члены этой группы могут читать события на конкретном компьютере.
Что можно улучшить
Предложенный скрипт обработки не является универсальным решением и может быть улучшен в различных направлениях, например,- Выборка событий по времени (за день, неделю, месяц) и запись их в соответствующие отдельные листы электронной таблицы или выходные CSV-файлы. Можно предусмотреть задание диапазона дат при помощи входных параметров скрипта.
- Добавление графического представления данных с использованием сводных таблиц по пользователям и печатающим устройствам и графиков. Такой отчет можно сразу класть на стол руководителю.
- Настроить архивирование и ротацию журнала «Перенаправленные события», добавить функцию анализа соответствующих архивных файлов. Это будет разумно при работе с достаточно большим числом компьютеров (более 50).
При подготовке данной статьи были использованы следующие материалы и источники:
- mcp.su/windows-server-2008/event-collector-in-windows-server-2008
- windowsnotes.ru/powershell-2/nastrojka-udalennogo-vzaimodejstviya-v-powershell-chast-1
- social.technet.microsoft.com/Forums/en-US/8e7399f6-ffdc-48d6-927b-f0beebd4c7f0/enabling-print-history-through-group-policy?forum=winserverprint
- mywinsysadm.wordpress.com/2012/07/16/powershell-audit-printer-event-logs
- www.winblog.ru/admin/1147767392-29031101.html
- windowsitpro.com/security/q-what-are-some-simple-tips-testing-and-troubleshooting-windows-event-forwarding-and-collec
Update: Как заметили NeSvist и selenite, привязка к конкретной локализации и разбор ее регулярными выражениями — не самое эффективное решение. В связи с этим, привожу вариант обработки собранных событий с использованием их представления в XML. Решение получилось более аккуратным и понятным.
Заголовок спойлера# Получаем события из лога $Events = Get-Winevent -FilterHashTable @{LogName='ForwardedEvents'; ID=307;} # Массив заданий печати $Jobs = @() ForEach ($Event in $Events) { # Конвертируем событие XML $eventXML = [xml]$Event.ToXml() # Создаем новый объект задания печати и заполняем поля из XML-представления события $PrintJob = New-Object PsObject Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name PageCount -Value $eventXML.Event.UserData.DocumentPrinted.Param8 Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name UserName -Value $eventXML.Event.UserData.DocumentPrinted.Param3 Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name DocumentName -Value $eventXML.Event.UserData.DocumentPrinted.Param2 Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name Size -Value $eventXML.Event.UserData.DocumentPrinted.Param7 Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name Printer -Value $eventXML.Event.UserData.DocumentPrinted.Param5 # Приводим дату из формата SystemTime к обычному представлению. $date = Get-Date $eventXML.Event.System.TimeCreated.SystemTime Add-Member -Force -InputObject $PrintJob -MemberType NoteProperty -Name Time -Value $date # Добавляем задание печати к массиву $Jobs += $PrintJob } # Выводим список полученных заданий печати в CSV $Jobs | Export-Csv D:\PrintReports\events.csv -NoTypeInformation -Encoding UTF8 -Delimiter ';'habrahabr.ru
Регистрация и отслеживание событий в Windows
Регистрация и отслеживание событий в Windows
class="eliadunit">В этой статье рассматриваются средства протоколирования событий, доступные в Windows-системах. Они помогают обнаруживать проблемы в системе и определять их причины, следить за приложениями и сервисами, а также поддерживать безопасность операционной системы. Когда система замедляется, ведет себя непредсказуемо или демонстрирует другое ошибочное поведение, нелишне заглянуть в журналы событий и попытаться определить потенциальный источник проблем. После того как причина ошибок обнаружена, можно провести плановое или внеочередное обслуживание для их устранения. С помощью триггеров событий, следящих за событиями и выполняющих требуемые действия при их возникновении, можно даже автоматизировать процесс мониторинга и обслуживания.
Протоколирование событий Windows
В Microsoft Windows событие (event) — это любое значительное происшествие в операционной системе, которое требует уведомления пользователей или администраторов. События сохраняются в журналах событий Windows и предоставляют важные хронологические сведения, помогающие вести мониторинг системы, поддерживать ее безопасность, устранять ошибки и выполнять диагностику.
Администраторам следует тщательно следить за журналами событий всех бизнес-серверов и настраивать рабочие станции на сохранение важных системных событий. На серверах надо следить за безопасностью системы, нормальной работой приложений и сервисов, а также проверять сервер на наличие ошибок, способных ухудшить производительность.
На рабочих станциях следует убедиться в том, что события, необходимые для поддержки систем и устранения ошибок, протоколируются и что соответствующие журналы вам доступны. Windows-служба, управляющая протоколированием событий, называется Event Log (Журнал событий).
class="eliadunit">При ее запуске Windows записывает важные данные в журналы. Доступность журналов в системе определяется ее ролью, а также установленными службами. Существует несколько журналов, в том числе следующие.
- Application (Приложение) — хранит важные события, связанные с конкретным приложением. Например, Exchange Server сохраняет события, относящиеся к пересылке почты, в том числе события информационного хранилища, почтовых ящиков и запущенных служб.
- Directory Service (Служба каталогов) — на контроллерах домена этот журнал хранит события службы каталогов Active Directory, в том числе относящиеся к ее запуску, глобальным каталогам и проверкам целостности.
- DNS Server (DNS-сервер) — на DNS-серверах в этом журнале сохраняются DNS-запросы, ответы и прочие события DNS. По умолчанию помещается в %SystemRoot%\System32\ Config\Dnsevent.evt.
- File Replication Service (Служба репликации файлов) — на контроллерах домена и других серверах, использующих репликацию, этот журнал регистрирует действия в системе, связанные с репликацией файлов, в том числе события состояния и управления службой, сканирования данных на систем¬ных томах, а также управления наборами репликации.
- Security (Безопасность) — хранит события, связанные с безопасностью, такие как вход/выход из системы, использование привилегий и обращение к ресурсам.
Категории событий в журнале
Значимость событий варьируется от уведомлений до предупреждений общего характера и серьезных инцидентов вроде критических сбоев и ошибок. Категория события обозначается его типом. Существуют следующие типы:
- Information (Уведомление) — указывает на возникновение информационного события, обычно связанного с успешным действием;
- Warning (Предупреждение) — предупреждение общего характера. Зачастую помогает избежать последующих проблем в системе;
- Error (Ошибка) — критическая ошибка, например неудача при запуске службы;
- Success Audit (Аудит успехов) — успешное выполнение действий, которые вы отслеживаете через аудит, например использование какой-либо привилегии;
- Failure Audit (Аудит отказов) — неудачное выполнение действий, которые вы отслеживаете через аудит, например ошибка при входе в систему. Примечание Из множества типов событий внимательнее всего следует наблюдать за ошибками и предупреждениями. Если возникает событие этих типов и его причина не¬известна, нужно детально проанализировать его и определиться с дальнейшими действиями.
Кроме типа, у каждого события есть следующие связанные с ним свойства.
- Date/Time (Дата/Время) — определяет дату/время возникновения события.
- Event (Событие) — детализирует конкретное событие с числовым идентификатором, который называется кодом события (event ID).
- Source (Источник) — определяет источник события, на¬пример приложение, службу или компонент системы. Помогает выяснить причину события.
- Computer (Компьютер) — идентифицирует компьютер, ставший причиной события.
- Category (Категория) — определяет категорию события, иногда используемую для последующего описания допустимого действия. У каждого источника событий свои категории. Так, источник безопасности имеет следующие категории: вход/выход, использование привилегий, изменение политики и управление учетной записью.
- User (Пользователь) — определяет учетную запись пользователя, вызвавшую событие. К пользователям относятся особые сущности, например Local Service, Network Service и Anonymous Logon, а также учетные записи реальных пользователей.
- Description (Описание) — содержит подробное описание события, возможно, со сведениями о местонахождении дополнительной информации, которая поможет устранить проблему.
Просмотр событий Event Viewer
GUI-средство управления событиями называется Event Viewer (Просмотр событий). Для его запуска наберите в командной строке eventvwr для просмотра событий на локальном компьютере или eventvwr /computer-ИмяКомпьютера, где Имя Компьютера — имя удаленного компьютера, чьи события вы хотите проанализировать. Как и большинство GUI-средств, Event Viewer прост в обращении и полезен для определенных задач управления. Например, он используется для управления размером журналов событий, способами обработки протоколирования, а также архивированием журналов событий. Эти действия нельзя выполнить из командной строки. Однако Event Viewer плохо умеет фильтровать события и работать с журналами на удаленных компьютерах. Конечно, для этих задач можно применять и Event Viewer, но существуют другие, более подходящие для этих задач утилиты, в том числе следующие.
- Eventquery — просматривает журналы событий и отбирает записи, удовлетворяющие определенным требованиям. В сценарии Eventquery позволяет анализировать события на множестве систем и сохранять результаты в файле, облегчая поиск информации
- Eventcreate — создает пользовательские события в журналах. При запуске собственных сценариев по расписанию или при плановом обслуживании вам может потребоваться регистрация какого-либо действия в журналах, и в этом поможет Eventcreate.
- Eventtriggers — следит за определенными событиями в журналах и при их возникновении реагирует запуском заданий или команд. Используя триггеры событий, можно на¬строить систему на самонаблюдение. Триггеры событий похожи на задания, запускаемые по расписанию, с тем исключением, что они выполняются при возникновении событий, а не периодически или однократно.
cmd4win.ru


