Признаюсь, уже давно хотел написать статью о RemoteApp для 1С, да все, как и всегда времени «в обрез», а на почту по прежнему приходят письма, с которых можно сделать один вывод, что о RemoteApp, знают по прежнему не многие, а те, что знают, знают мало.
Конечно, данная тема также подымается и на курсе: Администратор 1С!
Собственно так я и решил поступить!
================
И так, что такое это «RemoteApp» (удаленное приложение) ?
Кусок из статьи на сайте Microsoft (Для объективности):
RemoteApp позволяет представлять приложения, доступ к которым может быть получен удаленно через Службы удаленных рабочих столов (RDS), как если бы они были запущены на локальном компьютере пользователя. Эти приложения называются программы RemoteApp. Вместо представления на рабочем столе сервера. Узел сеансов удаленных рабочих столов программа RemoteApp интегрируется с рабочим столом клиента и программа RemoteApp запускается в собственном окне, размеры которого можно менять, может перемещаться между несколькими мониторами, а также имеет собственный значок на панели задач. Если пользователь запускает несколько программ RemoteApp на одном сервере Узел сеансов удаленных рабочих столов, эти программы RemoteApp совместно используют один сеанс Службы удаленных рабочих столов (RDS).
RemoteApp на Windows 2012 без домена
А простыми словами пользователь работает в 1С, так словно 1с-ка выполняется на его ПК.
Если подробно, то на самом деле1С работает удаленно на нашем сервере, и он (наш сервер) передает пользователю лишь картинку происходящего у него. При этом передается картинка только самого приложения, ничего лишнего! И с этой картинкой пользователь взаимодействует думая, что это программа.
Одним словом «Дым и зеркала» )
Отсюда и такое впечатление у пользователя, как будто бы 1С Предприятие действительно работает у него на ПК.
Отличия видно лишь по ярлыку, в том числе и на панели задач (если свернуть приложение), и если передвигать окно программы по экрану, можно заметить небольшое мерцание картинки.
«RemoteApp» слово не новое, еще на windows server 2008 R2 можно было публиковать удаленные приложения, но тогда все было «сыровато», и лишь с выходом windows server 2012 «RemoteApp» можно использовать для работы в 1С.
О старом добром «сервере терминалов» знают многие, официальное название «Terminal Services» или «TS».
Но на смену этой технологии пришла новая – RDS (Remote Desktop Services) именно эту технологию сейчас активно продвигает компания Microsoft и на ней мы будем публиковать наши «RemoteApp».
Конечно, ели разворачивать «RemoteApp» на основе сеансов, тогда здесь многое будет вам знакомо, так как все базируется на старом протоколе RDP,для подключения клиента используется уже давно известный нам клиент mstsc, и как и прежде все работает в сеансах которые как и на «Сервере терминалов» создают и работают пользователи.
Тюнинг, советы, ошибки, администрирование RemoteApp
Администрирование происходит аналогично, как и на «TS», да и лицензируется аналогично, вот только лицензии уже называются не «Windows Terminal Services» а «Windows Remote Desktop Services CAL».
Многих пользователей сбивают, столку эти нововведения, (особенно «старая школа») собственно попытаюсь в этой статье рассказать подробно, как и о RDS, так и о RemoteApp, на котором это работает, постараюсь все разложить, как говорится «по полочкам».
Что же такое RDS?
RDS позволяет нам централизованно управлять ресурсами, контролировано предоставлять приложения и данные для пользователей.
В RDS есть две возможных реализации.
1 – технология на базе сессий. Когда пользователь подключается к данному серверу, открывает удаленный рабочий стол и заходит под своей сессией, под своим пользователем.
2 – технология на базе виртуальных рабочих столов, то есть по технологии VDI.
Собственно (Удаленные приложения) «RemoteApp» мы будем разворачивать на основе сеансов, по первому типу. Его реализовать проще, и подходит он большинству.
Также стоит отметить, что реализация второго типа на базе VDI имеет свои преимущества.
При использовании VDI – каждый пользователь работает на своей виртуальной машине.
И если, например, случилась какая-то беда у пользователя на его вирт. машине то пострадает лишь его виртуальное пространство. А если это случится на сервере «на основе сеансов» по первому типу, тогда могут пострадать все пользователи, чьи сеансы там находятся, да и все программы, данные на этом сервере.
Из чего состоит RDS
RDS строится на базе нескольких ролей, настройку которых можно осуществлять как на разных серверах, так и в приделах одного сервера.
Основные роли RDS
1. Посредник подключения к удаленному рабочему столу. Он занимается подключением клиентского устройства к удаленным приложениям «RemoteApp», а также рабочим столам на базе сеансов, либо к виртуальным рабочим столам, зависит от того на базе какой технологии мы RDS построили.
2. Роль, которая обеспечивает веб-доступ к удаленным рабочим столам. Ее задача – предоставление ресурсов через веб-браузер.
3. Узел сеансов удаленных рабочих столов – данная роль позволяет размещать на сервере удаленные приложения, или основанные на сеансах рабочие столы.
4. Узел виртуализации удаленных рабочих столов. На данном узле, это у нас сервер Hyper-V, на котором у нас разворачиваются все виртуальные машины, доступ к которым получат все пользователи, что использую технологию VDI.
5. Шлюз удаленных рабочих столов, это посредник между клиентами из внешней сети и коллекции сеансов во внутренней сети и приложений. Шлюз – это безопасность, сервис у нас абсолютно безопасный. И благодаря тому, что RDS в 2012 и 2012R2 становится более гибким, проработаны абсолютно все недочеты, которые были раньше. Сейчас этот сервис легко реализуем для огромных, масштабных проектов, для больших корпораций. Раньше возникали некоторые вопросы.
Так что же нового ?
Обновленная работа с технологией RomoteFX, то есть в RDS сервере 2012, 2012R2, 2016 обновлена работа с графикой. У нас оптимизирована потоковая передача данных, кроме того осуществляется поддержка DirectX 11. Кому этот аспект важен — это все уже работает. Как мы знаем именно эти вещи были негативными отзывами по предыдущим версиям системы.
Благодаря использованию RDS получаем единую точку входа. Пользователь залогинился к нам в домен, и получает доступ ко всем нашим ресурсам. В RDS реализовано перенаправление USB, причем USB как на устройстве, на котором мы осуществляем сессию, так и к серверу.
Как мы знаем, Windows сервер 2012, 2012R2, 2016 прекрасно работает с протоколом SMB 3.0. RDS сервера точно так же это коснулось, и мы можем осуществлять хранение дисков для хранения данных пользователей на протоколах SMB и RGCDSun. Кроме того, так как эта технология реализована в server 2012, 2012R2, 2016 данный сервис легко управляем. То есть в менеджере у нас есть закладка, мы с вами рассматривали когда-то, благодаря которой, управление сервером RDS становится интуитивно понятным, впрочем, как и все инструменты, реализованные в Windows Server 2012-2016.
Что нужно для реализации RDS?
1. Windows server 2012 – 2016 Standard или Datacenter.
2. Лицензии Call для пользователей, + лицензии RDS + лицензия Windows serv.
3. Статический IP + внешний статический, если требуется удаленный доступ.
4. Обязательно Active Directory.
Из необязательного:
5. SSL сертификат.
6. Доменное имя 2-3 уровня.
7. CA – Certification authority.
Преимущества «RemoteApp» над обычным «Сервером терминалов» :
Читать далее.
Зарегистрируйтесь, чтоб продолжить чтение статьи
Зарегистрироваться / Войти
Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>
Присоединяетесь к нашей группе телеграмм: Здесь вы получите ценную помощь от умного бота «Коли» (ChatGPT) + знания сотен ее участников.
Похожие записи
Источник: kuharbogdan.com
Доступ к приложениям в окне через RemoteAPP
Итак всем привет и хорошего дня, сегодня я покажу на практике, как сделать следующее:
Задача: на терминальном сервере активировать службу RemoteAPP и опубликовать приложение клиента 1С на подключение к развернутому кластеру 1C.
На сервер установлен гипервизор ESXi, а уже внутри него под каждую задачу развернуты виртуальные системы:
- Имеется доменnemdomb.local
- Имеется развернутый терминальный сервер
- Имеется сервер базы данных и кластер1с (все на одной машине, то лучше разделять по отдельным системам
- и отдельная рабочая станция.
Но пока как заготовка, терминальный сервер я разверну на сервере базы данных и кластере 1С (все на одной машине).
На терминальном сервере рекомендую пользовательский профили вынести на отдельный диск вместо системного:
Для чего нужен RemoteAPP – это технология расширения функционала терминального сервера посредством которой можно вместо того, чтоб каждому пользователю настраивать удаленное подключение где он будет работать с приложениями (Почта, 1С, печать и другими) сделать так чтобы у него на компьютере был вынесен ярлык через который запускается удаленная сессия с запуском опубликованного приложения.
К примеру: у меня сейчас два офиса, в одном (он же главный) располагается кластер 1с + база и терминальный сервер и вместо того, чтобы пользователи через удаленный рабочий стол заходили на терминальный сервер из другого офиса (это каждому нужно настраивать профиль: вывести ярлыки программ, организовать печать, обеспечить интернетом (а по соображениями безопасности я этого сделать не могу, просто так надо) у них на своих рабочих компьютерах настроен ярлык на запуск только опубликованного приложения. В рамках этой заметки я покажу на практике как это выглядит.
Создаю приложение которое будет опубликовано с использованием RemoteAPP на терминальном сервере:
Start – Control Panel – Administrative Tools – Server Manager – Roles – Remote Desktop Services – RemoteApp Manager (srv-host.nemdomb.local) – запускаю мастер: Add RemoteApp Programs, нажимаю Next, следующим шагом показывается какие текущие установленные приложения на терминальном сервере могут выступить в роли опубликованных через RemoteAPP, выбираю самое первое 1С Предприятие через нажатием на кнопку Properties можно:
- переименовать добавляемое приложение
- Изменить путь запуска до исполняемого файла
- Изменить алиас
- Настроить запуск клиента 1С с опциями запуска (к примеру подключение к опеределенной базе под определенным пользователем и паролем: /ENTERPRISE /S “1cclusterbase” /N “test” /P “test” — Здесь подключение к кластеру с именем 1ccluster, base – название базы, testtest – пользователь и пароль в этой базе)
Я же в рамках этой заметки не буду настраивать ничего в свойствах, а просто выбираю приложение: —
Нажимаю на кнопку Next и перехожу к этапу мастера где отображается результирующая информация по настройкам публикуемого приложения, если все правильно и ничего не нужно изменять нажимаю Finish
Следующим шагом нужно экспортировать RemoteAPP созданное приложение с целью распространить на компьютеры пользователям которые будут с ним работать , делает это так, выделяется приложение и через правый клик на нем вызываются свойства.
Следующим шагом также выводится результирующая информация – если все хорошо то нажимаем кнопку Finish и откроется explorer местонахождения экспортированного файла опубликованного приложения 1С, если открыть свойства данного rdp файла, то можно обнаружить что в настройки подключения к терминальному сервере уже автоматически подставляются аутентификационные данные текущей сессии на компьютере:
Теперь копирую данный файл: 1cv8s.rdp на рабочую станцию с которой пользователь alektest будет взаимодействовать клиентом 1С Предприятие.
На заметку: чтобы передать файл простым копирование через проводник:
\w7x86с$ на рабочей станции в настройках брандмауера должны быть включены входящие правила:
- Общий доступ к файлам и принтерам (входящий трафик SMB ) – Профиль (Домен).
- Общий доступ к файлам и принтерам (эхо-запрос – входящий трафик ICMPv4) – Профиль (Домен)
На заметку: пользователи которые задействуют RemoteAPP приложения на терминальном сервере должны быть в группе Remote Desktop Users
Запускаю на рабочей станции Windows 7 (W7X86) переданный файл предварительно авторизовавшись в системе под учетной записью alektest
На следующем шаге ввожу пароль на авторизацию на терминальном сервере: (Практичнее будет использовать SSO, т.е. авторизация на терминальном сервере с использование доменной учетной записи, а на терминальном сервере в группу “Пользователи удаленного рабочего стола” (Remote Desktop Users) добавить группу “Пользователи домена”).
На заметку: если задействовать SSO то вводить ничего не придется, будет задействована доменная аутентификация без какого либо ввода пароля.
Ожидаю… Идет подключение к приложению
Видите, раз в приложении когда я его подготавливал для RemoteAPP я не указал базу и сервер, то первый раз когда пользователь подключается у него запускается информационное окно, что список информационных баз пуст и нужно настроить:
Нажимаю “Да” — после выбираю: “Добавление в список существующей информационной базы” —
- Укажите наименование информационной базы: zup
- Выберите тип расположения информационной базы: На сервере 1С:Предприятия
Затем на следующем шаге указываю параметры информационной базы:
- Кластер серверов 1С:Предприятия:10.7.8.63
- Имя информационной базы в кластере: zup
Затем на следующем шаге все выбранное мастеров оставляю по дефолту
На этом установка клиента 1С на подключение завершена.
В итоге будет так:
Подключаюсь к данной базе zup нажатием на 1С:Предприятие и происходит подключение к базе путем ввода логина и пароля выданного Администратором 1С (хотя может и Вы можете совмещать две должности вместе: системный администратор + администратор 1С).
И вот вы внутри:
Работа с клиентом 1С на рабочем столе ничем особым не отличается если бы пользователь работал на терминальном сервере, те же самые окна, чтобы распечатать документы задействуется технология EasyPrint когда принтер с рабочей станции пробросится на терминальный сервер, и пользователь выбрав документ – печать также увидит и выбрав его распечатает.
Ниже скриншот демонстрирует, открытое окно клиента 1С и “Диспетчер задач” во вкладке “Процессы” которого присутствует подключение к терминальному серверу через (mstsc.exe).
Чтобы задейстовать технологию EasyPrint и не ставить драйвера на терминальный сервер к рабочим станциям в домене предъявляются следующие требования:
Версия RDP клиента должна быть 6.1 или выше, посмотреть c:windowssystem32mstsc.exe открыть свойства и посмотреть версию
Либо через командную строку
C:Usersaollo>wmic datafile where name=’c:\windows\system32\mstsc.exe’ get version
Version
6.1.7601.17514
Должен быть установлен .NET Framework 3.5 и выше, посмотреть что установлено в системе, так.: Открыть командную строку (c правами Администратора) и набрать следующую команду:
wmic product where «name like ‘Microsoft .NET Framework%'» get name,version
На заметку: когда пользователь закрывает 1С нажатием на крестик (или Файл — Выход), то его сессия на терминальном сервере не закрывается, а все еще находится в состоянии подключения
он может снова подключиться, но теперь введя пароль не забыть поставить галочку “Запомнить учетные данные” чтобы больше не видеть данное окно.
Если же по каким бы то ни было причинам, пароль был введен и сохранен, а в последствии пользователь его изменил (обычно по централизованной политике раз в 3 месяца), то он не сможет подключиться, т.к. пароль запомнен изменить его можно вот так:
На рабочей станции пользователя: Windows 7 – Пуск – Панель управления – Диспетчер учетных записей, находим сохраненное подключение
Нажимаем “Изменить” — и меняем пароль поле которого выделено на представленном скриншоте ниже:
Согласитесь, не хорошо, что когда клиент 1с закрыт, сессия на терминальном сервере все еще висит, в таком случае на терминальном сервере настраиваются промежутки ограничения простоя и неактивности терминального соединения:
Если сессия не активно в течении одного дня – она завершается, если в статусе Disconnected то через 15 минут она закрывается.
Если же экспортировать приложение RemoteAPP не в rdp файл, а в msi пакет, то
- либо также передаем через проводник данный файл
- либо через подготавливаем групповую политику:
GPO_RemoteAPP — Configuration — Policies — Software Settings — Software Installation — и путь в расшаренной папке до msi пакета RemoteAPP
После перезагрузки рабочей станции на рабочем столе пользователя будет ярлык 1С
Если ранее уже через rdp файл было настроено подключение к базе, то когда через GPO произвели установку msi пакета настройки подключения в клиенте 1С уже присутствуют:
У меня было что политика применилась к компьютеру, но msi все равно не устанавливалась, в логах на компьютере Windows 7 были следующие ошибки:
- Event ID: 303 → Удаление назначения приложения 1C Предприятие из политики GPO_RemoteAPP выполнено успешно.
- Event ID: 108 → Не удалось применить изменения для параметров установки приложения. Невозможно выполнить изменения для этого программного обеспечения. Должны существовать предшествующие записи в журнале, содержащие необходимые сведения. Ошибка: %%1612
- Event ID: 1085 → Windows не удалось применить параметры «Software Installation«. Параметры «Software Installation» могут иметь свой собственный файл журнала. Щелкните ссылку «Дополнительные сведения«.
Проблема была в месте откуда в момент создать групповой политики я указывал месторасположением msi файла, у компьютера не было прав доступа в данный каталог. Права на каталог месторасположения msi файла должны быть, чтобы у группы “Прошедшие проверку” были права на чтение (Чтение и выполнение, Список содержимого папки, Чтение) и только тогда msi успешно отработает.
В итоге данная заметка шпаргалка готова и подлежит публикации на моем блоге практических заметок. Всего того, что пригодится в течении рабочего дня и самостоятельного изучения, повышения свой квалификации. Итого подведу итог практических действий:
- Развернут терминальный сервер
- Профиля будущих пользователей вынесены на отдельный логический диск.
- Посредством компоненты RemoteAPP и установленного ПО на сервере собранные пакеты задействующие технологию RemoteAPP для использования ПО, как будто оно установлена на рабочих местах пользователей, а все на самом деле не так, они работают в терминале. Таким образом достигается меньшая нагрузка на сеть.
- Чтобы запускать на рабочих станциях опубликованное приложение RemoteAPP, можно раз ввести аутентификационные данные на подключение к терминальному сервере или задействовать SSO.
- Также посредством GPO можно msi файл опубликованного приложения установить всем тем сотрудникам которые работают в программе 1С.
- На терминальном сервере можно централизованно по каждому профилю раскидать файл конфигурации на подключение к кластеру 1С и соответствующей базе. Об этом будет одна из следующих заметок.
Ну а пока я прощаюсь, я и так довольно много всего рассмотрел и не зачем еще более увеличивать данную заметку. Лучше много мелких и по теме, чем все сразу. До новых встреч, с уважением автор блога – ekzorchik.
Источник: www.ekzorchik.ru