remoteapp
в 2012 R2 без домена — начну с главного: всё нормально и быстро настраивается. Опубликовать remoteapp
в 2012 R2 без домена не получится, но это и не нужно.
При обновлении 2008 R2 до 2012 R2 на этапе проверки совместимости, установка попросила удалить роль Удаленных рабочих столов. Удивился. Ладно.. После обновления стало понятно, Microsoft в очередной раз перехитрила саму себя: теперь нормально работать с RDP можно лишь в составе домена.
Зачем.. Если у меня сервер 1С на 5 бухгалтеров, зачем мне роль AD DS? Думаю я не одинок в этом вопросе. Почитал в интернете, решение есть! Кто-то ставил роль контроллера домена, в виртуалке поднимал ещё один сервер, вводил в домен и на нём уже удаленные рабочие столы. Всё проще. Солюшенов несколько, решил собрать воедино.
Сервер
Установка роли
Службы удаленных рабочих столов (Remote Desktop Services), Далее, отмечаем чекбоксы: Лицензирование удаленных рабочих столов (Remote Desktop Licensing), Узел сеансов удаленных рабочих столов (Remote Desktop Session Host)
, со всем соглашаемся, установка, перезагрузка.
В Диспетчере серверов, в пункте меню Средства, появилась закладка Terminal Services (или Remote Desktop Services для 2016).
Настройка параметров RDP
Настройка всех параметров RDP теперь в групповых политиках. Отдельной графической оснастки, как было раньше, нет:
Win+R - gpedit.msc - Конфигурация компьютера (Computer Configuration)
;Административные шаблоны (Administrative Templates) -
;
Компоненты Windows (Windows Components)Службы удаленных рабочих столов (Remote Desktop Services) -
.
Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) - Лицензирование (Licensing)
Редактируем два параметра:
Использовать указанные серверы лицензирования удаленных рабочих столов (Use the specified Remote Desktop license servers)
— включено — указываем имя сервера;Задать режим лицензирования удаленных рабочих столов (Set the Remote licensing mode)
— включено — на пользователя.
В соседних ветках настраиваются все параметры подключения клиентов.
Далее: Диспетчер серверов - Службы удалённых рабочих столов (Terminal Services) - правой кнопкой на сервере - Диспетчер лицензирования удаленных рабочих столов (Remote Desktop Licensing Manager) - Активировать сервер
. Сведения об организации: обязательно нужно заполнить первую страницу, вторую можно оставить пустой.
После активации запускается Мастер установки лицензий:
- Выбираем
Enterprise Agreement
— Далее (бессмысленный набор цифр ищем в интернете, ищется легко, буквально вторая/третья ссылка) — вводим номер — Далее — выбираем число лицензий и тип на пользователя. ЗаходимДиспетчер серверов - Все серверы - правой кнопкой на сервере - Средство диагностики лицензирования удалённых рабочих столов
, проверяем, что нет ошибок.
Создаем файл RDP
На примере 1С предприятия: открываем блокнот и помещаем туда следующую информацию, заменяя имя_сервера на действительное имя сервера или IP:
redirectclipboard:i:1 redirectposdevices:i:0 redirectprinters:i:1 redirectcomports:i:1 redirectsmartcards:i:1 devicestoredirect:s:* drivestoredirect:s:* redirectdrives:i:1 session bpp:i:32 prompt for credentials on client:i:1 span monitors:i:1 use multimon:i:1 remoteapplicationmode:i:1 server port:i:3389 allow font smoothing:i:1 promptcredentialonce:i:1 authentication level:i:2 gatewayusagemethod:i:2 gatewayprofileusagemethod:i:0 gatewaycredentialssource:i:0 full address:s:имя_сервера alternate shell:s:||1cestart remoteapplicationprogram:s:||1cestart gatewayhostname:s: remoteapplicationname:s:1C Предприятие remoteapplicationcmdline:s:
Сохраняем файл, меняем расширение на .rdp
, раздаём пользователям.
Реестр
Главный шаг, от которого будет зависеть заработает или нет. Правим реестр на сервере через блокнот:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart] "CommandLineSetting"=dword:00000000 "RequiredCommandLine"="" "Name"="1C Предприятие" "Path"="C:Program Files (x86)1cv8common1cestart.exe" "ShortPath"="C:PROGRA~21cv8common1cestart.exe" "ShowInTSWA"=dword:00000001 "SecurityDescriptor"=""
Проверяем правильность путей, сохраняем с раcширением .reg
, закидываем в реестр. Проверяем. Если не работает, смотрим ветку 1cestart
. Значения из reg-файла должны перенестись. И на всякий пожарный ветку TSAppAllowList
там же, у меня это:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowList] "LicenseServers"=hex(7):00,00 "CertificateIssuedBy"="" "LicensingType"=dword:00000005 "fHasCertificate"=dword:00000000 "CertificateExpiresOn"="0" "CentralLicensing"=dword:00000000 "fDisabledAllowList"=dword:00000000 "CertificateIssuedTo"="" "CustomRDPSettings"="authentication level:i:2"
Возможные проблемы
Когда недавно делал по своей же инструкции, то получил сообщение, что приложения 1С нет в списке разрешенных.
Или вот такое ещё может быть:
Посмотрел на сервере ветку 1cestart
:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart
Она пустая. При копировании текста с сайта могут неправильно переноситься кавычки, ещё что-то. Поэтому нужно подправить/проверить вручную.
Path
— для 1С 8.3 будет1cv8common1cestart.exe
, для 1С 8.21cv82common1cestart.exe
ShortPath
то же самое.
Подключение через интернет
В файлике rdp вместо имя_сервера, можно использовать IP-адрес (или даже IP-адрес с портом через двоеточие, или же указать порт в соответствующей строке). Это позволяет подключать клиентов через интернет и NAT:
- Пробросить на роутере рандомный внешний порт на внутренний 3389 сервера;
- Вбить в файлик внешний реальник офиса с портом.
Конструкцию с RD Gateway считаю излишней. Тем более если делается с пробросом 443 порта на внутренний ресурс, тем более что RD Gateway требует установки роли Web Server, то есть потребляет ресурсы. Чем проще, тем надежнее. После настройки роли RDP и проверки работоспособности смело можно удалить даже фичи для администрирования RDP, они больше не нужны.
Клиенты
Клиенты MAC
Добавляем клиентов MAC OS X:
- Обновляем встроенный в MAC OS X RDP-клиент от MS на последнюю версию;
- Отключаем проверку подлинности.
Если режим remoteapp
не нужен, то на этом всё. Если нужен, берём файл rdp, созданный по описанию выше для Windows, меняем имя_сервера на IP-адрес, закидываем на мак и всё работает.
Клиенты Windows XP
Добавляем клиентов Windows XP:
- SP3 должен быть установлен;
- Включаем проверку подлинности на уровне сети (NLA). Тут обновляем RDP-клиент, потом включаем NLA. Сначала КB969084, ребут, потом FixIt. Скачать.
Клиенты Android
Наверное последнее, что нужно сказать по этой теме, для Андроида тоже есть RD Client от MS. Функционирует он штатно и нормально. Приложение бесплатное, загружается через Play Market. Как и для Mac’а файл rdp, закинутый на Андроид, запустится с помощью этого приложения, но логин и пароль при этом сохранить невозможно, а нужно вводить каждый раз.
Связана такая ситуация, с тем, что в новых версиях RDP учетные данные не сохраняются в самом файле rdp, а хранятся в отдельной базе данных. На компьютере эти данные можно посмотреть в Панель управленияУчетные записи пользователейДиспетчер учетных данных
, либо Выполнить: control userpasswords2
, что тоже самое.
Где искать в Андроиде? Не знаю, да и не очень интересно, так как remoteapp
для телефонов и планшетов больше блажь, чем реальная потребность. Обычная RDP-сессия работает? — Работает. Этого достаточно.
Три способа повысить защиту RDP
- Уровень безопасности SSL;
- Уровень шифрования FIPS-совместимый;
- Подключения принимаются только от клиентов с NLA.
Траблшутинг
Залипания
Если возникают на 1 клиентском компьютере, нужно проверить сам компьютер и такие вещи как драйвера на видеокарту, количество свободных ресурсов, потому как залипание может происходить в моменты, когда жесткий диск свопит изо всех сил и даже мышку. Была курьёзная ситуация (несвязанная с данной проблемой), что при нажатии на кнопку мыши щелчок есть, а фактически нажатия нет, поменяли мышку, всё работает.
Если же залипание массовое и с ресурсами сервера всё в порядке, то проблема 90% сетевая. В 2012 R2 для RDP используется как TCP, так и UDP или только TCP. Нужно проверить, что UDP используется. Статья в помощь. Сайт MS. Таже нужно просмотреть политики.
Область применения
Статейка написана давно, более чем 2 года назад, тогда Windows Server 2012 R2 был ещё относительно свежим и хотелось разобраться как же это всё настроить. Был накидан рабочий черновик, вот эта заметка и ни на какую полноту она не претендует. С тех пор поднято несколько серверов в данном режиме, которые работают так по сей день.
Тема исчерпана, но вопросы идут и некоторые люди не понимают нишу использования remoteapp
, зачем такой режим, почему именно для 1C, какой тут смысл и в чём заключается выигрыш. Вещи-то очевидные, но раз так, то надо сказать пару слов.
remoteapp не панацея
В общем и целом remoteapp
решение нищебродское, если уж по честному. Плюсом есть очень толстые минусы как RDP, так и remoteapp
:
- Каждый раз когда пользователь хочет сохранить файл, ему открываются диски удалённой машины. Есть варианты, но это неудобно в работе;
- Далеко не все пользователи продвинутые и с компьютером «на ты», многие очень тяжело воспринимают
remoteapp
, они путаются где какой диск, сложно и затратно по времени растолковать им данный режим работы; - Для запуска
remoteapp
нужно время, так как на сервере должен загрузиться пользовательский сеанс; - При закрытии приложения сеанс отключается и нужно ждать его завершения (минимум 1 минута), если в сеансе открыт конкретный фал, он будет блокирован на запись. Можно разрешить множественные сеансы для пользователя или можно убрать ограничения для отключенного сеанса, тогда возникают другие проблемы;
- В зависимости от версии Windows Server могут возникать различные глюки, связанные с временными задержками (не помню точно в какой версии сервера, но загружается сеанс и его нельзя завершить ~30 секунд сразу после загрузки, было такое);
- Каждое запущенное приложение — отдельный сеанс и отдельная нагрузка на сервер;
- Сам сервер и лицензии для RDP стоят приличных денег, этот вопрос всплывёт рано или поздно.
Может что-то даже упустил из виду, хотя и так немало. Поэтому использовать remoteapp
нужно тогда, когда это действительно необходимо.
Примечание. Очень хороший пример когда не нужно использовать remoteapp
— Word и Excel.
Зачем 1С remoteapp?
Схема применения 1С может варьироваться в очень широких пределах от локальной однопользовательской базы до сотен пользователей и кластера серверов. Возьмем классический вариант: многопользовательская база на 5-15 пользователей. Работа с такой базой, даже на 5 человек, генерирует большой сетевой трафик и сама база требует серьёзной вычислительной мощности. Вот отсюда и два варианта применения remoteapp
для 1С:
- Если чистый файловый вариант базы и как раз 5-6 человек, потому как больше такая схема не потянет, тогда весь обсчёт на клиентах — для того чтобы перенести обсчёт с клиентов на сервер. Это позволяет увеличить число клиентов и одновременно значительно повысить скорость работы без внедрения СУБД;
- Удаленная работа через медленные либо лимитные каналы связи как в файловом варианте, так и в клиент-серверном — передавать изображение намного выгоднее по объёму трафика, чем трафик 1С.
remoteapp vs классический RDP
Обычно в случае 1С база на сервере, а вот документы для работы на локальном компьютере. Всё время сворачивать и разворачивать окно RDP неудобно, remoteapp
тут гораздо комфортнее.
Исключения
- Если все клиентские машины достаточно мощные (Core i3 и выше), баз мало (1-2-3), базы файловые, сеть локальная гигабитная, пользователей не больше, скажем, 5 и работа с базой не слишком интенсивная, тут даже сервер не нужен. Подойдёт любой компьютер с гигабитной сетевой картой и быстрым диском. Важный момент, что все машины мощные, так как 1 слабый компьютер станет узким местом и скорость работы будет равняться по нему;
- При удалённой работе есть альтернатива
remoteapp
— веб публикация 1С. У каждого из этих решений свои плюсы и минусы; - Используется СУБД и тонкие/веб клиенты. Тогда ничего не надо, стандартные корпоративные каналы достаточно широкие сейчас чтобы переварить такой трафик. Открыть для 1С
TCP 1540, 1541, 1560-1591
на FW и вперёд.
Почему 2012 R2
C чистой 2012 без R2 встретиться в работе не удалось и ничего про неё не скажу. Но если сравнивать 2008 R2 и 2012 R2, то последняя имеет значительно перелопаченный код, как следствие быстрее работает на том же самом железе, а сетевой стек до 30% быстрее.
Поддержка самого железа, особенно различных RAID-контроллеров, тоже лучше. И если на 2008 R2 драйвер при установке нужно подпихивать, то в 2012 R2 он скорее всего уже встроен, сталкивался несколько раз. Поддержка RDP 8.1.
Windows Server 2016 уже тоже в продакшене, имеет ряд преимуществ над 2012 R2, но для новых плюшек, таких как вложенная виртуализация, требует современного железа. По этой причине 2012 R2 более универсален.
Windows 2016
Эта статья получила довольно таки широкое распространение. Чего там говорить, вот да.. И как-то однажды, давно, где-то там на форуме, уже не вспомню каком, читал человек пишет: ставил по этой статье с этого сайта (с моего, отсюда) и на 2016 не работает. Дальше обсуждение на n-страниц. Как всегда. Ну не работает и не работает, мож даже и к лучшему. 🙂 Но тут меня недавно (22.04.2021) спросили конкретно здесь, в комментариях: почему не работает с 2016?
Что делать.. заставляете тряхнуть стариной. Уже не ставил этих серверных виндовс пару лет, 1С ещё дольше. Почти всё подзабыл, так что сильно не ругайте, если что-то не то скажу. Итак, нашёл образ, установил в виртуальную машину VMware, поставил все обновы:
Получилось так:
Дальше стал проверять по тексту. И всё в общем-то то же самое. Один в один. Если есть какие-то изменения, то минимум. Почему же не работает? Не знаю, должно работать. И кроме этого всё должно настроится точно по тексту без каких-либо ошибок.
Какие тут были ещё замечания
Первое. Служба Сервера 1C Предприятие не хотела стартовать от текущего пользователя при установке дистрибутива. Пришлось выбрать Создать нового пользователя и всё успешно запустилось. Второе. Сам дистрибутив 1С 8.3.17.1549 и он чисто x64. То есть ставится в папку C:Program Files
, а не в папку C:Program Files (x86)
. Соответственно в reg-файлике нужно сделать изменения:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart] "CommandLineSetting"=dword:00000000 "RequiredCommandLine"="" "Name"="1C Предприятие" "Path"="C:Program Files1cv8common1cestart.exe" "ShortPath"="C:PROGRA~11cv8common1cestart.exe" "ShowInTSWA"=dword:00000001 "SecurityDescriptor"=""
И как уже говорил нужно контролировать что там добавилось в реестр. И добавилось ли вообще. Ветка TSAppAllowList
:
Ветка 1cestart:
В rdp-файлике прописывал не имя сервера, а IP. Потому что мой компьютер не знает какое там имя у виртуальной машины. Прописывать в файл hosts
мне было лень.
Запускаю файлик с домашнего компа и вуа-ля:
Другой дистрибутив
Может образ какой-то не тот? Хорошо, скачиваю оценочный образ с Microsoft.
14393.0.161119-1705.RS1_REFRESH_SERVER_EVAL_X64FRE_RU-RU.ISO
Опять мега долго ставлю обновления.
Версия после обновлений та же самая, что логично.
Скачиваю платформу 1С, версия 8.3.17.1549, но уже x86+x64. Сначала ставлю x86. Проверяю, не работает. Ищу где ошибка. При экспорте reg-файла не создаются ключи Path
и ShortPath
. Вообще никак. Добавляю руками (смотри картинку выше). Работает.
Теперь x64. Прям в реестре правлю параметры Path
и ShortPath
. Накатываю дистрибутив прям поверх x86. Проверяю, работает.
Так что в случае проблем припоминай не было ли каких-то варнингов, ошибок, проверяй всё по второму кругу. Должно работать.
Вы еще не знакомы с Windows Server 2012? Мне вот уже «посчастливилось» настраивать на нем терминальный сервер. Честно говоря, совершенно не понятно зачем было пихать новый ленточный интерфейс в сервер — логика Microsoft последнее время не поддается объяснению.
Но это не самое страшное. Отныне, для установки роли терминального сервера необходимо поднимать домен. Вот такого сюрприза я не ожидал… домен мне не нужен в принципе. Настройка домена занимает не много времени, но зачем плодить сущности там, где они не нужны.
Однако всё оказалось решаемо, пусть и с некоторыми дополнительными действиями, о которых узнал c technet.microsoft.com.
Настраиваем роль терминального сервера на WinServer 2012 без поднятия домена
Принципиальных отличий в установке Windows Server 2012 от Windows Server 2008 R2 нет, потому этот этап пропустим. Замечу, что операционная система прекрасно ставится с флешки, на которую был записан образ (давно уже не использую CD/DVD — медленно и нудно). Перейдем непосредственно к установке роли RDS на сервере.
Для этого запустим Диспетчер серверов (Server Manager), и перейдем в поле Локальный сервер (Local Server)
Далее запускаем мастер добавления ролей и компонентов, где выбираем тип установки Установка ролей или компонентов (Role-based or feature-based installation)
Производить установку всех компонент роли RDS можно сразу, но на Technet, для лучшего понимания процесса, советуют разделить этот процесс на два этапа. Последуем этому совету и мы.
Первой установим компоненту Лицензирование удаленных рабочих столов (Remote Desktop Licensing)
После завершения процесса, запускаем Диспетчер лицензирования удаленных рабочих столов (RD Licensing Manager), в котором активируем наш сервер лицензий и устанавливаем пакет терминальных лицензий (например: Windows Server 2012 — RDS Per User CAL, 5 шт.).
Никаких новшеств здесь нет, а потому описывать подробно данный процесс не стану (возможно раскрою тему в одной из будущих статей — жду ваших предложений и комментариев).
Весь процесс активации и установки пакета лицензий на себя берет мастер, наша задача правильно выбрать программу лицензирования, тип лицензий, количество и т.д.
Вторым этапом устанавливаем компоненту Узел сеансов удаленных рабочих столов (Remote Desktop Session Host).
После установки этой компоненты у нас появится Средство диагностики лицензирования удаленных рабочих столов (RD Licensing Diagnoser), которое сообщит нам ошибку об отсутствии сервера, раздающего терминальные лицензии (скриншота с ошибкой к сожалению не сделал, приведен уже работающий вариант сервера).
Стоит заметить, что в оснастке отсутствуют инструменты управления, которые были в Windows Server 2008 R2, т.е. возможности добавления сервера лицензий нет.
Настраиваем локальные политики для серверов находящихся в рабочей группе
Осталось самое интересное. Исправить данную ситуация не сложно — достаточно настроить всего две локальные политики. В строке терминала пишем gpedit.msc и изменяем соответствующие ключи.
Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовЛицензирование — Использовать указанные серверы лицензирования удаленных рабочих столов (добавляем имя нашего сервера)
Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовЛицензирование — Задать режим лицензирования удаленных рабочих столов (выбираем тип лицензий)
Англоязычный вариант:
Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostLicensing — Use the specified Remote Desktop license servers (добавляем имя нашего сервера)
Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostLicensing — Set the Remote licensing mode (выбираем тип лицензий)
Установка компоненты — Remote Desktop Web Access
Если, в качестве клиента требуется использовать браузер, устанавливаем дополнительную компоненту Remote Desktop Web Access. Тутвообще все просто, нужно лишь разрешить мастеру добавить то, что он хочет, в частности IIS. После окончания установки, на клиентской машине в браузере сервер должен ответить и показать страницу Remote Web Access.
Обратиться к серверу терминалов через браузер можно по адресу https://ip/rdweb
Подписывайтесь на канал
Яндекс.Дзен
и узнавайте первыми о новых материалах, опубликованных на сайте.
Привет, в Windows Server 2012, Microsoft сделали ограничение на использование терминального сервера, если он не введен в домен Active Directory. В частности, я столкнулся с тем, что из консоли управления сервером нельзя настроить RemoteAPP. Но к счастью, приложения можно добавить в ручную, ниже я покажу как это можно сделать.
Само собой, для работы RemoteApp у вас должен быть установлен терминальный сервер, если кто не в курсе, если сервер не в домене, устанавливается он через добавление ролей, а не через установку служб удаленных рабочих столов. Выбираются службы удаленных рабочих столов, в них выбираются лицензирование удаленных рабочих столов и узел сеансов удаленных рабочих столов.
Я покажу как сделать задуманное, на примере 1С, думаю понятно, что по этой схеме можно добавить любое приложение RemoteApp.
Для упрощения процесса, я создал архив с готовыми файлами rdp и reg, скачать можно отсюда.
Ниже описание этих файлов.
Создадим, или откроем из архива .rdp файл подключения.
Содержимое его, должно иметь такой вид:
redirectclipboard:i:1
redirectposdevices:i:0
redirectprinters:i:1
redirectcomports:i:1
redirectsmartcards:i:1
devicestoredirect:s:*
drivestoredirect:s:*
redirectdrives:i:1
session bpp:i:32
prompt for credentials on client:i:1
span monitors:i:1
use multimon:i:1
remoteapplicationmode:i:1
server port:i:3389
full address:s:192.168.1.112
alternate shell:s:||1cestart
remoteapplicationprogram:s:||1cestart
remoteapplicationname:s:1C Предприятие
allow font smoothing:i:1
promptcredentialonce:i:1
authentication level:i:2
gatewayusagemethod:i:2
gatewayprofileusagemethod:i:0
gatewaycredentialssource:i:0
gatewayhostname:s:
remoteapplicationcmdline:s:
screen mode id:i:2
winposstr:s:0,3,0,0,800,600
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
autoreconnection enabled:i:1
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationicon:s:
shell working directory:s:
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:
Вам нужно изменить строчки, на ваши порт и адрес:
server port:i:3389
full address:s:192.168.1.112
А так же, в случае, если добавляете не 1С, то эти то же:
alternate shell:s:||1cestart
remoteapplicationprogram:s:||1cestart
remoteapplicationname:s:1C Предприятие
Сохраните файл, и попробуйте подключиться, если файл создан правильно, то должна будет выскочить ошибка, что приложение RemoteApp отсутсвует в списке разрешенных программ.
Дальше добавим наше приложение в список разрешенных, для этого нужно будет отредактировать реестр. Я сделал дамп ветки которую нужно добавить для 1С 8.2. В архиве, файл называется 1cestart.reg
Его содержимое:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart]
«RequiredCommandLine»=»»
«Name»=»1C Предприятие»
«SecurityDescriptor»=»»
«CommandLineSettings»=dword:00000000
«IconIndex»=dword:00000000
«Path»=»C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe»
«ShortPath»=»C:\\PROGRA~2\\1cv8\\common\\1cestart.exe»
«ShowInTSWA»=dword:00000001
«IconPath»=»%SystemRoot%\Installer\{D4895455-7B12-4E0B-B5F0-EFF6B9C3F93E}\ShortCut_EnterprSt_41216A7DC6764F558CBAC68BC28BD550.exe»
Если вы будете заносить эти параметры вручную, то нужно в путях изменить \\ на \.
Как не трудно догадаться, в нем нужно изменить пути до вашего приложения, в следующих строках:
«IconPath»=»%SystemRoot%\Installer\{D4895455-7B12-4E0B-B5F0-EFF6B9C3F93E}\ShortCut_EnterprSt_41216A7DC6764F558CBAC68BC28BD550.exe»
«Path»=»C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe»
«ShortPath»=»C:\\PROGRA~2\\1cv8\\common\\1cestart.exe»
И его имя в строке:
«Name»=»1C Предприятие»
А также ветку реестра, то есть если вы пробрасываете, например, калькулятор, то и ветка должна быть, не Applications1cestart, а Applicationscalc, и не забудьте, проверить, чтобы параметры названия приложения, в файле .rdp, соответствовали названию этой ветки.
Попробуйте подключиться снова, у меня RemoteApp после вышеописанных действий заработал.
Если же у вас что не заработало, проверьте ветку реестра, создалась ли она вообще, и правильные ли в ней пути прописаны, если в ней все верно на 100%, то попробуйте запустить файл termital.reg из архива.
Его содержимое, если кто захочет добавлять руками:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowList]
«LicenseServers»=hex(7):00,00
«CertificateIssuedBy»=»»
«LicensingType»=dword:00000005
«fHasCertificate»=dword:00000000
«CertificateExpiresOn»=»»
«CentralLicensing»=dword:00000000
«fDisabledAllowList»=dword:00000000
«CertificateIssuedTo»=»»
«CustomRDPSettings»=»authentication level:i:2»
Обожаю короткие, простые и понятные инструкции. Ващему вниманию инструкция по настройке терминального сервера в случае, если вы захотели его и лицензирование настроить без домена, который требуется в «обычной» установке. Наслажждаемся:
- Диспетчер серверов — Добавление ролей и функций — На основе ролей — Роли сервера — Службы удаленных рабочих столов — выберите Узел сеанса удаленных рабочих столов и Службы ролей лицензирования удаленных рабочих столов — завершаем мастер. Перезапуск (reboot)
- Откройте файл gpedit.msc. Установите режим лицензирования в соответствии с типом приобретенных у вас лицензий RDS и укажите полное доменное имя вашего сервера лицензирования удаленных рабочих столов (чаще для таких конфигураций — localhost).
раскрываем:
Конфигурация компьютера Административные шаблоны Компоненты Windows Службы удаленного рабочего стола Хост сеанса удаленного рабочего стола Лицензирование- Используйте указанные включенные серверы лицензирования удаленных рабочих столов
- Включите режим лицензирования удаленного рабочего стола (на устройство/пользователя)
- Откройте Диспетчер лицензирования удаленных рабочих столов (licmgr.exe ). Активируйте сервер, затем установите приобретенные RDS CALS
ВСЕ!
Смотрите также:
Join @AdmNtsRu on Telegram
Начну с главного: всё нормально и быстро настраивается. Опубликовать remoteapp в 2012 R2 без домена не получится, но это и не нужно. При обновлении 2008 R2 до 2012 R2 на этапе проверки совместимости, установка попросила удалить роль Удаленных рабочих столов. Удивился. Ладно.. После обновления стало понятно – Microsoft в очередной раз перехитрила саму себя: теперь нормально работать с RDP можно лишь в составе домена. Зачем.. Если у меня сервер 1С на 5 бухгалтеров, зачем мне роль AD DS? Думаю я не одинок в этом вопросе. Почитал в интернете – решение есть! Кто-то ставил роль контроллера домена, в виртуалке поднимал ещё один сервер, вводил в домен и на нём уже удаленные рабочие столы. Всё проще. Солюшенов несколько, решил собрать воедино.
Сервер
Установка роли
Службы удаленных рабочих столов (Remote Desktop Services), Далее, отмечаем чекбоксы: Лицензирование удаленных рабочих столов (Remote Desktop Licensing), Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) – со всем соглашаемся, установка, перезагрузка.
В Диспетчере серверов, в пункте меню Средства, появилась закладка – Terminal Services.
Настройка параметров RDP
Настройка всех параметров RDP теперь в групповых политиках. Отдельной графической оснастки, как было раньше, нет:
- Win+R – gpedit.msc – Конфигурация компьютера (Computer Configuration);
- Административные шаблоны (Administrative Templates) –
Компоненты Windows (Windows Components); - Службы удаленных рабочих столов (Remote Desktop Services) –
Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) –
Лицензирование (Licensing).
Редактируем два параметра:
- Использовать указанные серверы лицензирования удаленных рабочих столов (Use the specified Remote Desktop license servers) – включено – указываем имя сервера;
- Задать режим лицензирования удаленных рабочих столов (Set the Remote licensing mode) – включено – на пользователя.
В соседних ветках настраиваются все параметры подключения клиентов. Далее:
Диспетчер серверов – Локальный сервер – Terminal Services – Диспетчер лицензирования удаленных рабочих столов (Remote Desktop Licensing Manager) – Активировать сервер. Сведения об организации: обязательно нужно заполнить первую страницу, вторую можно оставить пустой.
После активации запускается Мастер установки лицензий:
- Выбираем Enterprise Agreement – Далее (бессмысленный набор цифр ищем в интернете, ищется легко, буквально вторая/третья ссылка) – вводим номер – Далее – выбираем число лицензий и тип На пользователя.
- Заходим Диспетчер серверов – Локальный сервер – Terminal Services – Средство диагностики, проверяем, что нет ошибок.
Создаем файл RDP
На примере 1С предприятия: открываем блокнот и помещаем туда следующую информацию, заменяя имя_сервера на действительное имя сервера:
redirectclipboard:i:1
redirectposdevices:i:0
redirectprinters:i:1
redirectcomports:i:1
redirectsmartcards:i:1
devicestoredirect:s:*
drivestoredirect:s:*
redirectdrives:i:1
session bpp:i:32
prompt for credentials on client:i:1
span monitors:i:1
use multimon:i:1
remoteapplicationmode:i:1
server port:i:3389
allow font smoothing:i:1
promptcredentialonce:i:1
authentication level:i:2
gatewayusagemethod:i:2
gatewayprofileusagemethod:i:0
gatewaycredentialssource:i:0
full address:s:имя_сервера
alternate shell:s:||1cestart
remoteapplicationprogram:s:||1cestart
gatewayhostname:s:
remoteapplicationname:s:1C Предприятие
remoteapplicationcmdline:s:
Сохраняем файл, меняем расширение на rdp, раздаём пользователям.
Реестр
Правим реестр на сервере через блокнот:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart] "CommandLineSetting"=dword:00000000
"RequiredCommandLine"=""
"IconIndex"=dword:00000000 "IconPath"="%SYSTEMDRIVE%\Windows\Installer\{80897B76-D827-4270-808C-C8FCD379475D}\ShortCut_ThinStarter.exe"
"Name"="1C Предприятие"
"Path"="C:\Program Files (x86)\1cv8\common\1cestart.exe" "ShortPath"="C:\PROGRA~2\1cv8\common\1cestart.exe" "ShowInTSWA"=dword:00000001
"SecurityDescriptor"=""
Проверяем правильность путей и ключа для иконки, сохраняем с раcширением reg, закидываем в реестр. Проверяем. Если не работает, смотрим ветку TSAppAllowList, у меня это:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowList] "LicenseServers"=hex(7):00,00
"CertificateIssuedBy"="" "LicensingType"=dword:00000005 "fHasCertificate"=dword:00000000 "CertificateExpiresOn"="0" "CentralLicensing"=dword:00000000 "fDisabledAllowList"=dword:00000000 "CertificateIssuedTo"="" "CustomRDPSettings"="authentication level:i:2"
Возможные проблемы
Когда недавно делал по своей же инструкции, то получил сообщение, что приложения 1С нет в списке разрешенных, посмотрел на сервере ветку:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications1cestart
– она пустая. При копировании текста с сайта могут неправильно переноситься кавычки, поэтому после копирования все кавычки нужно подправить/проверить в блокноте вручную. И ещё раз проверить пути:
- Путь для иконки IconPath точно будет другой, нужно найти у себя в WindowsInstaller правильный путь и заменить мою комбинацию 80897B76-D827-4270-808C-C8FCD379475D на свою
- Path – для 1С 8.3 будет 1cv8\common\1cestart.exe, для 1С 8.2 1cv82\common\1cestart.exe
- ShortPath – тоже самое
Подключение через интернет
В файлике rdpвместо имя_сервера, можно использовать IP-адрес (или даже IP-адрес с портом через двоеточие). Это позволяет подключать клиентов через интернет и NAT:
- Пробросить на роутере рандомный внешний порт на внутренний 3389 сервера;
- Вбить в файлик rdpвнешний реальник офиса с портом.
Конструкцию с RD Gateway считаю излишней, тем более если делается с пробросом 443 порта на внутренний ресурс, тем более что RD Gateway требует установки роли Web Server, то есть потребляет ресурсы – чем проще, тем надежнее. После настройки роли RDP и проверки работоспособности смело можно удалить даже фичи для администрирования RDP – они больше не нужны.
В данной статье я приведу подробную пошаговую инструкцию по установке сервера терминалов (англ. terminal server), или по другому, службы удаленных рабочих столов в Windows Server 2012. В принципе, последовательность действий не сильно отличается от установки сервера терминалов в Windows Server 2008 R2, однако есть ряд значимых отличий. Итак:
Оглавление
- Что понадобится
- Установка службы удаленных рабочих столов
- Определение сервера лицензирования для службы удаленных рабочих столов
- Установка лицензий на сервер лицензирования службы удаленных рабочих столов
- Подключение к серверу терминалов
1. Что понадобится
- Компьютер (сервер) с установленной на нем Windows Server 2012 (об установки этой ОС, я писал здесь) и права администратора на данном сервере.
- Действительная клиентская лицензия сервера терминалов, приобретенная по одной из существующих программ лицензирования. (В данной статье я буду использовать найденный в интернете номер соглашения, по программе Enterprise Agriment. На момент написания статьи рабочими были номера: 6565792, 5296992, 3325596, 4965437, 4526017.)
- Доступ к сети Internet для активации сервера лицензирования и установки лицензий (возможна также активация и по телефону).
2. Установка службы удаленных рабочих столов
Запускаем Диспетчер серверов. Его можно запустить с ярлыка на панели задач, или же выполнив команду servermanager.exe (Для этого необходимо нажать комбинацию клавиш Win + R, в появившемся окне в поле «Открыть» (Open) написать имя команды и нажать «ОК» ).
В меню, в верхнем правом углу, выбираем «Управление» (Manage) — «Добавить роли и компоненты» (Add Roles and Features) .
Запустится «Мастер добавления ролей и компонентов» (Add Roles and Features Wizard). Нажимаем «Далее» (Next) на начальной странице.
Оставляем переключатель на «Установка ролей и компонентов» (Role-based or features-based installation) и снова жмем «Далее» (Next) .
Выбираем тот сервер из пула серверов, на который будет установлена служба терминалов. В моем примере это данный локальный сервер. Нажимаем «Далее» (Next) .
Отмечаем роль «Службы удаленных рабочих столов» (Remote Desktop Services) в списке ролей и жмем «Далее» (Next) .
Компоненты оставляем в том виде, в котором они есть. Ничего не отмечая жмем «Далее» (Next) .
Читаем описание службы удаленных рабочих столов и нажимаем «Далее» (Next) .
Теперь необходимо выбрать устанавливаемые службы ролей. Как минимум нам пригодится «Лицензирование удаленных рабочих столов» (Remote Desktop Licensing) (также соглашаемся на установку дополнительных компонент нажав на «Добавить компоненты» (Add Features) в появившемся мастере)
и «Узел сеансов удаленных рабочих столов» (Remote Desktop Session Host) (опять соглашаемся на установку дополнительных компонент нажав на «Добавить компоненты» (Add Features) в открывшемся окне). Отметив необходимы службы ролей, нажимаем «Далее» (Next) .
Все параметры установки роли определены. На последней странице установим флаг «Автоматический перезапуск конечного сервера, если требуется» (Restart the destination server automatically if required) , подтвердим выбор нажав «Да» (Yes) в появившемся окне и нажмем «Установить» (Install) для запуска установки службы.
Если все прошло хорошо, после перезагрузки, увидим сообщение об успешной установке всех выбранных служб и компонент. Нажимаем «Закрыть» (Close) для завершения работы мастера.
3. Определение сервера лицензирования для службы удаленных рабочих столов
Теперь запустим «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) . Сделать это можно из диспетчера серверов, выбрав в правом верхнем меню «Средства» (Tools) — «Terminal Services» — «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) .
Здесь мы видим, что доступных лицензий пока нет, т. к. не задан режим лицензирования для сервера узла сеансов удаленных рабочих столов.
Сервер лицензирования указывается теперь в локальных групповых политиках. Для запуска редактора выполним команду gpedit.msc.
Откроется редактор локальной групповой политики. В дереве слева раскроем вкладки:
- «Конфигурация компьютера» (Computer Configuration)
- «Административные шаблоны» (Administrative Templates)
- «Компоненты Windows» (Windows Components)
- «Службы удаленных рабочих столов» (Remote Desktop Services)
- «Узел сеансов удаленных рабочих столов» (Remote Desktop Session Host)
- «Лицензирование» (Licensing)
- «Узел сеансов удаленных рабочих столов» (Remote Desktop Session Host)
- «Службы удаленных рабочих столов» (Remote Desktop Services)
- «Компоненты Windows» (Windows Components)
- «Административные шаблоны» (Administrative Templates)
Откроем параметры «Использовать указанные серверы лицензирования удаленных рабочих столов» (Use the specified Remote Desktop license servers) , кликнув 2 раза по соответствующей строке.
В окне редактирования параметров политики, переставим переключатель в «Включено» (Enabled) . Затем необходимо определить сервер лицензирования для службы удаленных рабочих столов. В моем примере сервер лицензирования находится на этом же физическом сервере. Указываем сетевое имя или IP-адрес сервера лицензий и нажимаем «ОК» .
Далее меняем параметры политики «Задать режим лицензирования удаленных рабочих столов» (Set the Remote licensing mode) . Также устанавливаем переключатель в «Включено» (Enabled) и указываем режим лицензирования для сервера узла сеансов удаленных рабочих столов. Возможны 2 варианта:
- «На пользователя» (Per User)
- «На устройство» (Per Device)
Для того, чтобы разобраться чем отличаются эти режимы, рассмотрим простой пример. Предположим, у Вас есть 5 лицензий. При режиме «На устройство» вы можете создать неограниченное число пользователей на сервере, которые смогут подключаться через удаленный рабочий стол только с 5 компьютеров, на которых установлены эти лицензии. Если выбрать режим «На пользователя», то зайти на сервер смогут только 5 выбранных пользователей, независимо с какого устройства они подключаются.
Выбираем тот режим, который наиболее подходит для ваших нужд и нажимаем «ОК» .
Изменив вышеперечисленные политики, закрываем редактор.
Возвращаемся в оснастку «Средство диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) и видим новую ошибку, указывающую на то, что сервер лицензирования указан, но не включен.
Для запуска сервера лицензирования переходим в «Диспетчер лицензирования удаленных рабочих столов» (RD Licensing Manager) . Найти его можно в диспетчере серверов, вкладка «Средства» (Tools) — «Terminal Services» — «Диспетчер лицензирования удаленных рабочих столов» (Remote Desktop Licensing Manager) .
Здесь найдем наш сервер лицензирования, со статусом «Не активирован» (Not Activated) . Для активации кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Активировать сервер» (Activate Server) .
Запустится Мастер активации сервера. Жмем «Далее» (Next) на первой странице мастера.
Затем выбираем метод подключения («Авто» (Automatic connection) по умолчанию) и жмем «Далее» (Next) .
Вводим сведения об организации (эти поля обязательны для заполнения) после чего жмем «Далее» (Next) .
Вводим дополнительные сведения об организации (необязательно) и снова нажимаем «Далее» (Next) .
Сервер лицензирования активирован. Теперь следует установить лицензии. Для этого нажимаем «Далее» (Next) оставив включенным флаг «Запустить мастер установки лицензий» .
4. Установка лицензий на сервер лицензирования службы удаленных рабочих столов
Нажимаем «Далее» (Next) на начальной странице Мастера установки лицензий.
Затем выбираем необходимую вам программу лицензирования. В моем примере это «Соглашение «Enterprise Agreement«» . Жмем «Далее» (Next) .
Вводим номер соглашения и нажимаем «Далее» (Next) .
Указываем версию продукта, тип лицензии и количество лицензий в соответствии с вашей программой лицензирования. Жмем «Далее» (Next) .
Ну и дожидаемся завершения работы мастера установки лицензий с сообщением о том, что запрошенные лицензии успешно установлены.
В диспетчере лицензирования убеждаемся, что сервер работает, а также видим общее и доступное число установленных лицензий.
Ну и наконец возвращаемся в «Средства диагностики лицензирования удаленных рабочих столов» (RD Licensing Diagnoser) и видим, что ошибок нет, а число лицензий, доступных клиентам, соответствует тому, что мы вводили на предыдущем шаге.
На этом установка сервера терминалов в Windows Server 2012 завершена.
5. Подключение к серверу терминалов
Для подключения к серверу терминалов можно использовать встроенный в Windows клиент «Подключение к удаленному рабочему столу».