Windows Server 2008 как централизованный сервер факсов
Не смотря на то, что на сегодняшний день такие вещи как Email и IM достаточно плотно вошли в систему информационного обмена между организациями, использование факсов по-прежнему имеет место быть. Мне самому несколько раз приходилось сталкиваться на практике с ситуацией, когда возникала необходимость отправлять факс через факс-аппарат. Последний опыт использования аппарата с некорректно работающим захватчиком бумаги был совсем «грустным». Чтобы сделать работу с факсами в организации более удобной и общедоступной (чтобы любой пользователь корпоративной сети не имеющий физического доступа к факс-аппаратам или факс-модемам мог самостоятельно, как отправить, так и принять факс) мы можем воспользоваться встроенным функционалом Windows Server и развернуть централизованный сервер факсов. В качестве опорной платформы для построения сервера факсов я в своём примере выбрал ОС Windows Server 2008 Standard 32-bit по причине того, что имеющаяся на руках мульти-модемная плата Digi AccelePort RAS 4 не имеет на сегодняшний день драйверов для 64-битных систем Windows, о чем отмечалось ранее .
Основные требования
Чтобы создать факс-сервер на базе Windows Server 2008, нам необходимо установить роль факс-сервера. При добавлении этой роли на сервер устанавливаются компоненты и оснастка диспетчера службы факсов «Fax Service Manager», приложение «Windows Fax and Scan», Служба факсов и факс-принтер.
Роль факс-сервера доступна во всех выпусках Windows Server 2008 / 2008 R2, кроме Windows Web Server 2008 R2 и Windows Server 2008 R2 для компьютеров на базе процессоров Itanium. Оснастка диспетчера службы факсов недоступна в режиме Server Core.
Итак, перед началом установки роли факс-сервера мы должны убедиться в том, что к серверу подключены необходимые факс-модемы, установлены их драйвера и в консоли управления устройствами эти модемы отображаются корректно.
Если вы планируете устанавливать роль факс-сервера удаленно (через RDP), необходимо убедиться в том, что подключении к серверу в RPD-клиенте отключён общий доступ к локальным ресурсам клиента (как минимум должно быть выключено перенаправление портов).
Перед началом установки роли факс-сервера создадим доменную группу безопасности для пользователей, которые будут иметь доступ к службе факсов для отправки и получения факсов:
Установка роли факс-сервера
Для установки роли откроем оснастку Server Manager и в разделе Roles выберем действие добавления новой серверной роли – Add Roles
В открывшемся мастере добавления ролей отметим роль Fax Server
При этом нам сразу будет предложено включить дополнительную роль Print Server, требуемую для работы роли Fax Server
Далее мастер добавления ролей перейдёт к настройке параметров роли факс-сервера и предложит нам добавить группу безопасности, которая будет определять круг пользователей имеющих доступ к факс-серверу для приёма и отправки факсов. Добавим на этом шаге доменную группу созданную нами ранее. В процессе установки роли эта группа будет добавлена в локальную группу «Fax Users»
На следующем шаге мы должны будем определиться с тем, в каком режиме будет предоставляться доступ к папке входящих факсов. Здесь возможны два варианта:
Первый вариант полезен в случаях, когда по каким-то причинам нужно организовать отдельный факс-сервер с узко ограниченной группой доступа. В нашем же случае, исходя из того, что мы собираемся организовать службу факсов, доступную для всех пользователей организации, мы выбираем второй пункт.
Далее нам будет предложено выбрать компоненты входящие в состав служб печати (Print Services). В нашем случае достаточно оставить только необходимый «прожиточный минимум» – Print Server.
На этом нехитрый процесс настройки установки роли факс-сервера можно считать законченным. Нажимаем Install…
По окончании процесса установки необходимых ролей, нам нужно для службы Fax изменить типа запуска службы на автоматический (Automatic), так как по умолчанию тип запуска для этой службы установлен в Manual
Далее, нам нужно убедиться в том, что в системе создан факс-принтер. Для этого в панели управления откроем апплет Printers (команда control printers). Если его нет, перезагрузите сервер (если перезагрузка сервера нежелательна, остановите и перезапустите службу очереди печати Print Spooler). К указанному факс-принтеру нам необходимо предоставить общий доступ, так как он будет использоваться для работы клиентских компьютеров с факс-сервером.
Зададим для факс-принтера, предоставляемого в общий доступ уникальное понятное имя
Основная настройка факс-сервера
Чтобы выполнить настройку факс-сервера мы можем открыть Диспетчер службы факсов (Fax Service Manager)из меню Start > Administrative Tools.
По умолчанию функция отправки факсов включается при установке новых факсимильных устройств и поэтому после установки роли факс-сервера имеющиеся у нас факс-модемы уже готовы выполнять отправку факсов. В отличие от этого, функцию получения факсов на каждом устройстве нужно включать специально, поскольку по умолчанию она отключена. Это видно при просмотре текущего состояния всех факс-устройств в консоли диспетчера службы факсов в разделе Devices and Providers
Для каждого факсимильного устройства можно задать режим обработки входящих вызовов — автоматически или вручную. Так как в нашем случае все факс-устройства имеют отдельные выделенные линии, мы выберем автоматический режим принятия вызовов (Automatic Answer).
Перед ответом можно также задать количество звонков – Rings before answering. Увеличить число звонков имеет смысл, если для приёма факсов и телефонных разговоров используется одна линия, чтобы дать время поднять телефонную трубку.
Также в свойствах каждого устройства можно задать дополнительную строку кода вызываемого абонента (CSID). Эта текстовая строка служит для того, чтобы отправитель факса мог идентифицировать получателя, например, эта информация будет высвечиваться на дисплее контрагента отсылающего вам факс и присутствовать в его отчёте об отправке. Можно также указать дополнительную строку кода передающего абонента (TSID). Эта текстовая строка позволяет идентифицировать отправителя факса. Идентификационные данные обычно отображаются в заголовке факсимильного сообщения, чтобы получатель мог определить источник факса. Значения строк TSID и CSID имеют ограничение в 20 символов.
Далее для каждого устройства мы можем задать методы маршрутизации входящих факсов. Нам доступны три основных метода маршрутизации:
Можно использовать любую комбинацию методов маршрутизации для каждого отдельного факс-устройства. Так как мы собрались сделать наш факс-сервер общедоступным, мы выберем для каждого устройства метод сохранения в сетевом каталоге, сделав его в дальнейшем доступным через веб-интерфейс посредствам SharePoint, чтобы обеспечить возможность видеть входящие факсы даже тем клиентам, у которых не установлена клиентская консоль «Факсы и сканирование» и не настроено подключение к факс-серверу.
Итак, для настройки метода Store in folder, откроем свойства правила маршрутизации для конкретного модема и на одноимённой закладке укажем путь к каталогу в формате UNC (\ ). При этом мы должны понимать, что создавать каталог доступный для всех пользователей на системном диске не есть хорошо, и поэтому мы создадим такой каталог на специально отведённом для этих целей логическом разделе диска.
При сохранении данной настройки, если учетная запись, от имени которой на сервере работает служба факсов (по умолчанию это Network Service), не имеет разрешения на доступ к данному каталогу, будет выведено соответствующее предупреждение с предложением изменить существующие разрешения
После сохранения настройки нужно убедиться в том, что соответствующее изменение прав доступа успешно выполнено
Дополнительно предоставим полный доступ к папке для встроенной группы Users, и так как в эту группу входит по умолчанию группа всех прошедших аутентификацию пользователей, то все наши доменные пользователи будут иметь возможность удалять из этой общей папки файлы принятых факсов после того как скопируют их себе. При желании можно попробовать ограничить пользователей лишь разрешением операции удаления файлов.
На основании этой папки нужно создать общий сетевой ресурс. Сделаем это командой:
NET SHARE FAX-Public-Inbox=»D:FAX-Public-Inbox» /GRANT:Users,FULL /UNLIMITED /CACHE:None
Теперь в консоли диспетчера факсов для каждого факс-устройства настроенный метод маршрутизации с сохранением входящих факсов в каталоге нужно задействовать, выполнив над ним операцию Enable:
Далее желательно настроить каталог месторасположения архива всех отправленных и принятых факсов, так как по умолчанию он расположен на системном томе в папке C:ProgramDataMicrosoftWindows NTMSFax .
По аналогии с каталогом входящих факсов, на отдельном логическом томе создадим новый каталог, например с именем FAX-Archives и предоставим полный доступ к этому каталогу встроенной учетной записи Network Service, после чего в консоли Microsoft Fax Service Manager в корне дерева откроем глобальные свойства сервера факсов:
Перейдём на закладку Archives и изменим месторасположение каталога архивов.
Сразу же на закладке Receipts можно задать настройки почтового сервера для отправки уведомлений о результате отправки факсов, так как мы в дальнейшем планируем использовать эту функцию для всех пользователей:
Далее перейдём на закладку Accounts и обратим внимание на настройку режима авто-создания учетных записей сервера факсов. Выжимка по этому поводу из документации:
Чтобы получить доступ к факс-серверу, работающему под управлением Windows Server 2008 или Windows Server 2008 R2, у пользователя должна быть учетная запись. Можно настроить сервер факсов так, чтобы учетная запись автоматически создавалась при первом использовании компонента «Факсы и сканирование» Windows для отправки факса. В этом случае, как только пользователь подключится к факс-серверу, будет создана учетная запись. Для более строгого контроля пользователей, подключающихся к факс-серверу, можно отключить эту настройку. В этом случае придётся вручную создавать учетные записи для всех пользователей, которым нужен доступ к факс-серверу. При этом пользователю не удастся подключиться к серверу, не имея учетной записи. По умолчанию данная настройка включена, поэтому учетные записи факсов для членов группы пользователей NT создаются автоматически при первом подключении к факс-серверу.
Это все основные шаги, которые приведут наш факс-сервер в боевое работоспособное состояние.
Подключение клиентов к факс-серверу
Для начала рассмотрим процедуру ручной настройки на стороне клиентских ПК компоненты «Факсы и сканирование Windows» для получения доступа к функциям нашего факс-сервера.
В Windows 7 Pro/Ent компонента «Факсы и сканирование Windows» предустановлена по умолчанию. Найти приложение для работы с факсами можно в меню Пуск > Все программы > Факсы и сканирование Windows. В основном меню выберем пункт Сервис > Учетные записи факса
В открывшемся окне используем кнопку Добавить, чтобы открыть мастер настройки факса.
Выберем подключение факс-серверу в сети…
Укажем имя факс-сервера…
После закрытия мастера добавления в списке принтеров появиться соответствующий факс-принтер, который клиентская ОС будет в дальнейшем использовать для отправки факсов на сервер.
При необходимости в меню Параметры консоли «Факсы и сканирование Windows» можно задать настройки уведомления о результате отправки факсов на электронную почту пользователя
На закладке Уведомления нужно включить соответствующие опции и указать адрес электронной почты.
После этого можно попробовать выполнить отправку факса (кнопка «Создать факс»). В диалоговом окне создания нового факса в поле Кому мы можем указать номер телефона (с учетом выхода с внутренней АТС), вставить любой тест, графические изображения или вложить какие-то файлы. При отправке факса содержимое окна редактирования, затем последовательно содержимое всех вложений будет преобразовано в формат TIF с понижением качества и цветности и передано на сетевой факс-принтер.
После этого на консоли факсов мы сможем наблюдать изменение статуса устройств, говорящее о том, что идёт попытка отправки нашего факса…
Несколько иначе дела обстоят с клиентскими ОС Windows Vista и Windows XP, так в этих системах компонента «Факсы и сканирование Windows» по умолчанию не установлена.
И для того чтобы включить данную компоненту в Windows Vista нужно перейти в меню Пуск > Панель управления > Программы и компоненты и с правами администратора выбрать пункт «Включение или отключение компонентов Windows»
Для того чтобы включить данную компоненту в Windows XP нужно перейти в меню Пуск > Настройка > Панель управления > Установка и удаление программ > Установка компонентов Windows и выбрать компоненту «Службы факсов»
При этом потребуется доступ к дистрибутивному носителю самой ОС. На данном этапе можно избежать лишних запросов системы, если предварительно вы произвели настройку клиентской ОС, например с помощью GPP, как это описано в заметке Windows XP SP3 – настраиваем путь к дистрибутиву через GPP .
После установки компоненты на Windows XP необходимо подключиться к сетевому факс-принтеру. Сделать это можно просто два раза кликнув мышью по сетевому факс-принтеру в Проводнике Windows в списке сетевых ресурсов нашего факс сервера по UNC имени. При этом автоматически будет запущен Мастер настройки факсов
После завершения работы Мастера настройки факсов на клиентской системе появится подключение к соответствующему сетевому факс-принтеру и станет доступной Консоль факсов
Автоматизация настройки клиентов
Итак, перед нами может встать вопрос автоматизации настройки клиентов таким образом, чтобы не нажимать все эти кнопочки на каждом отдельно взятом клиентском ПК и для каждого отдельно взятого пользовательского профиля.
Сразу хочу сделать оговорку, что в своём примере я рассмотрю настройку лишь клиентских ПК c Windows XP и Windows 7, так как в моём рабочем окружении имеется весьма скромное количество клиентов с Windows Vista.
Для тех, кому всё-таки понадобиться выполнять настройку клиентов с Windows Vista приведу в качестве рекомендации для автоматизации установки компоненты «Факсы и сканирование Windows» могу порекомендовать использовать утилиту ocsetup. Синтаксис команды для исполнения в качестве startup скрипта будет таким:
start /w ocsetup FaxServicesPro
При этом у Windows Vista есть неприятная особенность: название системной компоненты различается в зависимости от редакции следующим образом:
Windows Vista Business edition: FaxServicesPro
Windows Vista Enterprise edition: FaxServicesProEnterprise
Windows Vista Ultimate edition: FaxServicesUltimate
С какой целью это было сделано для меня так и осталось непостижимым
Вот пару ссылок, которые возможно помогут в решении вопросов пакетной установки системных компонент Windows Vista:
Для автоматизированной установки компоненты «Службы факсов» на Windows XP мы воспользуемся стандартным механизмом Startup-скриптов в объектах доменных групповых политик (GPO) и утилитой Sysocmgr.exe, использование которой описано в статье KB222444 — How to add or remove Windows Components by using Sysocmgr.exe
В групповой политике, применяемой к клиентским ПК в разделе Computer Configuration > Policies > Windows Settings > Scripts в список скриптов исполняемых при запуске компьютера (Startup) добавим ссылку на VB скрипт FAX-Install.vbs, который предварительно разместим в общей служебной доменной папке NETLOGON
Содержимое скрипта FAX-Install.vbs:
Dim objWMI, objItem, colItems
Dim strComputer, VerBig, OSystem
Const HKEY_LOCAL_MACHINE = &H80000002
‘ On Error Resume Next
Set objWMI = GetObject( «winmgmts:\» & strComputer & «rootcimv2» )
Set colItems = objWMI.ExecQuery( «Select * from Win32_OperatingSystem» ,, 48 )
For Each objItem in colItems
If VerBig = «5.1» Then
‘ Обработка Windows XP
If RegKeyExists( «Fax» , «SOFTWAREMicrosoft» , HKEY_LOCAL_MACHINE) = false Then
‘Создаем файл параметров для Sysocmgr.exe
Set oFSO = CreateObject( «Scripting.FileSystemObject» )
‘ Запускаем Sysocmgr.exe с файлом параметров
Set oShell = CreateObject( «WScript.Shell» )
sCmd = «%SystemRoot%System32sysocmgr.exe» _
& » /i:%SystemRoot%infsysoc.inf /u:c:faxinstall.txt /q»
‘ Удаляем файл параметров
oFSO.DeleteFile sFile, True
Else If VerBig = «6.0» Then
‘ Обработка Windows Vista
‘Функция проверки наличия куста реестра
Function RegKeyExists(strKeyName, strKeyPath, regCategory)
Dim retVal, oReg, arrSubKeys, subkey
oReg.EnumKey regCategory, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
If strKeyName = subkey Then
Логика скрипта следующая: сначала определяется версия клиентской операционной системы и для каждой версии выполняются какие-либо действия. Если версия ОС говорит нам о том, что это Windows XP, — делаем проверку наличия ветки реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftFax . Если такая ветка не обнаружена, это значит, что компонента «Службы факсов» не установлена, и поэтому нужно произвести её установку с помощью Sysocmgr.exe. При необходимости вы можете доработать скрипт для соответствующей проверки и установки компоненты «Факсы и сканирование Windows» в Windows Vista.
После того как данная групповая политика настроена и применена, мы предполагаем что на всех клиентских ПК у нас есть необходимая установленная компонента для взаимодействия с факс-сервером и мы можем перейти к следующему этапу настройки – настройке пользовательских профилей на клиентских ПК. Эта настройка будет представлять из себя запись необходимых параметров реестра в ветку HKEY_CURRENT_USERSOFTWAREMicrosoftFax и подключение сетевого факс-принтера.
В групповой политике, применяемой к доменным пользователям в разделе User Configuration > Policies > Windows Settings > Scripts в список скриптов исполняемых при входе пользователей в систему (Logon) добавим ссылку на VB скрипт FAX-User-Settings.vbs, который предварительно разместим в общей служебной доменной папке NETLOGON
Содержимое скрипт FAX-User-Settings.vbs:
Dim WshNetwork, WshShell, objSysInfo, objUser, Path, strUserDN
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
‘ On Error Resume Next
‘Настройка параметров реестра
If RegKeyExists( «Fax» , «SOFTWAREMicrosoft» , HKEY_LOCAL_MACHINE) = True Then
‘Получение информации о пользователе
Set WshNetwork = CreateObject( «WScript.Network» )
Set objSysInfo = CreateObject( «ADSystemInfo» )
Set objUser = GetObject( «LDAP://» & strUserDN)
Set WshShell = Wscript.CreateObject( «WScript.Shell» )
‘Настройка имени и названия организации отправителя факсов
WshShell.RegWrite «HKEY_CURRENT_USERSOFTWAREMicrosoftFaxUserInfoFullName» , objUser.DisplayName
WshShell.RegWrite «HKEY_CURRENT_USERSOFTWAREMicrosoftFaxUserInfoCompany» , objUser.company
‘Настройка оповещения о результатах отправки факса
WshShell.RegWrite «HKEY_CURRENT_USERSOFTWAREMicrosoftFaxFaxOptionsReceiptAddress» , objUser.mail
WshShell.RegWrite «HKEY_CURRENT_USERSOFTWAREMicrosoftFaxFaxOptionsAttachFaxToReceipt» , 1 , «REG_DWORD»
WshShell.RegWrite «HKEY_CURRENT_USERSOFTWAREMicrosoftFaxFaxOptionsGroupBroadcastReceipts» , 1 , «REG_DWORD»
WshShell.RegWrite «HKEY_CURRENT_USERSOFTWAREMicrosoftFaxFaxOptionsPlaySoundOnNewMessage» , 1 , «REG_DWORD»
WshShell.RegWrite «HKEY_CURRENT_USERSOFTWAREMicrosoftFaxFaxOptionsReceiptType» , 1 , «REG_DWORD»
‘Отключение мастера первого запуска консоли факсов
WshShell.RegWrite «HKEY_CURRENT_USERSOFTWAREMicrosoftFaxSetupCfgWzdrUserInfo» , 1 , «REG_DWORD»
‘ Создание учетной записи сервера факсов
WshShell.RegWrite «HKEY_CURRENT_USERSoftwareMicrosoftFaxFaxAccountsDefaultAccount» , «KOM-AD01-PS01» , «REG_SZ»
WshShell.RegWrite «HKEY_CURRENT_USERSoftwareMicrosoftFaxFaxAccountsKOM-AD01-PS01FaxAccountName» , «\KOM-AD01-PS01» , «REG_SZ»
‘Функция проверки наличия куста реестра
Function RegKeyExists(strKeyName, strKeyPath, regCategory)
Dim strComputer,retVal, oReg, arrSubKeys, subkey
oReg.EnumKey regCategory, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
If strKeyName = subkey Then
Логика скрипта следующая: сначала делается проверка наличия ветки реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftFax . Если такая ветка обнаружена, — клиентская компонента установлена и поэтому мы производим настройку пользовательских параметров, создавая запись подключения к факс-серверу, настраивая параметры оповещений, извлекая для этого из домена информацию о текущем пользователе. При этом желательно чтобы значение атрибута company доменных пользовательских учетных записей содержал актуальную информацию, так как это значение будет вставляться в заголовок отправляемых факсов. Это может быть особенно актуально в крупных организациях, где один факс-сервер будет обслуживать доменных пользователей, работающих в разных компаниях.
Этот скрипт будет справедлив для любой клиентской ОС (в том числе и для Windows Vista).
В этой же пользовательской групповой политике мы можем использовать механизм Group Policy Preferences (GPP) для подключения сетевого факс-принтера. Для этого в оснастке редактирования групповой политики перейдём в раздел User Configuration > Preferences > Control Panel Settings > Printers и выберем действие New > Shared Printer
В меню Action выберем Update, а в поле Source Path укажем UNC путь к общему факс-принтеру
На закладке Common включим режим нацеливания Item-level Targeting и нажмём кнопку Targeting для определения условий нацеливания
В качестве условий укажем то, что подключать данный сетевой факс-принтер мы будем в пользовательской среде только в случае, если пользователь залогинился на клиентском компьютере с ОС Windows 7 или Windows XP, а так же если на компьютере установлены клиентские компоненты службы факсов (как и в ранее приведённом скрипте, ориентируемся на наличие ветки реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftFax ).
Хочу обратить Ваше внимание на то, что настраивать нацеливание для подключаемого факс-принтера обязательно, так как на системах где нет установленных клиентских компонент службы факсов процедура входа в систему пользователей в некоторых случаях может сопровождаться серьёзными временными задержками вплоть до «полной потери сознания»
После того как все описанные этапы настройки клиентских ПК и пользовательского окружения отработали, мы сможем увидеть работающую консоль факсов с активным подключением к факс-серверу с включённым механизмом уведомлений о доставке.
На этом будем считать, что клиенты настроены.
На десерт…
Как отмечалось ранее, для большего удобства работы со службой факсов мы можем предоставить доступ к общей папке входящих факсов через веб-интерфейс локального веб-узла SharePoint 2010. Для этого на доступной всем пользователям станице разместим веб-часть Средство просмотра страниц
В свойствах веб-части укажем расположение общедоступного сетевого каталога входящих факсов указанного ранее в процессе настройки факс-сервера в формате file://Server/Share
Под веб-частью просмотра каталога не помешает также поместить объявление, напоминающее пользователям об общедоступности данного каталога:
В заключении можно сказать что, развивая тему использования факс-сервера на крупном предприятии можно столкнуться с рядом вопросов, решение которых может быть разным в каждом конкретном случае. Например, сразу нужно определиться с политикой междугородних и международных исходящих звонков, а также по возможности проработать схему маршрутизации и перенаправления входящих звонков в разных городах на единый номер службы факсов, с таким расчётом, чтобы не заставлять внешних контрагентов платить за отправку факсов как за междугородний звонок.
Дополнительные ссылки, которые могут оказаться полезными: