Автоматическое резервирование ресурсов при помощи Outlook

Совместное использование возможностей Exchange Server и Outlook предоставляет мощные средства планирования расходования ресурсов. Если в сети у всех пользователей в качестве почтового клиента установлен Outlook 2000 или старше, можно реализовать возможность, которую в Microsoft называют прямым резервированием (direct booking). В данном обзоре я объясню, как настроить прямое резервирование, приведу некоторые предостережения относительно использования и несколько советов, которые помогут сделать работу с данным средством более удобной для пользователя.

Прямое резервирование ресурса

До появления Exchange и Outlook, если требовалось использовать какой-либо ресурс, например комнату для конференций или аудиооборудование, приходилось связываться с отвечающим за это сотрудником, который сверялся с расписанием и говорил, когда данный ресурс будет доступен. Механизм прямого резервирования избавляет от необходимости контактировать с другим лицом с целью проверки доступности ресурса и резервирования времени для его использования; технология прямого резервирования позволяет планировать встречи непосредственно из приложения Outlook Calendar.

Начиная с пакета Outlook 97 можно реализовать элементарную форму прямого резервирования, настроив почтовый ящик клиента, отвечающего за ресурс, на автоматическое утверждение запросов о сетевых встречах. Так как клиент Outlook обрабатывает входящие запросы календаря аналогично входящим запросам о совещаниях, приходится поддерживать почтовый клиент в запущенном состоянии для проверки ресурсов и конфликтов. В версии Outlook 2000 специалисты Microsoft расширили возможности пакета Outlook в отношении данных задач резервирования. Удерживать Outlook в активном состоянии и писать сценарии для сервера больше не требуется. Outlook пользователя, организующего встречу, выполняет все необходимые задачи, такие как поиск конфликтов и запись времени резервирования в календарь ресурса. Для реализации прямого резервирования понадобится пакет Outlook 2000 или выше и правильно настроенный почтовый ящик на сервере Exchange Server 5.5, Exchange 2000 Server или старше.

Настройка ресурса: три шага

Первым шагом в настройке ресурса, который требуется сделать доступным для пользователей (например, простой ресурс Main Conference Room, использовавшийся мною при работе над данной статьей), является создание почтового ящика для хранения календаря ресурса. Кроме предоставления самому себе прав доступа, администратору не нужно выполнять на сервере какие-либо специальные настройки. Следует иметь в виду, что в окружении Exchange 5.5 можно связать почтовый ящик ресурса Main Conference Room с существующей учетной записью Windows. Однако, если применять Exchange 2000 и выше, необходимо создать новую учетную запись Windows 2000 и связать почтовый ящик с этой записью.

На втором шаге требуется создать профиль Outlook для доступа к почтовому ящику Main Conference Room и использовать его при запуске Outlook. Следует щелкнуть правой кнопкой мыши на папке Calendar, выбрать пункт Properties, потом выбрать закладку Permissions. Также можно изменить роль пользователя, заданного по умолчанию, или добавить список рассылки (DL), состоящий из пользователей, которым необходимо разрешение для резервирования ресурса. Добавлять DL обычно предпочтительнее, чем изменять разрешения, заданные по умолчанию, так как DL обеспечивает более полный контроль над использованием ресурса. Как показано на экране 1, я добавил DL, названный mcr-users, и присвоил ему роль Author. Получение разрешений категории Author дает возможность пользователям, указанным в списке DL, резервировать ресурс и изменять свои заказы, но запрещает изменение заказов, сделанных другими пользователями. Указав в качестве роли значение Author, следует закрыть диалоговое окно Properties нажатием кнопки OK.

Экран 1. Предоставление разрешений Author списку рассылки

И наконец, третий шаг: выбор пункта Options в меню Tools в Outlook. Выбрав пункт Preferences, следует нажать на вкладке Calendar Options. В результате нажатия кнопки Resource Scheduling на экране появится три поля (см. экран 2). Необходимо установить флажки для первых двух полей Automatically accept meeting requests and process cancellations и Automatically decline conflicting meeting requests. Последний флажок, Automatically decline recurring meeting requests, надо оставить пустым, если вы не хотите, чтобы пользователи заказывали повторное использование данного ресурса.

Экран 2. Параметры настройки расписаний для ресурсов

Далее следует трижды нажать OK, чтобы выйти из окна Options, после чего закрыть Outlook. Теперь почтовый ящик ресурса готов принимать заказы.

Резервирование ресурса

Чтобы зарезервировать ресурс, нужно просто создать запрос о встрече, указывая в соответствующих полях обязательных и желательных участников и требуемый ресурс (т. е. Main Conference Room) в поле Resources, как показано на экране 3. Нажмите кнопку OK, и Outlook попытается зарезервировать ресурс. Если запрашиваемое время свободно, на экране появится подтверждающее сообщение (см. экран 4), а Outlook разошлет участникам приглашения. Если ресурс занят, система выдаст сообщение с отказом, а Outlook не будет рассылать приглашения — вместо этого он предложит изменить запрос. Поскольку Outlook не рассылает приглашения, ничто не мешает вам послать один или несколько обновленных запросов о встрече, пытаясь найти временное «окно». Участникам тоже не придется отзываться на многочисленные обновления времени встречи и выяснять, когда точно вы хотите провести мероприятие, что часто случается, когда отправляется множество обновленных запросов о встрече.

Экран 3. Создание запроса о собрании и указание приглашенных и ресурсов
Экран 4. Сообщение об успешном резервировании

Принцип работы прямого резервирования

Когда организатор встречи указывает почтовый ящик как ресурс в запросе о собрании, Outlook выполняет несколько шагов в случае, если кто-то из пользователей отправляет запрос. Прежде всего Outlook считывает информацию о настройках из указанного почтового ящика, чтобы определить, нужно ли пытаться осуществить прямое резервирование. Вы задаете эту информацию, когда устанавливаете флаги в различные поля в диалоговом окне Resource Scheduling. Если не поставить флаг в поле Automatically accept meeting requests and process cancellations, Outlook посылает запрос о собрании на почтовый ящик ресурса, как будто он является одним из участников. Если выбрано это поле, клиент Outlook организатора встречи заказывает ресурс следующим образом: если вдобавок к первому полю выбран пункт Automatically decline conflicting meeting requests, Outlook считывает информацию о занятости в календаре почтового ящика и с ее помощью определяет, свободен ли ресурс в запрашиваемое время. Если ресурс свободен, Outlook заносит напоминание прямо в календарь ресурса. Если выбрано поле Automatically decline recurring meeting requests, Outlook будет отклонять повторяющиеся запросы.

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

Ловушки прямого резервирования

Настройка прямого резервирования является относительно простой задачей. Однако я считаю необходимым рассказать о некоторых ловушках, перед тем как вы начнете практическое использование функции прямого резервирования.

Доступность информации о занятости. Технология прямого резервирования использует информацию о занятости, чтобы определить доступность ресурса. Система Exchange хранит в скрытой общей папке информацию о занятости почтовых ящиков на 12 месяцев: текущий месяц, прошлый месяц и до 10 месяцев в будущем. Например, если сегодня 15 марта 2006 года, система будет хранить информацию с 1 февраля 2006 года по 31 января 2007 года. Хотя половина марта уже позади, система хранит информацию о занятости только до 31 января и не будет содержать информацию на период с 1 по 14 февраля 2007 года, пока не наступит 1 апреля 2006 года. Когда используется прямое резервирование ресурса за границей периода хранения информации о занятости в будущем, система не способна обнаружить конфликт, который может возникнуть при наложении встреч. Например, когда до наступления 1 апреля 2006 года два организатора назначают встречу на 14:00 17 февраля 2007 года. Каждый из организаторов будет считать, что он успешно зарезервировал ресурс для встречи в будущем году.

Информация о занятости в Outlook. Другой ловушкой прямого резервирования является количество информации о занятости, публикуемое каждым клиентом Outlook. Так как функции прямого резервирования зависят от данных о занятости, вы хотите публиковать максимальное количество информации. По умолчанию клиенты Outlook публикуют данные о занятости за два месяца (текущий и следующий). Настройки данных о занятости не только определяют, какое количество информации Outlook публикует для календаря отдельного пользователя, но и влияют на то, какой объем информации Outlook публикует при обновлении данных о занятости ресурса. Это означает, что клиент Outlook организатора встречи обновляет данные о занятости учетной записи ресурса, когда система успешно осуществляет заказ. Необходимо настроить все клиенты Outlook так, чтобы они публиковали информацию за 12 месяцев (максимальный период), тогда функция прямого резервирования сможет пресекать максимальное число конфликтов.

Проблема, связанная с информацией о занятости, заключается в том, как система хранит данные о занятости в общей папке и управляет ими и как клиенты Outlook обновляют эту информацию. Exchange хранит данные о занятости календаря каждого почтового ящика в отдельных записях в общей папке. Когда кто-то планирует напоминание, система не добавляет новую информацию к существующей. Вместо этого клиент Outlook планировщика повторно генерирует время занятости и переписывает набор данных. Такой метод допустим, если вы настроили все свои клиенты на публикацию одинакового количества данных о занятости. Однако зачастую один или более клиентов настроены на публикацию данных менее чем за 12 месяцев. Так как Outlook по умолчанию публикует данные о занятости за 2 месяца, существующий набор данных будет содержать информацию о занятости либо за 2, либо за 12 месяцев. В зависимости от этого срока клиент Outlook создает последние запросы о встрече и обновляет данные о занятости. Если обновленный набор данных имеет временной диапазон менее 12 месяцев, функции прямого резервирования могут не иметь достаточной информации для обнаружения конфликтов при планировании.

Рекуррентные запросы. Рекуррентные запросы о встречах, которые я рассматриваю как ошибки, возникают, когда кто-либо обновляет рекуррентный запрос с целью продлить период его действия. Скажем, один сотрудник удачно заказывает комнату для конференций на 4 недели, начиная с первого четверга апреля, с 10:00 до 11:00, для проведения серии лекций (4, 11, 18 и 25 апреля). Другой сотрудник резервирует комнату с первого четверга мая (2 мая) также с 10:00 до 11:00. Первый сотрудник принимает решение расширить серию лекций до 8 недель и обновить рекуррентные настройки в серии встреч, добавив 4 недели в мае (2, 9, 16 и 23 мая), как показано на экране 5. Нажав кнопку Send Update в своем запросе, он получает отказ, так как возникает конфликт во встречах 2 мая. Этот отказ вполне понятен, но Outlook также удаляет его изначально зарезервированные часы встреч в апреле из календаря комнаты для конференций, и у первого сотрудника больше нет зарезервированного времени. Функция прямого резервирования не рассматривает его действия как изменение. Вместо этого она считает, что данное расширение представляет собой первую попытку резервирования ресурса. Единственным способом восстановить бронь и сохранить ее связь с запросом о встрече — снова изменить период действия запроса и нажать кнопку Send Update. К сожалению, этот метод в результате отправляет уведомление об обновлении времени встречи всем участникам.

Экран 5. Резервирование для плановых собраний

Делегирование. Следующая ловушка касается делегирования (т. е. ассистентов, уполномоченных запланировать встречи для своих менеджеров). Если ассистент отправляет запрос о встрече от имени менеджера и удачно резервирует ресурс с помощью прямого резервирования, запросы прибудут в ящики участников от менеджера. Но так как разрешения класса Author привязаны к календарю ресурса, именно ассистент, а не менеджер резервирует время в календаре. Если менеджер попытается обновить запрос о встрече (например, изменить время встречи), он получит сообщение об ошибке, связанной с отсутствием необходимых прав. Нужно иметь в виду, что роль Author дает право изменять свои заказы, но не заказы, созданные другими людьми.

Поле Resources. Ловушка, связанная с полем ресурсов, возникает из-за того, что клиент Outlook лучше, чем Exchange, выполняет функции прямого резервирования. Единственный способ приказать Outlook попробовать осуществить прямое резервирование ресурса — указать ресурс в поле Resources в форме запроса на встречу. Многие по ошибке определяют ресурс как обязательного или желательного участника, прописывая его в поле To. После этого Outlook отсылает запрос в папку входящих сообщений ресурса, где он и будет лежать без ответа. В этом случае люди ошибочно предполагают, что зарезервировали ресурс, так как не получили отказа.

Меры по улучшению

Некоторые описанные ловушки устраняются только через обновления Outlook. Сотрудники, которые будут резервировать ресурсы, должны разбираться в ограничениях прямого резервирования (например, ограничение в 12 месяцев при хранении информации о занятости) и работать в рамках этих ограничений. Другие проблемы, например с клиентами, настроенными на публикацию данных менее чем за 12 месяцев, и такие, как ошибочное указание ресурса в качестве участника, решаются достаточно просто.

Чтобы убедиться, что каждый клиент публикует информацию о занятости за 12 месяцев, нужно запустить редактор реестра и открыть раздел реестра HKEY_CURRENT_USERSoftwareMicrosoft OfficeOutlookPreferencesFBPublishRange, где для Outlook XP параметр version имеет значение 10.0, а Outlook 2003 — 11.0. Этот параметр содержит шестнадцатеричное значение, так что для публикации данных за 12 месяцев следует установить значение параметра в «c». Таблица 1 отображает шестнадцатеричные эквиваленты номеров месяцев, данные по которым требуется публиковать. Простейший способ убедиться в том, что все клиенты публикуют максимальное количество информации о занятности, — использовать системную политику или сценарий регистрации для проверки корректности установки значения этого параметра. Дополнительную информацию можно найти в статье Microsoft XCLN: How to Configure Default Free/Busy Options (http://support.microsoft.com/default.aspx?scid=kb;en-us;q197712).

Для того чтобы предупредить людей, что они по ошибке указали ресурс в качестве участника, можно создать на сервере правило, подразумевающее отправление организатору встречи электронного письма с сообщением об ошибке. Для настройки этой возможности следует открыть почтовый ящик ресурса, используя профиль службы Outlook, с помощью которого выполнялась изначальная настройка функции прямого резервирования (в три этапа). Необходимо открыть папку Inbox и выбрать пункт Rules Wizard в меню Tools в Outlook. Затем нужно нажать кнопку New для создания правила. Поставьте флажок Check messages when they arrive и щелкните Next для отображения состояний, инициирующих правило. Если используется Outlook 2002, режимом, устанавливаемым по умолчанию для нового правила, является режим Start creating a rule from a template; требуется выбрать возможность Start from a blank rule option для отображения состояния Check messages when they arrive. Выберите состояние Uses the form name form. В секции описания правила нужно нажать на поле form name, чтобы отобразить диалоговое окно Choose Forms. Поменяйте в списке Personal Forms на Application Forms, потом выберите форму Meeting Request из списка и нажмите кнопку Add, как показано на экране 6.

Экран 6. Выбор формы Meeting Regues

Теперь требуется нажать кнопку Close в диалоговом окне Choose Forms, затем — кнопку Next в мастере Rules Wizard, чтобы указать действие. Выберите действия move it to the specified folder и have server reply using a specific message. В секции описания правила следует нажать на подчеркнутое слово specified, выбрать папку Deleted Items Folder из списка папок и нажать OK. Также в секции описания правила нужно щелкнуть на фразе a specific message для отображения окна структуры нового сообщения. В качестве предметной строки следует ввести You incorrectly attempted to reserve a resource, установить приоритет сообщения в значение High и ввести в тело сообщения текст, объясняющий, что организатор встречи получил это сообщение, так как ошибочно указал ресурс в качестве участника. Необходимо указать, что организатор не имеет подтвержденной брони на использование ресурса, и описать шаги, которые следует предпринять для исправления ошибки (т. е. указать ресурс в поле Resources). После того как вы создали сообщение, нажмите кнопку Save, а потом — Close. Вернувшись в окно мастера Rules Wizard, щелкните Next дважды, чтобы отобразить последнюю страницу мастера. На этой странице требуется указать имя правила и установить флаг в поле Turn on this rule. Нажмите Finish. Должно появиться описание правила, которое выглядит примерно так, как показано на экране 7. Если организатор встречи непреднамеренно указал ресурс в качестве участника, он получит электронное сообщение, информирующее об ошибке.

Экран 7. Настройка правил в мастере Rules Wizard

Сделай сам

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

Джозеф Ньюбауэр - Старший технический консультант HP, специалист по Windows и Microsoft Exchange Server. joseph.neubauer@hp.com