|  | 
				
			 
 Работа с подпискамиПроцесс настройки пересылки событий и создания подписок в предыдущей части статьи был описан при помощи графического интерфейса. В этом разделе описывается способ настройки пересылки событий, а также создания и управления подписками при помощи командной строки и утилиты Сборщика событий Windows – Wecutil. Настройка пересылки и сбора событийДля того чтобы правильно настроить компьютер, который будет являться сборщиком событий, желательно, чтобы он находился в домене. Прежде всего, войдите в систему с учетной записью, которая в домене имеет административные привилегии. В предыдущей части этой статьи я подробно описал метод настройки компьютера пересылки вручную. Для этого нужно было настроить автоматический запуск службы удаленного управления Windows с задержкой, запустить саму службу, создать прослушиватель RM, а также создать исключения брандмауэра для трафика Windows. Все эти действия можно выполнить при помощи командной строки. Используйте средство командной строки удаленного управления Windows – WinRM. При помощи этой утилиты легко организовывается протокол управления веб-службами WS-Management, обеспечивается безопасная связь с локальными и удаленными компьютерами с помощью веб-служб. В командной строке введите: 
Winrm quickconfig –q Если не указывать параметр q, то вам понадобится нажать на клавишу Y для подтверждения действий. Далее для настройки сбора пересылаемых событий нужно воспользоваться утилитой wecutil с командой qc, которая включает и настраивает службу сборщика событий Windows (Windows Event Collector). По запросу нужно будет нажать на клавишу Y. На контроллере домена нужно создать глобальную группу и добавить записи компьютеров-приемников событий. Затем в локальной группе администраторов создайте группу на каждом из компьютеров-источников. Для того чтобы выполнить эти действия, в командной строке введите следующее: 
Net localgroup Administrators <Имя_глобальной_группы> /add Создание и управление подпискамиСложные рутинные действия, которые проводятся при помощи графического интерфейса для создания и управления подписок можно автоматизировать средствами командной строки. Для этого, на центральном сервере регистрации событий применяется утилита командной строки Wecutil. Для этой утилиты созданы следующие команды: | Полный вид команды | Краткий вид команды | Описание команды |  | Enum-subscription | Es | Вывод перечня подписок |  | Get-Subscription | Gs | Отображение конфигурации подписок |  | Get-SubscriptionRuntimeStatus | Gr | Вывод состояния выполнения времени подписок |  | Set-Subscribtion | Ss | Изменение конфигурации подписки |  | Create-Subscription | Cs | Создание новой подписки |  | Delete-Subscription | Ds | Удаление подписки |  | Retry-Subscription | Rs | Повторный опрос источников, которые заданы в подписке |  | Quick-Config | Qc | Включение и настройка службы Сборщика событий Windows | 
 Вывод перечня подписок Команда Enum-Subscribtion, в кратком виде es, предназначена для отображения перечня имен всех существующих подписок на удаленные события. Для этой команды не существует параметров. Пример использования: 
Wecutil es Отображение конфигурации подписок Команда Get-Subscription, в кратком виде gs, применяется для отображения сведений о конфигурации определенной удаленной подписки. Синтаксис команды: Wecutil Get-Subscription <код_подписки> (/Format:XML/Terse /Unicode:True/False) Где Код_подписки – это строка, которая определяет подписку, указанную тегом <SubscriptionID> в XML-файле конфигурации, использованном для создания подписки. Параметр Format, в кратком виде f, предназначен для определения вывода информации. Если указано значение XML, то данные будут выводиться в формате XML. Если указано значение Terse, то данные будут выводиться как пары имя-значение. Параметр Unicode отвечает за то, будут ли данные выводиться в Юникоде (UTF-16). Доступные значения True и False. Пример использования: 
Wecutil gs newsubscribtion /f:xml Вывод состояния выполнения времени подписок Команда Get-SubscriptionRuntimeStatus, в кратком виде gr, отвечает за отображение состояния выполнения подписки. В выводе команды можно увидеть сведения о последних ошибках, а также о состоянии подписки. В этой команде нужно указать только код подписки. Для нее не существует параметров. Пример использования: 
Wecutil gr newsubscribtion Удаление подписки Команда Delete-Subscribtion, в кратком виде ds, позволяет удалить определенную подписку и отменить подписки на все источники событий, из которых события доставляются в файл журнала для этой подписки. Те события, которые уже получены и записаны в журнал, не удаляются. Для этой команды также нужно ввести только код подписки, и не существует никаких дополнительных параметров. Пример использования: Wecutil ds newsubscription Повторный опрос источников, заданных в подписке Команда Retry-Subscription, в кратком виде rs, позволяет возобновить неактивные подписки путем повторной активации всех или указанных источников событий с помощью установки подключения и отправки запроса на удаленную подписку. К отключенным источникам такую попытку применить невозможно. Синтаксис команды следующий: Wecutil Retry-Subscription <Код_подписки> <источник_подписки> Где Код_подписки – это строка, которая определяет подписку, указанную тегом <SubscriptionID> в XML-файле конфигурации, использованном для создания подписки. Источником подписки называется строка, определяющая компьютер с помощью полного доменного имени, IP-адреса либо NetBIOS-имени, служащего источником событий. Пример использования: 
Wecutil rs newsubcribtion Создание новой подписки Для создания подписки применяется команда Create-Subscribtion, в кратком виде cs, совместно с конфигурационным XML-файлом. Конфигурационный файл представляет собой XPath-запрос с определением пересылаемых событий, компьютера источника и идентификатора подписки. Синтаксис команды следующий: Для создания подписки применяется команда Create-Subscribtion, в кратком виде cs, совместно с конфигурационным XML-файлом. Конфигурационный файл представляет собой XPath-запрос с определением пересылаемых событий, компьютера источника и идентификатора подписки. Синтаксис команды следующий: Wecutil Create-Subscription <XML_файл> (/CommonUsername:<имя_пользователя> /CommonUserPassword:<пароль>) Параметр CommonUserName, в кратком виде cup, задает общие учетные данные пользователя, используемые для источника событий, у которых нет собственных учетных данных пользователя. Если задан этот параметр, то параметры UserName и UserPassword для отдельных источников событий из файла конфигурации игнорируются. Если требуется использовать другие учетные данные для конкретного источника событий, они задаются командой ss (Set-Subscription).Параметр CommonUserPassword, в кратком виде cup, задает пароль пользователя для общих учетных данных пользователя. Когда пароль задается как * (звездочка), пароль считывается с консоли. Этот параметр действителен только при заданном параметре /cun (CommonUserName).
 XML-файл конфигурации должен выглядеть примерно следующим образом:<Subscription xmlns="http://schemas.microsoft.com/2006/03/windows/events/subscription"> <SubscriptionId>SampleCISubscription</SubscriptionId> <SubscriptionType>CollectorInitiated</SubscriptionType> <Description>Collector Initiated Subscription Sample</Description> <Enabled>true</Enabled> <Uri>http://schemas.microsoft.com/wbem/wsman/1/windows/EventLog</Uri> <!-- Use Normal (default), Custom, MinLatency, MinBandwidth --> <ConfigurationMode>Custom</ConfigurationMode> <Delivery Mode="Push"> <Batching> <MaxItems>20</MaxItems> <MaxLatencyTime>60000</MaxLatencyTime> </Batching> <PushSettings> <HostName>thisMachine.myDomain.com</HostName> <Heartbeat Interval="60000" /> </PushSettings> </Delivery> <Expires>2010-01-01T00:00:00.000Z</Expires> <Query> <![CDATA[ <QueryList> <Query Path="Application"> <Select>*</Select> </Query> </QueryList> ]]> </Query> <ReadExistingEvents>false</ReadExistingEvents> <TransportName>http</TransportName> <ContentFormat>RenderedText</ContentFormat> <Locale Language="ru-RU" /> <LogFile>ForwardedEvents</LogFile> <CredentialsType>Default</CredentialsType> <EventSources> <EventSource Enabled="true"> <Address>mySource.myDomain.com</Address> <UserName>myUserName</UserName> </EventSource> </EventSources> </Subscription>Пример использования:
 
Wecutil cs newsubscription.xml Изменение конфигурации подписки Для изменения свойств подписки применяется команда Set-Subscription, в кратком виде ss, при помощи которой можно настроить существующую подписку так, как вам нужно при помощи командной строки или XML-файла конфигурации. Для этой команды можно использовать 33 параметра. Синтаксис команды следующий: Wecutil Set-subscribtion <Код_подписки> (/Параметр:Значение) В этом руководстве рассматриваются лишь некоторые параметры этой команды: Параметр Config, в кратком виде c, представляет собой строку, указывающую путь к XML-файлу, содержащему конфигурацию подписки. Путь может быть абсолютным или относительным по отношению к текущей папке. Этот параметр может использоваться только с необязательными параметрами /cus (CommonUserName) и /cup (CommonUserPassword) и является взаимно исключающим со всеми другими параметрами.Параметр Enabled, в кратком виде e, включает или отключает подписку. Доступные значения true или false.Параметр Description, в кратком виде d, представляет собой строку, которая описывает подписку.При помощи параметра Expires, в кратком виде ex, можно задать срок истечения подписки. Значение задается в стандартном формате XML или формате "дата/время" ISO8601: гггг-ММ-ддТчч:мм:сс[.ссс][Z], где T - это разделитель компонентов времени, а Z указывает на время в формате UTC.Параметр URI представляет строку, задающую тип событий, на которые настроена подписка. Адрес компьютера-источника событий вместе с URI уникальным образом определяет источник событий.Параметр ConfigurationMode, в кратком виде cm, задает режим конфигурации. Значение параметра может быть следующим: Normal, Custom, MinLatency или MinBandwidth. Режимы Normal, MinLatency, и MinBandwidth задают режим доставки, максимальное число элементов доставки, интервал пульсации и максимальное время задержки доставки. Параметры /dm (DeliveryMode), /dmi (DeliveryMaxItems), /hi (HeartbeatInterval) b /dmlt (DeliveryMaxLatencyTime) можно указывать только при выборе режима конфигурации Custom.Параметр Dialect, в кратком виде dia, указывает диалект, используемый в строке запроса.Параметр ContentFormat, в кратком виде cf, указывает формат возвращаемых событий. Параметр может иметь значение Events или RenderedText. При использовании RenderedText события возвращаются с локализованными строками (например, описанием события), связанными с событиями.Параметр Locale, в кратком виде l, определяет языковой стандарт для доставки локализованных строк в формате RenderedText. Язык представляет идентификатор языка или культуры, например "ru-RU". Этот параметр является действительным только в том случае, если параметр /cf (ContentFormat) имеет значение RenderedText.Параметр HeartbeatInterval, в кратком виде hi, представляет собой число, задающее тактовый интервал для извещающих (push) подписок или интервал опроса для опрашивающих (pull) подписок. МС задает число миллисекунд. Этот параметр действителен, только когда параметр /cm (ConfigurationMode) имеет значение Custom.Параметр EventSourceAddress, в кратком виде esa, отвечает за адрес источника событий. Этот параметр должен использоваться с параметрами /ese (EventSourceEnabled), /aes (AddEventSource), /res (RemoveEventSource) или /un (UserName) и /up (UserPassword).При помощи параметра EventSourceEnabled, в кратком виде ese, можно включать или отключать источник событий. Допустимые значения true и false. Этот параметр можно использовать, только если задан параметр /esa (EventSourceAddress). По умолчанию этот параметр имеет значение true.Параметр AddEventSource, в кратком виде aes, используется для добавления источника событий, задаваемого параметром /esa (EventSourceAddress), если он еще не является частью подписки. Если в параметре /esa (EventSourceAddress) указан адрес, уже являющийся частью подписки, возникает ошибка. Этот параметр можно использовать, только если задан параметр /esa (EventSourceAddress).При помощи параметра RemoveEventSource, в кратком виде res, можно удалять источник событий, задаваемый параметром /esa (EventSourceAddress), если он уже является частью подписки. Если в параметре /esa (EventSourceAddress) указан адрес, уже являющийся частью подписки, возникает ошибка. Этот параметр можно использовать, только если задан параметр /esa (EventSourceAddress).Параметром UserName, в кратком виде un, можно задать учетные записи пользователей, которые будут использованы источником, указанным в параметре /esa (EventSourceAddress). Этот параметр можно использовать, только если задан параметр /esa (EventSourceAddress).Параметр UserPassword, в кратком виде up, задает пароль для учетных данных пользователя с источником, указанным в параметре /esa (EventSourceAddress). Этот параметр можно использовать, только если задан параметр /un (UserName).
 Пример использования:wecutil ss sub2 /esa:myComputer /ese /un:USER /up:* /cm:Normal
 
 ЗаключениеВ этой заключительной статье, посвященной работе с журналами событий Windows, рассказывается о применении командной строки и командной оболочки Windows PowerShell для работы с журналами событий. Подробно рассмотрены действия для базовых операций, которые проводятся над журналами событий при помощи командной оболочки Windows PowerShell, всевозможных настройках журналов событий при помощи утилиты командной строки Wevtutil, а также об операциях, связанных с настройкой пересылки и управлением подписками при помощи утилиты командной строки Wecutil. Разумеется, это руководство нельзя считать исчерпываемым, но в нем описано большинство операций и процедур, которые должны использовать системные администраторы и ИТ-специалисты на предприятиях для устранения большинства проблем, которые могут возникнуть у конечных пользователей и обеспечения стабильной работы ИТ-инфраструктуры в целом.   Автор: Dmitry Bulanov |  |