Рубрика:
Администрирование /
Администрирование
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Иван Коробко
Используем дополнительные возможности Windows Messenger
Расширив возможности Windows Messenger, вы можете превратить его в телефонный справочник, службу HelpDesk или почтового клиента.
Расширенные возможности Windows Messenger
Многие устанавливают пакет Windows Messenger Plus! Live [1] для расширения возможностей Windows Messenger. Однако при использовании Windows Messenger в качестве клиента Office Live Communications Server 2003 (LCS) применение WM Plus! Live – не лучшее решение по нескольким соображениям:
- Windows Messenger Plus! Live в первую очередь предназначен для работы с Windows Messenger Live. Он работает с Windows Messenger, но приложение функционирует нестабильно.
- Отсутствует MUI, включающий поддержку русского языка.
- Требуется установка на каждой рабочей станции.
Функции Windows Messenger можно значительно расширить, превратив его в клиента службы HelpDesk, клиента MS Outlook или в телефонный справочник, изменив несколько параметров в реестре Windows. Изучая эту тему, было выявлено четыре дополнения:
- баннер в окно диалога пользователей;
- закладка в разделе «Справка»;
- ссылки на программы в разделе «Действия»;
- закладки (tabs) в основном поле Messenger.
Структура реестра Windows Messenger
Информация о конфигурации Windows Messenger находится в ветвях реестра HKEY CURRENT USER (HCKU) и HKEY LOCAL MACHINE (HKLM).
В ветви HCKU реестра находится информация о конфигурации пользовательских настроек, например, расположение и размер окна.
В ветви HKLM – параметры надстроек Windows Messenger. В HKLM\SOFTWARE\Microsoft\MessengerService\ServiceProviders\{83D4679F-B6D7-11D2-BF36-00C04FB90A03}\branding\SIP_DOMAIN_NAME содержится информация о дополнительных закладках, баннере и т. д.
Баннер в Windows Messenger
Баннер расположен внизу окна переписки с каким-либо пользователем (см. рис. 1). По своей сути это картинка, при нажатии на которую открывается указанный в реестре URL.
Рисунок 1. Внешний вид баннера
Для описания баннера используются два ключа (см. таблицу 1 и рис. 2): BannerURL и BannerLinkURL. Ширина баннера может изменяться, поэтому его фон рекомендуется делать белым (JPEG) или прозрачным (GIF). Высота баннера – 275 пикселей.
Таблица 1. Активный баннер
Свойство
|
Описание
|
Пример
|
BannerURL
|
URL-путь к картинке. Поддерживается JPEG, GIF
|
http://wmconfig/logotip.jpg
|
BannerLinkURL
|
URL-ссылка, по которой будет выполнен переход после нажатия на баннер
|
http://homesite
|
Рисунок 2. Характеристики баннера в реестре
Новый пункт меню в разделе «Справка»
В Windows Messenger можно добавить пункт меню с произвольным названием в раздел «Справка» (см. рис. 3). По нажатию на него будет осуществляться переход по заданной в реестре URL-ссылке. Как и в предыдущем варианте, для описания используются два параметра (см. таблицу 2).
Рисунок 3. Внешний вид подменю «Помощь» в разделе «Справка»
Таблица 2. Подменю в разделе «Справка»
Свойство
|
Описание
|
Пример
|
ProviderName
|
Содержит название создаваемого пункта меню
|
Помощь
|
HelpURL
|
URL-ссылка, по которой будет выполнен переход после нажатия на созданный пункт меню
|
http://help/msn
|
Рисунок 4. Описание нового пункта меню раздела «Справка» в реестре
Создание ссылок на программы в разделе «Действия»
Для создания ссылки на приложение в разделе «Действия» (см. рис. 5) необходимо в HKLM\SOFTWARE\Microsoft\MessengerService\SessionManager\Apps создать папку, имя которой совпадает с GUID запускаемого приложения. В ней должен присутствовать ключ, содержащий имя приложения, которое будет отображено в списке. По умолчанию в указанном разделе существует несколько программ (см. таблицу 3 и рис. 5, 6).
Рисунок 5. Внешний вид меню запуска приложений в разделе «Действия»
Рисунок 6. Стандартный набор ссылок на приложения раздела «Действия» в реестре
Таблица 3. Подменю в разделе «Действия»
Запускаемое приложение
|
GUID
|
Name (реестр)
|
Path (реестр)
|
URL (реестр)
|
Общий доступ к приложению
|
F1B1920C-6A3C-4ce7-B18C-AFAB305FD03D
|
Application Sharing
|
C:\WINDOWS\System32\ rcImLby.exe
|
http://www.microsoft.com
|
Удаленный помощник
|
56b994a7-380f-410b-9985-c809d78c1bdc
|
Remote Assistance
|
C:\WINDOWS\System32\ rcImLby.exe
|
http://www.microsoft.com
|
Доска
|
1DF57D09-637A-4ca5-91B9-2C3EDAAF62FE
|
Whiteboard
|
C:\WINDOWS\System32\rtcshare.exe
|
http://www.microsoft.com
|
Как показывает практика, мало кто добавляет ссылки на другие приложения в Windows Messenger.
Создание закладок в Windows Messenger
По умолчанию в Windows Messenger отображается всего лишь одна закладка (tab), в которой перечислены контакты пользователей.
С помощью реестра и конфигурационного файла в формате XML можно увеличить их количество до 32 (см. рис. 6). Описание ключей реестра смотрите в таблице 4.
Таблица 4. Создание закладок в реестре
Свойство
|
Описание
|
Пример
|
TabURL
|
Ссылка на конфигурационный файл закладок в формате XML
|
http://wmtabs/tabs.xml
|
Конфигурационный файл закладок
Конфигурационный файл имеет формат XML-файла. Как любой XML-файл он имеет заголовок, указывающий интерпретатору на формат файла: <?xml version=”1.0” ?>. Для того чтобы русские символы были корректно считаны из файла, необходимо добавить в заголовок описание русского языка: <?xml version=”1.0” charset=1251 ?>.
XML-файл имеет следующую структуру:
<?xml version="1.0" charset=1251 ?>
<msntabdata>
<tab>
<image></image>
<name></name>
<tooltip></tooltip>
<contenturl></contenturl>
<tabid></tabid>
<hidden></hidden>
</tab>
<tab>
…
</tab>
…
</msntabdata>
Рассмотрим назначение каждого из тегов. Тег <msntabdata> идентифицирует для Windows Messenger конфигурационный файл. Внутри этого тега может быть до 32 тегов <tab>. Описание тегов внутри тега <tab> см. в таблице 5.
Таблица 5. Описание характеристик закладки в XML-файле
Название тега
|
Описание
|
Пример
|
<image>
|
URL-путь к иконке в формате PNG, отображаемой в MSN
|
<image>http://wmtabs/tab01.png</image>
|
<name>
|
Имя закладки. Участвует в управлении отображения закладок. Если используется русский язык, необходимо в заголовок файла добавить charset=1251
|
<name>Телефонный справочник</name>
|
<tooltip>
|
Текст всплывающей подсказки. Если используется русский язык, необходимо в заголовок файла добавить charset=1251
|
<tooltip>После нажатия на этот значок в окне Windows Messenger будет отображен телефонный справочник</tooltip>
|
<contenturl>
|
Ссылка, отображаемая при нажатии на выбранную закладку
|
<contenturl>http://ServerName/Exchange/LoginName/Контакты</contenturl>
|
<tabid>
|
Порядковый номер расположения закладок. Может изменяться от 1 до 32
|
<tabid>1<tabid>
|
<hidden>
|
Задает видимость закладки в поле закладок по умолчанию. Принимает значение true или false
|
<hidden>false</hidden>
|
Создание внутреннего сайта для работы закладок
Давайте договоримся, что под термином «сайт» будем понимать не веб-сайт в классическом виде, а сайт как одну из сущностей IIS.
Конфигурационный файл, пиктограммы закладок и баннер должны быть расположены на сайте. Так было задумано программистами Microsoft. Создадим новый сайт и для простоты назовем его WMTabs. Для этого необходимо на сервере c IIS в папке C:\InetPub создать каталог WMTabs. Имя создаваемой папки произвольно и никак не связано с именем сайта. Обычно для удобства эти имена делают идентичными.
Рисунок 7. Закладки Windows Messenger
Рисунок 8. Настройка закладок в реестре
После того как папка создана, нужно скопировать следующие файлы:
- файлы с пиктограммами закладок в формате PNG;
- конфигурационный XML-файл;
- баннер.
Настройка DNS
Первым делом необходимо придумать имя сайта, например, http://wmtabs. Для создания такого имени необходимо сделать DNS-ссылку (AName alias). Для этого на контроллере домена запустите службу DNS и в Forward Lookup Zone вызовите контекстное меню текущего домена (см. рис. 9). В нем – выберите пункт «New Alias (CNAME)…».
Рисунок 9. Настройка DNS
В появившемся меню необходимо в поле «Alias Name» указать новое имя сайта, в поле «FQDN for target host» – полное имя компьютера в домене, на котором будет находиться сайт (см. рис. 9).
После того как ссылка на сервер создана, ее необходимо проверить. Для этого обновите DNS-кэш на этом сервере с помощью команды «ipconfig / flushdns» и выполните команду «ping wmtabs». Если все сделано правильно, то по созданной ссылке должен быть получен отклик: имя wmtabs должно разрешиться в server.domain.ru.
Настройка IIS
Для создания сайта http://wmtabs необходимо после запуска конфигуратора IIS-консоли на сервере инициализировать работу соответствующего мастера. Для этого необходимо выбрать в контекстном меню сайтов «New -> Web Site» (см. рис. 10).
Рисунок 10. Запуск мастера создания сайтов в IIS
Работа мастера включает несколько этапов.
На первом из них задается имя сайта, которое будет отображаться в IIS-консоли, затем настройки порта.
Именно на втором шаге необходимо задать имя сайта в поле «Host header for this Web-site», которое пользователь будет запускать в браузере. В данном случае по этому имени будет обращаться Windows Messenger в поисках конфигурационных файлов (см. рис. 11, 12).
Рисунок 11. Настройка IIS. Шаг 1 и 2
Рисунок 12. Настройка IIS. Шаг 3 и 4
На третьем этапе указываются физическое местоположение папки на сервере и уровень доступа к сайту. По умолчанию пункт «Allow anonymous access to this Web site» (разрешить анонимный доступ к этому веб-сайту) отмечен галкой. В данном случае установлена галка или нет, не имеет значения, поскольку не требуется идентификация пользователя.
На последнем шаге устанавливаются разрешения на доступ к сайту. По умолчанию установлена галка только напротив «Read» (чтение). Рекомендуется оставить установленные значения без изменений.
Тестирование сайта http://wmtabs
Сайт создан, и необходимо проверить его работоспособность. При вызове http://wmtabs ничего не произойдет, поскольку ни один из помещенных по этой ссылке файлов не указан в качестве возможной стартовой страницы.
В окне браузера необходимо набирать полный путь к файлу, т.е. http://wmtabs/tabs.xml. В результате в окне браузера должен отобразиться XML-файл.
Тестирование Windows Messenger
После того как созданы ссылка на сервер wmtabs, сайт на IIS, привязанный к этой ссылке, и внесены соответствующие изменения в реестр рабочей станции, можно приступить к тестированию Windows Messenger.
Окно закладки Windows Messenger представляет собой урезанную версию веб-браузера. Все механизмы кэширования работают так же, как и в обычном браузере. Поэтому в случае изменения какой-либо закладки необходимо войти в браузер и очистить кэш (см. рис. 13).
Рисунок 13. Очистка кэша браузера
Интеграция изменений реестра во всем домене
Изменения, вносимые в реестр, касаются ветви HKLM. Для того чтобы внести изменения в эту ветвь, сотрудник должен обладать административными привилегиями.
Сценарий регистрации пользователей в сети работает от имени сотрудника, который в настоящий момент совершает вход в сеть. Исходя из этого напрямую создавать соответствующий скрипт и позиционировать его для входа в сеть не имеет смысла.
Для решения проблемы существует, как минимум, два варианта.
Первый вариант – создать защищенный сценарий, внутри которого жестко прописаны имя и пароль усеченного в правах доменного администратора.
Второй – скомпилировать MSI-файл, который бы разворачивался всякий раз при регистрации пользователя в сети.
Продолжаем расширять возможности Windows Messenger. Превратим его в почтового клиента.
Использование Windows Messenger в качестве почтового клиента
В качестве наглядного примера использования закладок рассмотрим преобразование Windows Messenger в качестве почтового клиента. Для реализации данного решения необходимо, чтобы в домене была использована OWA (Outlook Web Access). Установка и настройка OWA выходит за рамки этой статьи, поэтому буду считать, что у вас она уже установлена и настроена.
Определим наполнение закладок. Безусловно, должны быть закладки «Inbox» (входящие), «Outbox» (отправленные). Остальные вкладки могут быть созданы по желанию по образу и подобию.
OWA
OWA (Outlook Web Access) – это веб-сервис для Microsoft Exchange Server, который позволяет получить доступ к почте (см. рис. 14) с помощью веб-интерфейса. Сейчас OWA – один из компонентов Microsoft Exchange 2007.
Рисунок 14. Внешний вид OWA
Ранее отмечалось, что во вкладках Windows Messenger отображаются веб-страницы, поэтому OWA идеально подходит для решения поставленной задачи.
Параметры строки OWA
Посмотрев на внешний вид OWA (см. рис. 14), сразу же встает вопрос о том, как отдельно отобразить папки «Входящие», «Исходящие» и т. д. Вид интерфейса определяется с помощью аргументов URL-строки. Общий вид URL-строки вызова OWA следующий: «http://ServerName/Exchange/LogonName/FolderName?Parametres», где:
- ServerName – имя Exchange Server. Далее будем полагать, что имя сервера – MAIL.
- Exchange – постоянный неизменяемый параметр.
- LogonName – имя сотрудника, под которым он регистрируется в сети.
- FolderName – этот параметр необязательный. Он используется для входа в нужную папку. Например, для входа в папку «Входящие», он принимает значение «Inbox», или «Входящие», в зависимости от языкового интерфейса используемого в OWA. Этот параметр исключают, когда необходимо инициировать какой-либо диалог, например, вызвать форму отправки нового письма.
- Parameters – параметры, определяющие внешний вид вызываемого окна (см. таблицу 6).
Таблица 6. Параметры URL-строки OWA
Командная строка
|
Описание параметра
|
Наглядный пример
|
?cmd=new
|
Создание нового письма
|
http://Server/Exchange/User/?cmd=new
|
Subject?=action
|
Отображает последнее письмо с указанной темой
|
http://Server/Exchange/User/Subject?cmd=action
|
?cmd=option
|
Вывод окна пользовательских настроек (см. рис. 14)
|
http://Server/Exchange/User/?cmd=options
|
Folder/?cmd=contents
|
Отобразить только содержимое указанной папки (см. рис. 14). На рис. 14 не отображается панель 1
|
http://Server/Exchange/User/Входящие/?cmd=contents
|
Folder/?cmd=contents&view=value
|
Отобразить элементы из указанной папки за указанный срок
|
http://Server/Exchange/User/Входящие/?cmd=contents&view=Two%20Line
|
Folder/?cmd=contents&part=1
|
Отображает только указанную папку (см. рис. 14). На рис. 14 не отображаются панели 1 и 3
|
http://Server/Exchange/User/Входящие/?cmd=contents&part=1
|
/subject.EML?cmd=open
|
Отобразить текст конкретного письма. В качестве subject указывается тема письма
|
http://Server/Exchange/User/Входящие/subject.EML?cmd=open
|
Полное описание параметров командной строки OWA можно найти на сайте Microsoft [1].
В таблице 6 приведены часто используемые выражения командной строки, такие как – показать папку «Входящие», создать новое письмо, вывести окно настройки Outlook для OWA и т. д.
Рисунок 15. Пользовательские настройки OWA
Настройка файла конфигурации
При использовании OWA в URL-строке запроса необходимо указывать сетевое имя пользователя (login). Поскольку файл находится на веб-сайте, то с помощью ASP можно идентифицировать пользователя, который осуществляет чтение файла при соответствующих настройках IIS.
Настройка IIS заключается в отключении анонимного доступа к сайту и запуска механизма Windows Authentication. Для этого необходимо войти в свойства созданного веб-сайта и во вкладке «Directory Security» нажать на кнопку «Edit» (см. рис. 16).
Рисунок 16. Управление аутентификацией IIS
В появившемся диалоговом окне необходимо убрать галку напротив «Enable anonymous access», отключив анонимный доступ к сайту, и включить галку «Integrated Windows authentication», запустив встроенный механизм аутентификации пользователей.
Второй этап – преобразование XML-файла в ASP-файл, который бы после вызова определял имя пользователя и подставлял его в возвращаемый им XML-файл.
Любой ASP-файл имеет следующую структуру:
<%@ Language=VBScript CODEPAGE=1251%>
<HTML>
…
<BODY>
…
<%VBSCRIPT CODE%>
</BODY>
</HTML>
Однако Windows Messenger должен воспринять его как XML-файл, поэтому заголовок ASP-файла необходимо изменить на заголовок XML-файла, при этом расширение файла должно быть ASP, для IIS это ASP-файл, а не XML.
В противном случае имя пользователя не будет определено, т.к. интерпретатор не сможет идентифицировать встроенных функций.
Таким образом, структура ASP-файла будет следующей:
<?xml version="1.0" encoding="windows-1251" ?>
<%
VBSCRIPT CODE
%>
<msntabdata>
<tab>
<image>http://***/*.png</image>
<name>***</name>
<tooltip>***</tooltip>
<contenturl>http://**<%VBSCRIPT CODE%>*</contenturl>
<tabid>1</tabid>
<hidden>false</hidden>
</tab>
<tab>
…
<tabid>2</tabid>
<hidden>false</hidden>
</tab>
…
</msntabdata>
Определение пользователя, который вызвал страницу, осуществляется с помощью функции HttpContext.Current.User.Identity.Name или Request.ServerVariables («AUTH_USER»).
В обоих случаях функция возвращает имя в пользователя согласно шаблону DOMAIN\USERNAME. Поэтому необходимо вычленить USERNAME для подстановки в XML-файл с помощью процедуры:
<%
Dim UserName = HttpContext.Current.User.Identity.Name
userName = userName.SubString(userName.LastIndexOf("\")+1)
%>
Закладки Windows Messenger
Определим перечень закладок, создаваемых в Windows Messenger. Количество закладок может варьироваться в зависимости от потребностей сотрудников, однако среди них есть обязательные. К ним относятся закладки, по нажатию на которые будет отображаться содержимое следующих папок: «Исходящие», «Отправленные» и «Новое письмо». По желанию можно добавить ссылки на папки: «Календарь», «Задачи», «Настройка параметров почты» и др. Перечень создаваемых закладок и ссылок на них смотрите в таблице 7. Выражением <%Response.Write(userName)%> подставляется сетевое имя пользователя (login) в URL-ссылку для успешной работы.
Таблица 7. Характеристики закладок Windows Messenger
Название папки
|
URL-строка
|
Входящие
|
http://mail/exchange/<%Response.Write(userName)%>/Входящие/?Cmd=contents&part=1
|
Отправленные
|
http://mail/exchange/<%Response.Write(userName)%>/Отправленные/?Cmd=contents&part=1
|
Новое письмо
|
http://mail/exchange/<%Response.Write(userName)%>/исходящие/?cmd=new
|
Параметры почты
|
http://mail/exchange/<%Response.Write(userName)%>/?Cmd=options
|
Задачи
|
http://mail/exchange/<%Response.Write(userName)%>/Задачи/?Cmd=contents&part=1
|
Календарь
|
http://mail/exchange/<%Response.Write(userName)%>/Календарь/?Cmd=contents&part=1&View=Three%20Line
|
Привожу листинг файла Config.ASP:
<?xml version="1.0" encoding="windows-1251" ?>
<%
Dim UserName = HttpContext.Current.User.Identity.Name
UserName = userName.SubString(userName.LastIndexOf("\")+1)
%>
<msntabdata>
<tab>
<image>http://wmtabs/p1.png</image>
<name>Входящие письма</name>
<tooltip>Входящие письма</tooltip>
<contenturl>http://mail/exchange/<%Response.Write(userName)%>/Входящие/?Cmd=contents&part=1&View=Three%20Line</contenturl>
<tabid>1</tabid>
<hidden>false</hidden>
</tab>
<tab>
<image>http://wmtabs/p2.png</image>
<name>Новое письмо</name>
<tooltip>Создание нового письма</tooltip>
<contenturl>http://mail/exchange/<%Response.Write(userName)%>/Исходящие/?cmd=new</contenturl>
<tabid>2</tabid>
<hidden>false</hidden>
</tab>
<tab>
<image>http://wmtabs/p3.png</image>
<name>Отпраленные письма</name>
<tooltip>Отпраленные письма</tooltip>
<contenturl>http://mail/exchange/<%Response.Write(userName)%>/Отправленные/?Cmd=contents&part=1&View=Three%20Line</contenturl>
<tabid>3</tabid>
<hidden>false</hidden>
</tab>
<tab>
<image>http://wmtabs/p4.png</image>
<name>Календарь</name>
<tooltip>Календарь</tooltip>
<contenturl>http://mail/exchange/<%Response.Write(userName)%>/Календарь/?Cmd=contents&part=1&View=Three%20Line</contenturl>
<tabid>4</tabid>
<hidden>false</hidden>
</tab>
<tab>
<image>http://wmtabs/p5.png</image>
<name>Задачи</name>
<tooltip>Задачи</tooltip>
<contenturl>http://mail/exchange/<%Response.Write(userName)%>/Задачи/?Cmd=contents&part=1&View=Three%20Line</contenturl>
<tabid>5</tabid>
<hidden>false</hidden>
</tab>
<tab>
<image>http://wmtabs/p6.png</image>
<name>Настройка параметров почты в Windows Messenger</name>
<tooltip>Настройка параметров почты в Windows Messenger</tooltip>
<contenturl>http://mail/exchange/<%Response.Write(userName)%>/?Cmd=options</contenturl>
<tabid>6</tabid>
<hidden>false</hidden>
</tab>
</msntabdata>
Получившийся результат см. на рис. 17.
Рисунок 17. Внешний вид Windows Messenger с почтовым клиентом
Заключение
Научившись создавать закладки и добавлять в них нужное для оперативной работы содержимое, вы сможете значительно повысить производительность труда своих сотрудников, однако остались неосвещенными несколько вопросов. Как автоматически подключать клиента при входе его в сеть с данной рабочей станции в первые раз, как изменить размер окна по умолчанию, ведь содержимое закладок может и не поместиться? Ответы на эти и другие вопросы вы найдете в следующей статье.
- Инструкция по настройке веб-частей в веб-клиенте Outlook – http://technet.microsoft.com/ru-ru/library/bb232199.aspx.
- Windows Messenger Plus! Live – http://www.msgpluslive.net.
- Корбко И. Использование Windows Messenger в корпоративной среде. //Системный Администратор, №9, 2007 г. – С. 28-31.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|