• Создание собственной раскладки клавиатуры в Windows

    imageПодключив клавиатуру Apple Keyboard with Numeric Keypad к компьютеру с ОС Windows 8.1 я столкнулся с стандартной проблемой раскладки. Раскладка клавиатур Apple отличается от Windows, к который мы все привыкли, а так как при печати я смотрю на клавиатуру, постоянно путался со знаками препинания и буквой “Ё”, которую постоянно использую. Поэтому стал смотреть в сторону создания кастомной, в моём случае Apple, раскладки.

    Для создания кастомной раскладки, Microsoft предлагает программу Microsoft Keyboard Layout Creator (MKLC). Требует Framework 2.0.50727.

    Для примера создадим русскую раскладку клавиатуры Apple.

    Читать далее...

  • Windows Server DHCP – Перенос областей DHCP между серверами

    imageИногда возникает необходимость переноса областей DHCP (Scope) между серверами Windows Server, особенно если область содержит некоторое количество резервирований. Задача с лёгкостью выполняется с помощью встроенной в Windows Server утилиты Netsh.

    Для того чтобы выполнить экспорт областей в файл для последующего импорта на другом сервере выполним команду:

    Netsh dhcp server \Server01 export C:TempDHCPScopes

    Копируем получившийся файл DHCPScopes на другой сервер и выполняем операцию импорта областей:

    Netsh dhcp server \Server02 import C:TempDHCPScopes

    В моём случае копировалась супер-область с двумя входящими в неё областями. Попытки при копировании указать конкретную отдельную область у меня успехом не увенчались, – в любом случае выполнялся перенос всех областей, возможно это связано именно с используемой у меня супер-областью. Это я говорю к тому что прежде чем выполнять экспорт/импорт во избежание недоразумений желательно сделать так чтобы имена и диапазоны копируемых областей не пересекались с уже имеющимися на сервере областями. Вывести список всех областей можно также командой:

    Netsh dhcp server \Server02 show scope

    Источник: KB281626 - How to use the Netsh utility to export and import DHCP scopes

  • RSAT для Windows 7 и закладка Dial-In в ADUC

    При попытке включить удалённый доступ пользователю через VPN наткнулся на занятную ситуацию…Так выглядят свойства пользовательской доменной учетной записи в оснастке «Active Directory Users and Computers» (DSA.MSC) запущенной в Windows 7 SP1 с включённой опцией отображения Дополнительных компонент (меню View > Advaced Features):

    clip_image001

    А если открыть эту же оснастку с Windows Server 2008 R2, то мы видим на одну вкладку больше

    clip_image002

    Читать далее...

  • Windows Server 2008 как централизованный сервер факсов

    imageНе смотря на то, что на сегодняшний день такие вещи как 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.

    Выполнить установку и настройку сервера факсов нам поможет Контрольный список: Установка, настройка и начало работы с факс-сервером

    Итак, перед началом установки роли факс-сервера мы должны убедиться в том, что к серверу подключены необходимые факс-модемы, установлены их драйвера и в консоли управления устройствами эти модемы отображаются корректно.

    image

    Если вы планируете устанавливать роль факс-сервера удаленно (через RDP), необходимо убедиться в том, что подключении к серверу в RPD-клиенте отключён общий доступ к локальным ресурсам клиента (как минимум должно быть выключено перенаправление портов).

    Перед началом установки роли факс-сервера создадим доменную группу безопасности для пользователей, которые будут иметь доступ к службе факсов для отправки и получения факсов:

    image


    Установка роли факс-сервера

    Для установки роли откроем оснастку Server Manager и в разделе Roles выберем действие добавления новой серверной роли – Add Roles

    image

    В открывшемся мастере добавления ролей отметим роль Fax Server

    image

    При этом нам сразу будет предложено включить дополнительную роль Print Server, требуемую для работы роли Fax Server

    image

    Далее мастер добавления ролей перейдёт к настройке параметров роли факс-сервера и предложит нам добавить группу безопасности, которая будет определять круг пользователей имеющих доступ к факс-серверу для приёма и отправки факсов. Добавим на этом шаге доменную группу созданную нами ранее. В процессе установки роли эта группа будет добавлена в локальную группу «Fax Users»

    image

    На следующем шаге мы должны будем определиться с тем, в каком режиме будет предоставляться доступ к папке входящих факсов. Здесь возможны два варианта:

  • Управление папкой входящих факсов осуществляет специальная группа пользователей, называемая Помощники маршрутизации (Routing Assistants). Эти пользователи будут фактически в рукопашную обрабатывать все входящие факсы, распределяя их внутри организации. При этом отправка факсов будет общедоступной;
  • Папка входящих факсов доступна всем пользователям организации.
  • Первый вариант полезен в случаях, когда по каким-то причинам нужно организовать отдельный факс-сервер с узко ограниченной группой доступа. В нашем же случае, исходя из того, что мы собираемся организовать службу факсов, доступную для всех пользователей организации, мы выбираем второй пункт.

    image

    Далее нам будет предложено выбрать компоненты входящие в состав служб печати (Print Services). В нашем случае достаточно оставить только необходимый «прожиточный минимум» – Print Server.

    image

    На этом нехитрый процесс настройки установки роли факс-сервера можно считать законченным. Нажимаем Install

    image

    По окончании процесса установки необходимых ролей, нам нужно для службы Fax изменить типа запуска службы на автоматический (Automatic), так как по умолчанию тип запуска для этой службы установлен в Manual

    image

    Далее, нам нужно убедиться в том, что в системе создан факс-принтер. Для этого в панели управления откроем апплет Printers (команда control printers). Если его нет, перезагрузите сервер (если перезагрузка сервера нежелательна, остановите и перезапустите службу очереди печати Print Spooler). К указанному факс-принтеру нам необходимо предоставить общий доступ, так как он будет использоваться для работы клиентских компьютеров с факс-сервером.

    image

    Зададим для факс-принтера, предоставляемого в общий доступ уникальное понятное имя

    image


    Основная настройка факс-сервера

    Чтобы выполнить настройку факс-сервера мы можем открыть Диспетчер службы факсов (Fax Service Manager)из меню Start > Administrative Tools.

    По умолчанию функция отправки факсов включается при установке новых факсимильных устройств и поэтому после установки роли факс-сервера имеющиеся у нас факс-модемы уже готовы выполнять отправку факсов. В отличие от этого, функцию получения факсов на каждом устройстве нужно включать специально, поскольку по умолчанию она отключена. Это видно при просмотре текущего состояния всех факс-устройств в консоли диспетчера службы факсов в разделе Devices and Providers

    image

    Для каждого факсимильного устройства можно задать режим обработки входящих вызовов - автоматически или вручную. Так как в нашем случае все факс-устройства имеют отдельные выделенные линии, мы выберем автоматический режим принятия вызовов (Automatic Answer).

    Перед ответом можно также задать количество звонков – Rings before answering. Увеличить число звонков имеет смысл, если для приёма факсов и телефонных разговоров используется одна линия, чтобы дать время поднять телефонную трубку.

    Также в свойствах каждого устройства можно задать дополнительную строку кода вызываемого абонента (CSID). Эта текстовая строка служит для того, чтобы отправитель факса мог идентифицировать получателя, например, эта информация будет высвечиваться на дисплее контрагента отсылающего вам факс и присутствовать в его отчёте об отправке. Можно также указать дополнительную строку кода передающего абонента (TSID). Эта текстовая строка позволяет идентифицировать отправителя факса. Идентификационные данные обычно отображаются в заголовке факсимильного сообщения, чтобы получатель мог определить источник факса. Значения строк TSID и CSID имеют ограничение в 20 символов.

    image

    Далее для каждого устройства мы можем задать методы маршрутизации входящих факсов. Нам доступны три основных метода маршрутизации:

  • Перенаправление принятого факса на email;
  • Размещение принятого факса в определённом каталоге;
  • Печать принятого факса на принтер.
  • Можно использовать любую комбинацию методов маршрутизации для каждого отдельного факс-устройства. Так как мы собрались сделать наш факс-сервер общедоступным, мы выберем для каждого устройства метод сохранения в сетевом каталоге, сделав его в дальнейшем доступным через веб-интерфейс посредствам SharePoint, чтобы обеспечить возможность видеть входящие факсы даже тем клиентам, у которых не установлена клиентская консоль «Факсы и сканирование» и не настроено подключение к факс-серверу.

    Итак, для настройки метода Store in folder, откроем свойства правила маршрутизации для конкретного модема и на одноимённой закладке укажем путь к каталогу в формате UNC (\<сетевой_ресурс><каталог>). При этом мы должны понимать, что создавать каталог доступный для всех пользователей на системном диске не есть хорошо, и поэтому мы создадим такой каталог на специально отведённом для этих целей логическом разделе диска.

    image

    При сохранении данной настройки, если учетная запись, от имени которой на сервере работает служба факсов (по умолчанию это Network Service), не имеет разрешения на доступ к данному каталогу, будет выведено соответствующее предупреждение с предложением изменить существующие разрешения

    image

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

    image

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

    На основании этой папки нужно создать общий сетевой ресурс. Сделаем это командой:

    NET SHARE FAX-Public-Inbox="D:FAX-Public-Inbox" /GRANT:Users,FULL /UNLIMITED /CACHE:None

    Теперь в консоли диспетчера факсов для каждого факс-устройства настроенный метод маршрутизации с сохранением входящих факсов в каталоге нужно задействовать, выполнив над ним операцию Enable:

    image

    Далее желательно настроить каталог месторасположения архива всех отправленных и принятых факсов, так как по умолчанию он расположен на системном томе в папке C:ProgramDataMicrosoftWindows NTMSFax.

    По аналогии с каталогом входящих факсов, на отдельном логическом томе создадим новый каталог, например с именем FAX-Archives и предоставим полный доступ к этому каталогу встроенной учетной записи Network Service, после чего в консоли Microsoft Fax Service Manager в корне дерева откроем глобальные свойства сервера факсов:

    image

    Перейдём на закладку Archives и изменим месторасположение каталога архивов.

    image

    Сразу же на закладке Receipts можно задать настройки почтового сервера для отправки уведомлений о результате отправки факсов, так как мы в дальнейшем планируем использовать эту функцию для всех пользователей:

    image

    Далее перейдём на закладку Accounts и обратим внимание на настройку режима авто-создания учетных записей сервера факсов. Выжимка по этому поводу из документации:

    Чтобы получить доступ к факс-серверу, работающему под управлением Windows Server 2008 или Windows Server 2008 R2, у пользователя должна быть учетная запись. Можно настроить сервер факсов так, чтобы учетная запись автоматически создавалась при первом использовании компонента «Факсы и сканирование» Windows для отправки факса. В этом случае, как только пользователь подключится к факс-серверу, будет создана учетная запись. Для более строгого контроля пользователей, подключающихся к факс-серверу, можно отключить эту настройку. В этом случае придётся вручную создавать учетные записи для всех пользователей, которым нужен доступ к факс-серверу. При этом пользователю не удастся подключиться к серверу, не имея учетной записи. По умолчанию данная настройка включена, поэтому учетные записи факсов для членов группы пользователей NT создаются автоматически при первом подключении к факс-серверу.

    image

    Это все основные шаги, которые приведут наш факс-сервер в боевое работоспособное состояние.


    Подключение клиентов к факс-серверу

    Для начала рассмотрим процедуру ручной настройки на стороне клиентских ПК компоненты «Факсы и сканирование Windows» для получения доступа к функциям нашего факс-сервера.

    В Windows 7 Pro/Ent компонента «Факсы и сканирование Windows» предустановлена по умолчанию. Найти приложение для работы с факсами можно в меню Пуск > Все программы > Факсы и сканирование Windows. В основном меню выберем пункт Сервис > Учетные записи факса

    image

    В открывшемся окне используем кнопку Добавить, чтобы открыть мастер настройки факса.

    image

    Выберем подключение факс-серверу в сети…

    image

    Укажем имя факс-сервера…

    image

    После закрытия мастера добавления в списке принтеров появиться соответствующий факс-принтер, который клиентская ОС будет в дальнейшем использовать для отправки факсов на сервер.

    image

    При необходимости в меню Параметры консоли «Факсы и сканирование Windows» можно задать настройки уведомления о результате отправки факсов на электронную почту пользователя

    image

    На закладке Уведомления нужно включить соответствующие опции и указать адрес электронной почты.

    image

    После этого можно попробовать выполнить отправку факса (кнопка «Создать факс»). В диалоговом окне создания нового факса в поле Кому мы можем указать номер телефона (с учетом выхода с внутренней АТС), вставить любой тест, графические изображения или вложить какие-то файлы. При отправке факса содержимое окна редактирования, затем последовательно содержимое всех вложений будет преобразовано в формат TIF с понижением качества и цветности и передано на сетевой факс-принтер.

    image

    После этого на консоли факсов мы сможем наблюдать изменение статуса устройств, говорящее о том, что идёт попытка отправки нашего факса…

    image

    Несколько иначе дела обстоят с клиентскими ОС Windows Vista и Windows XP, так в этих системах компонента «Факсы и сканирование Windows» по умолчанию не установлена.

    Что касается Windows Vista редакций Business и Enterprise по этому поводу есть даже статья в базе знаний MS: KB931704 - When you try to connect to a remote fax printer on a computer that is running Windows Vista Business or Windows Vista Enterprise, the fax installation fails, and you receive an error

    И для того чтобы включить данную компоненту в Windows Vista нужно перейти в меню Пуск > Панель управления > Программы и компоненты и с правами администратора выбрать пункт «Включение или отключение компонентов Windows»

    image

    Для того чтобы включить данную компоненту в Windows XP нужно перейти в меню Пуск > Настройка > Панель управления > Установка и удаление программ > Установка компонентов Windows и выбрать компоненту «Службы факсов»

    image

    При этом потребуется доступ к дистрибутивному носителю самой ОС. На данном этапе можно избежать лишних запросов системы, если предварительно вы произвели настройку клиентской ОС, например с помощью GPP, как это описано в заметке Windows XP SP3 – настраиваем путь к дистрибутиву через GPP.

    image

    После установки компоненты на Windows XP необходимо подключиться к сетевому факс-принтеру. Сделать это можно просто два раза кликнув мышью по сетевому факс-принтеру в Проводнике Windows в списке сетевых ресурсов нашего факс сервера по UNC имени. При этом автоматически будет запущен Мастер настройки факсов

    image

    После завершения работы Мастера настройки факсов на клиентской системе появится подключение к соответствующему сетевому факс-принтеру и станет доступной Консоль факсов

    image


    Автоматизация настройки клиентов

    Итак, перед нами может встать вопрос автоматизации настройки клиентов таким образом, чтобы не нажимать все эти кнопочки на каждом отдельно взятом клиентском ПК и для каждого отдельно взятого пользовательского профиля.

    Сразу хочу сделать оговорку, что в своём примере я рассмотрю настройку лишь клиентских ПК 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

    image

    Содержимое скрипта FAX-Install.vbs:

    Option Explicit

    Dim objWMI, objItem, colItems

    Dim strComputer, VerBig, OSystem

    Const HKEY_LOCAL_MACHINE = &H80000002

    ' On Error Resume Next

     

    strComputer = "."

    Set objWMI = GetObject("winmgmts:\" & strComputer & "rootcimv2")

    Set colItems = objWMI.ExecQuery("Select * from Win32_OperatingSystem",,48)

     

    For Each objItem in colItems

        VerBig = Left(objItem.Version,3)

    Next

     

    If  VerBig = "5.1" Then

        'Обработка Windows XP

        If RegKeyExists("Fax", "SOFTWAREMicrosoft", HKEY_LOCAL_MACHINE) = false Then

            'Создаем файл параметров для Sysocmgr.exe

            Dim oFSO, sFile, fFile, oShell, sCmd

            Set oFSO = CreateObject("Scripting.FileSystemObject" )

            sFile = "c:faxinstall.txt"

            Set fFile = oFSO.CreateTextFile(sFile, -1, 0)

            fFile.WriteLine "[Components]"

            fFile.WriteLine "Fax=on"

            fFile.Close

            'Запускаем Sysocmgr.exe с файлом параметров

            Set oShell = CreateObject("WScript.Shell" )

            sCmd = "%SystemRoot%System32sysocmgr.exe" _

            & " /i:%SystemRoot%infsysoc.inf /u:c:faxinstall.txt /q"

            oShell.Run sCmd, 0, True

            'Удаляем файл параметров

            oFSO.DeleteFile sFile, True

        End If

    Else If VerBig = "6.0" Then

        'Обработка Windows Vista

    End If

    End If

     

    'Функция проверки наличия куста реестра

    Function RegKeyExists(strKeyName, strKeyPath, regCategory)

        Dim retVal, oReg, arrSubKeys, subkey   

        retVal = false

        strComputer = "."

        Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" &_

        strComputer & "rootdefault:StdRegProv")

        oReg.EnumKey regCategory, strKeyPath, arrSubKeys

        For Each subkey In arrSubKeys

            If strKeyName = subkey Then

                retVal = true

                Exit For

            End If

        Next

        RegKeyExists = retVal

    End Function

     

    WScript.Quit


    Логика скрипта следующая: сначала определяется версия клиентской операционной системы и для каждой версии выполняются какие-либо действия. Если версия ОС говорит нам о том, что это 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

    image

    Содержимое скрипт FAX-User-Settings.vbs:

    Option Explicit

    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")

        Path = WshNetwork.UserName

        Set objSysInfo = CreateObject("ADSystemInfo")

        strUserDN = objSysInfo.UserName

        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"

       

    End If

     

     

    'Функция проверки наличия куста реестра

    Function RegKeyExists(strKeyName, strKeyPath, regCategory)

        Dim strComputer,retVal, oReg, arrSubKeys, subkey   

        retVal = False

        strComputer = "."

        Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" &_

        strComputer & "rootdefault:StdRegProv")

        oReg.EnumKey regCategory, strKeyPath, arrSubKeys

        For Each subkey In arrSubKeys

            If strKeyName = subkey Then

                retVal = True

                Exit For

            End If

        Next

        RegKeyExists = retVal

    End Function

     

    WScript.Quit

    Логика скрипта следующая: сначала делается проверка наличия ветки реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftFax. Если такая ветка обнаружена, - клиентская компонента установлена и поэтому мы производим настройку пользовательских параметров, создавая запись подключения к факс-серверу, настраивая параметры оповещений, извлекая для этого из домена информацию о текущем пользователе. При этом желательно чтобы значение атрибута company доменных пользовательских учетных записей содержал актуальную информацию, так как это значение будет вставляться в заголовок отправляемых факсов. Это может быть особенно актуально в крупных организациях, где один факс-сервер будет обслуживать доменных пользователей, работающих в разных компаниях.

    Этот скрипт будет справедлив для любой клиентской ОС (в том числе и для Windows Vista).

    В этой же пользовательской групповой политике мы можем использовать механизм Group Policy Preferences (GPP) для подключения сетевого факс-принтера. Для этого в оснастке редактирования групповой политики перейдём в раздел User Configuration > Preferences > Control Panel Settings > Printers и выберем действие New > Shared Printer

    image

    В меню Action выберем Update, а в поле Source Path укажем UNC путь к общему факс-принтеру

    image

    На закладке Common включим режим нацеливания Item-level Targeting и нажмём кнопку Targeting для определения условий нацеливания

    image

    В качестве условий укажем то, что подключать данный сетевой факс-принтер мы будем в пользовательской среде только в случае, если пользователь залогинился на клиентском компьютере с ОС Windows 7 или Windows XP, а так же если на компьютере установлены клиентские компоненты службы факсов (как и в ранее приведённом скрипте, ориентируемся на наличие ветки реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftFax).

    image

    Хочу обратить Ваше внимание на то, что настраивать нацеливание для подключаемого факс-принтера обязательно, так как на системах где нет установленных клиентских компонент службы факсов процедура входа в систему пользователей в некоторых случаях может сопровождаться серьёзными временными задержками вплоть до «полной потери сознания»

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

    image

    На этом будем считать, что клиенты настроены.


    На десерт…

    Как отмечалось ранее, для большего удобства работы со службой факсов мы можем предоставить доступ к общей папке входящих факсов через веб-интерфейс локального веб-узла SharePoint 2010. Для этого на доступной всем пользователям станице разместим веб-часть Средство просмотра страниц

    image

    В свойствах веб-части укажем расположение общедоступного сетевого каталога входящих факсов указанного ранее в процессе настройки факс-сервера в формате file://Server/Share

    image

    Под веб-частью просмотра каталога не помешает также поместить объявление, напоминающее пользователям об общедоступности данного каталога:

    image


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

    Дополнительные ссылки, которые могут оказаться полезными:

  • Windows XP SP3 - настраиваем путь к дистрибутиву через GPP

    В некоторых случаях может возникнуть необходимость пакетного добавления каких-либо системных компонент Windows XP на большом количестве клиентских компьютеров. В ходе этого процесса Windows XP может потребовать доступ к дистрибутивному носителю ОС.

    Воспользуемся механизмом Group Policy Preferences для централизованной раздачи таким клиентам сведений о месторасположении дистрибутивных файлов в сети. Информация о пути, использованном для установки ОС и её компонент, Windows XP может хранить в значениях ключей реестра SourcePath и ServicePackSourcePath в ветке HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionSetup.

    Сделаем на файловом сервере каталог общего доступа и перепишем в него содержимое дистрибутивного носителя ОС (понадобится дистрибутив с последним интегрированным пакетом обновлений)

    Откроем редактор доменной групповой политики, распространяемой на наши клиентские компьютеры, в разделе Computer Configuration > Preferences > Windows Settings > Registry и вызовем мастер создания новой записи реестра.

    image

    В мастере выберем подключение к любому клиентскому компьютеру с Windows XP для того чтобы взять с него информацию об интересующих нас ключах реестра

    image

    После нажатия кнопки Finish мастер в виде вложенных папок скопирует структуру контейнеров реестра и добавит два интересующих нас ключа. Откроем свойства этих элементов и установим тип действия (Action) – Update, а в поле значения (Value data) введём сетевой путь к общему каталогу с дистрибутивом ОС для параметра SourcePath:

    clip_image005

    Также указываем аналогичное значение для параметра ServicePackSourcePath (подразумевается, что мы имеем дистрибутив с интегрированным в него пакетом исправлений):

    clip_image006

    Небольшое замечание:
    В ходе использования мастера добавления ключей реестра, я заметил один интересный глюк. Дело в том что, по завершению работы мастер сам заполняет значения полей Hive и Key Path, однако если после создания мастером такого элемента не зайти в его свойства и в ручную не выбрать раздел реестра (Hive), оно останется фактически пустым…

    image

    Это выяснилось после того как на клиентах упорно не хотел обновляться указанный ключ реестра, зато вместо этого создавался подобный ключ в пользовательском разделе реестра, который, как мы понимаем, никакой силы не имеет. После того как я открыл свойства элемента реестра, созданного мастером в GPP и вручную выбрал раздел HKEY_LOCAL_MACHINE… политика заработала так, как мы этого от неё ждали.

    image

    Если данная групповая политика применяется к общей массе клиентских компьютеров, в составе которых есть не только Windows XP, мы можем ограничить применение данной настройки реестра по версии ОС. Для этого откроем свойства корневой папки иерархии папок, сделанной мастером добавления, и на закладке Common включим режим нацеливания Item-level targeting

    image

    По кнопке Targeting добавим новое условие, означающее то, что данная настройка реестра будет применяться только компьютерам с ОС Windows XP

    clip_image012

    Если же по каким-то причинам в вашей организации не используются механизмы Group Policy Preferences, то можно настроить данный параметр и другими способам, например импортом нужной информации в реестр через логон-скрипт из *.reg файла с содержимым примерно следующего содержания:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionSetup]

    "SourcePath"="\\server\Sources\winxp_pro_sp3_x86_ru"

    "ServicePackSourcePath"="\\server\Sources\winxp_pro_sp3_x86_ru"

  • Работа с томами NTFS с помощью Gnome Partition Editor (GParted)

    В процессе подготовки к развёртыванию SP1 на Windows Server 2008 R2 на одном из серверов обнаружилась нехватка свободного места на системном диске. При этом единственный имеющийся диск на этом сервере был разбит таким образом, что после системного тома был сделан том, используемый для работы приложений.

    image

    Используя встроенные средства консоли управления дисками в данной конфигурации, расширить том с ОС не представлялось возможным, так как опция расширения в данном случае попросту недоступна

    image

    В данной ситуации, фактически нам требовалось сместить раздел с данными в конец диска для того, чтобы сделать возможным расширение системного тома с использованием высвободившегося смежного пространства. Для решения такого рода задач конечно существуют коммерческие продукты такие как Acronis Disk Director, но за частую нам нужно решать подобные задачи «здесь и сейчас» не имея при этом лицензий на подобные вещи. В качестве альтернативного метода был выбран продукт Gnome Partition Editor (GParted) свободно распространяемый по лицензии GNU General Public License.

    Получить подробную информацию о функциональных возможностях GParted и загрузить текущую стабильную версию можно с домашней страницы проекта. Здесь можно скачать загрузочный образ диска (в нашем случае это файл gparted-live-0.8.0-1.iso размером около 116 Mb), который при необходимости можно записать на CD с помощью ещё одной довольно качественной свободно распространяемой программы ImgBurn.

    Выполняем загрузку системы с полученного загрузочного диска и при загрузке выбираем параметр по умолчанию GParted Live

    image

    В появившемся меню управления раскладками клавиатуры оставляем значение по умолчанию «Don`t touch keymap»

    image

    На следующем шаге выбора языка раскладки оставляем значение по умолчанию – 33, то есть английскую раскладку клавиатуры:

    image

    Далее выбирая значение 0 (по умолчанию), соглашаемся с тем что загружаемая система автоматически попытается настроить параметры графической среды:

    image

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

    image

    Первым делом, нам нужно выполнить смещение раздела с данными в конец физического диска. Для этого, откроем контекстное меню на разделе с данными и выберем пункт Resize/Move

    image

    В открывшейся диалоговой форме мышью перетащим раздел в конец диска.

    image

    При этом значения свободного места до и после тома должны измениться соответственным образом. Нажимаем ставшую доступной кнопку Resize/Move

    image

    При этом мы получим информационное предупреждение о том, что проведение некоторого рода манипуляций над загрузочными томами может привести к невозможности последующей загрузки ОС и о том, что описание того как в таких случаях поступать для восстановления загрузчика можно найти в разделе FAQ сайта GParted

    image

    Следующим этапом будет расширение системного тома на высвободившееся после предыдущей операции место. Несмотря на то, что эту операцию можно будет выполнить уже и непосредственно штатным методом из Windows, мы попробуем сделать её сразу здесь же.

    image

    В открывшейся диалоговой форма изменения системного тома с помощью мыши растянем том на всё имеющееся в наличии доступное место…

    image

    Таким образом, мы лишь создали последовательность задач, которые мы хотим поручить GParted. Задачи будут последовательно выполняться в том порядке в котором мы их настраивали и как они отображаются в нижней части главного диалогового окна GParted. Для запуска выполнения последовательности задач нажимаем кнопку Apply.

    image

    Нас в последний раз спрашивают о том, не сошли ли мы с ума, и сделали мы резервную копию данных, которые мы можем потерять…

    image

    После нашего утвердительного ответа открывается диалоговое окно, подробно отображающее ход выполнения всех операций…

    image

    После того как все операции успешно выполнены, извлекаем загрузочный диск GParted и загружаемся в ОС на системном томе. В процессе загрузке ОС Windows определит изменение конфигурации логических разделов и автоматически запустит процедуру проверки каждого изменённого тома…

    image

    После успешной проверки (а я очень надеюсь, что у вас она будет успешной :)) мы получаем необходимый нам результат:

    image

    Обратите внимание на то, что данный пример успешной работы GParted описан на продуктивной виртуальной машине развёрнутой на гипервизоре Hyper-V c диском VHD фиксированного размера.

  • Windows Server 2008 R2 – Создание загрузочного USB накопителя

    imageВозникла ситуация, когда пришлось мануально устанавливать ОС Hyper-V Server 2008 R2 на сервер, не имеющий DVD привода. Решил проверить метод, описанный в заметке x(perts)64 Blog - Charlie Russel - HowTo: Make a Bootable USB Disk. Итак, поехали…

    Берём USB накопитель (в моём случае это Kingston DataTravel II 2Gb)…

    image

    В DVD привод устанавливаем загрузочный диск с дистрибутивом Hyper-V Server 2008 R2. Открываем командную строку с правами Администратора и с помощью утилиты DISKPART подготавливаем флэш-накопитель последовательностью команд:

    # Входим в режим работы с утилитой

    DISKPART

     

    # Получаем листинг управляемых дисков

    DISKPART> LIST DISK

     

    # Выбираем флэш накопитель

    DISKPART> SELECT DISK 2

     

    # Производим очистку флэш накопителя

    DISKPART> CLEAN

     

    # Создаем на первичный раздел на всю ёмкость флэш накопителя

    DISKPART> CREATE PARTITION PRIMARY

     

    # Выбираем созданный раздел

    DISKPART> SELECT PARTITION 1

     

    # Делаем выбранный раздел активный

    DISKPART> ACTIVE

     

    # Форматируем активный раздел в формат NTFS

    DISKPART> FORMAT FS=NTFS QUICK

     

    # Назначаем имя диска в системе

    DISKPART> ASSIGN

     

    # Завершаем работу утилиты

    DISKPART> EXIT

    Результат работы утилиты должен выглядеть примерно так:

    image

    После того как флэш накопитель подготовлен, с помощью утилиты BOOTSECT с дистрибутивного диска с ОС производим запись загрузочного сектора в активном разделе накопителя командой:

    D:BOOTBOOTSECT.EXE /nt60 G:

    В этом примере диск D: это DVD диск с дистрибутивом, а G: это USB накопитель.

    image

    Обратите внимание на то, что для 64-битных образов ОС утилита BOOTSECT.EXE должна выполняться в 64-битной среде.

    Далее с помощью утилиты ROBOCOPY копируем всё содержимое дистрибутива ОС с DVD диска на USB накопитель командой:

    ROBOCOPY D: G: /mir

    После завершения процедуры копирования, мы получим готовый к использованию загрузочный USB флэш накопитель:

    image

    В BIOS сервера выставляем загрузку с USB, и если всё сделано правильно, то мы сможем, загрузившись с накопителя, произвести быструю установку ОС. В моём случае полное время установки ОС Hyper-V Server 2008 R2 с учетом перезагрузки сервера заняло 12 минут Улыбка

  • Windows Server 2008 R2 – Добавление скриптов входа на сервере RDS через ключ реестра AppSetup

    imageПри настройке сервера служб Remote Desktop Services (RDS) на Windows Server 2008 R2 c включённым UAC, столкнулся с интересной ситуацией. Стояла такая задача, чтобы при входе в систему для каждого пользователя отрабатывал *.cmd файл, в котором исполнялись бы все необходимые директивы дополнительной настройки пользовательского окружения.

    По старой памяти, запустив редактор реестра от имени Администратора, я открыл ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon и с удивлением обнаружил отсутствие строкового параметра AppSetup (параметр служит для запуска скриптов обеспечения совместимости приложений в многопользовательской среде). Без задней мысли я создал этот параметр, вписал в него имя моего командного файла (USRLOGON_2.CMD), расположенного в папке C:\Windows\System32 и перезагрузил систему. Но к моему удивлению после перезагрузки, при входе пользователей в систему, файл не отрабатывал.

    Читать далее...

  • Расширение размера тома NTFS

    Бывает такая ситуация, когда в ОС Windows требуется выполнить расширение тома NTFS, например есть свободное нераспределенное место на физическом диске и мы хотим "растянуть" имеющийся логический том до большего размера, использовав нераспределенное пространство диска... или другой пример - в виртуальной среде возникает необходимость увеличения выделенного для виртуальной машины диска, в таких случаях мы средствами платформы виртуализации (VMWare ESX, MS Hyper-V и т.п.) увеличиваем размер виртуального жесткого диска.

    Задача заключается в том, что нужно заставить ОС Windows использовать свободное дисковое пространство и, собственно говоря, "растянуть" логический том NTFS до допустимого размера.

    В ОС начиная с Vista/Server2008 эту операцию с легкостью можно проделать в online-режиме (без перезагрузки системы) встроенными средствами ОС - используя административную оснастку "Управление дисками": Выбираем интересующую нас партицию NTFS > Открываем контекстное меню и выбираем нужное действие "Расширить том...". Таким же образом мы с легкостью можем выполнить и обратную операцию - Сжатие тома. На мой взгляд, это очень полезное и удобное нововведение системы управления дисковыми томами в ОС.

    А как же решить данную задачу в системах Windows 2000/XP/Server 2003? В данном случае нам приходит на выручку бесплатная утилита от компании Dell - ExtPart.exe

    Параметры работы утилиты узнаем с помощью ключика /?

    D:ExtPart>extpart.exe /?

    ExtPart - Utility to extend basic disks (Build 1.0.4)
    (c) Dell Computer Corporation 2003

    Usage: extpart [volume size]
    volume  - volume to expand. eg. f:, g: etc. (only basic volumes)
    size    - size in megabytes to expand the volume

    Return codes for script mode
    (If parameters are not specified extpart will run in interactive mode)
    0       - Success
    1       - Parameter error. size parameter is invalid
    2       - Invalid volume or failed to connect to volume
    3       - Invalid volume type or failed to get volume properties
    4       - Requested size is invalid or volume expansion operation failed
    5       - Unable to retrieve volume properties after expansion completed
    6       - Invalid size requested for expansion (minimum value is 8 MB)

    Соответственно, например для того чтобы расширить том D: на 2 Gb будем использовать команду:
    ExtPart.exe D: 2048

    Дополнительная информация:
    Увеличение размера виртуального диска не приводит к автоматическому изменению размера тома
    VMware: Extend the OS disk the easy way (ExtPart.exe)