Произошла внутренняя ошибка при rdp подключении

Публикация приложения remoteapp на в ферме серверов rds (windows server 2012) на примере консультантплюс

Вот так называются три компонента входящие в состав DFSS

хочу отметить, что в отличии от диспетчера системных ресурсов, вы не обнаружите для Dynamic Fair Share Scheduling оснасток и графических консолей, которые вам бы помогли что-то настроить. Тут работает полная автоматика, которая сама все делает и у вас есть только два варианта, включить или выключить компонент

  • CPU Fair Share — Динамически распределяет процессорное время между пользовательскими сессиями. Тут будет учитываться их количество и интенсивность использования.
  • Network Fair Share — Динамически распределяет полосу пропускания сетевого интерфейса между пользовательскими сессиями. Советую использовать совместно с Qos.
  • Disk Fair Share — данная функция защищает ваши диски от очень интенсивного использования одним пользователем, позволяет равномерно балансировать дисковые операции между всеми.

Проблема: один из пользователей потребляет 90% и более CPU

Опишу реальный случай с которым вы обязательно столкнетесь, если у вас в компании используются терминальные столы. И так есть RDS ферма построенная на базе Windows Server 2012 R2 до Windows Server 2019. На каждом из RDSH хостов могут одновременно работать свыше 30 пользователей. В среднем они суммарно не потребляют более 30% процессорных мощностей, но когда приходит период отчетности некоторые пользователи начинают нагружать сервера куда интенсивнее. Очень часто можно встретить, что пользователь работающий с Excel, 1С и похожими программами начинает потреблять 80-90% процессорных мощностей, в результате чего начинают страдать остальные пользователи этого RDSH хоста.

Ранее для решения это проблемы в Windows Server 2008 R2 был замечательный компонент диспетчер системных ресурсов (Windows System Resource Manager), но Microsoft его посчитала устаревшим и выпилила из состава компонентов, аж с Windows Server 2012 R2 и выше. Но не думайте, что доблестные разработчики не подумали чем вам восполнить этот пробел, они придумали и включили в состав Windows Server компонент «Динамическое планирование долевого распределения» или как в оригинале «Dynamic Fair Share Scheduling (DFSS)».

Коротко об основном

В Windows 10 вместе с стандартным клиентом удаленного стола (MSTSC), появился новый клиент для осуществления удаленных подключений Remote Desktop (MSRDC) client, проинсталлировать который можно из магазина Microsoft Windows 10.

Отметим, что изначально MSRDC поддерживал удаленные подключения с Windows Virtual Desktop (VDI). На данный момент существуют клиенты для Windows Desktop, Android, iOS, macOS.

Можно сравнить два типа клиентов для удаленных подключений – MSTSC и MSRDC.

Тестирование проводилось на виртуальных машинах с Windows Server 2019 и Windows 10.

В качестве теста копировался файл с клиента на сервер. По итогу тестирования имеем такие результаты – копирование с помощью MSTSC:

Для сравнения – скриншоты процесса копирования файла с помощью MSRDC:

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

Настройка списка RemoteApp

Итак начнем настраивать RemoteApp в Windows Server 2008 R2. Открываем пуск-Администрирование-Службы удаленных рабочих столов-Диспетчер удаленных приложений RemoteApp.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-01

Откроется оснастка «Диспетчер удаленных приложений RemoteApp». В правом верхнем углу жмем «Добавить удаленные приложения RemoteApp».

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-02

Откроется мастер добавления приложения. Жмем далее.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-03

Выбираем из списка приложение, у меня это будет Ccleaner. Хочу отметить, что в данном списке будут присутствовать только программы, которые доступны всем пользователям, то что установлено в локальный профиль конкретно пользователя тут не появится и если даже принудительно, это добавить работать не будет.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-04

Готово.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-05

Теперь в пункте Удаленные приложения RemoteApp появилась программа Ccealner.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-07

Теперь распространим наше приложение.

Распространить RemoteApp через RPD-файл.

Щелкаем правым кликом и выбираем создать RDP-файл.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-08

Откроется мастер в нем жмем далее.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-09

При желании вы можете задать альтернативное место создания пакета, указать сертификат если нужно.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-10

Готово.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-11

В итоге в c:\Program Files\Packeged Programs у вас появился RDP файл.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-12

Отдаем этот файлик клиенты, он его запускает. Нажимает подключить.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-14

Вводит, логин и пароль

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-15

и у него открывается Ccleaner на сервере, но визуально он его видит как у себя, это полезно если есть ПО с одной лицензией а раздать его хочется многим.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-16

Распространить RemoteApp через MSI-файл.

Тоже щелкаете правым кликом и выбираете Создать пакет установщика Windows.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-17

В мастере жмем далее.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-18

При желании вы можете задать альтернативное место создания пакета, указать сертификат если нужно.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-19

Ставим галки где должен быть создан ярлык на ПО.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-20

Готово.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-21

Все в c:\Program Files\Packeged Programs у вас появился MSI файл

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-22

Устанавливаем его на клиенте или через групповые политики. Щелкаем на ярлык на рабочем столе и нажимаем подключить.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-23

и наша программа запущена на удаленном сервере.

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-24

Вы можете обратить внимание, что при установки через msi у вас в программы и компоненты появилась возможность деинсталляции это программы, а если заметите рядом стоит локальная ее копия

Как установить и настроить RemoteApp в Windows Server 2008 R2-2 часть-25

Вот так легко настраивается RemotApp через RDp-файл или MSI. Читайте далее как настроить, тоже самое но через Web браузер в 3 части статьи Как установить и настроить RemoteApp в Windows Server 2008 R2-3 часть.

Материал сайта pyatilistnik.org

Завершение сеансов непосредственно из программы

Большинство стандартных продуктов фирмы 1С восьмой версии имеют в своем наборе механизм, позволяющий без особого труда удаленно завершить работу пользователя, и обеспечить администратору монопольный доступ к базе. Это обработка «Блокировка соединений с информационной базой».

Найти ее можно по одному из двух адресов:

  1. В одном из подменю раздела «Сервис»;
  2. Зайдя в раздел Операции->Обработки.

Рис.2

Внешний вид обработки представлен на Рис.2.

Особенности данной обработки:

  1. Установка и снятие флажка, и нажатие кнопки «Записать» включает и выключает блокировку пользователей, удаляя сеансы и препятствуя созданию новых подключений;
  2. Время окончания блокировки не может быть пустым или меньше времени её начала;
  3. В случае, когда задан параметр «Код разрешения», его можно прописать в строку запуска, для игнорирования блокировки, перед кодом указав «/UC»;
  4. Если «Код разрешения» не указать, то до истечения срока блокировки попасть в базу будет проблематично (в файловом варианте работы можно попробовать из папки базы удалить файл 1CVcdn);
  5. Если вместо параметра «/UС» и пароля через пробел указать «/CРазрешитьРаботуПользователей», где С – латинская, можно полностью отключить блокировку для всех пользователей;
  6. Нажатие кнопки «Активные пользователи, вызывает окно с полным списком пользователей (рис.3), откуда можно открыть «Журнал регистрации» или завершить сеанс каждого конкретного пользователя.

Рис.3

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

Медленно работают RemoteApp и отрисовываются меню в Windows 10

При обновлении билда Windows 10 пользователи могут столкнуться с проблемами при работе с RemoteApp приложения, опубликованными на RDS серверах Windows Server 2019/2016/2012К2. RemoteApp могут начать работать заметно медленнее, любое действие, которое вызывается щелчком мыши выполняется (отрисовывается?) в 2-3 раза дольше. Особенно медленно отображаются контекстные меню в приложениях RemoteApp (пункты меню мерцают, приходится нажимать на них по несколько раз, иногда совсем не появляются). Такие проблемы массово встречали при обновлении билда Windows 10 на клиентах до 1803 и 20H2.

При этом проблемы не проявляются в окне обычного подключения к RDS серверу с помощью клиента Mstsc или RDCMan.

Для временного решения проблемы можно попробовать в редакторе локальной GPO (gpedit.msc) на RDS серверах изменить значение параметра Use advanced RemoteFX graphics for RemoteApp (Использовать дополнительную графику для удаленного приложения RemoteApp) на Disabled (раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment, в русской редакции Windows путь такой: Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удалённых рабочих столов -> Среда удаленных сеансов).

Если в качестве RemoteAPP опубликованы графические программы (например, из семейств CAD), то без Remote FX они работать не будут.

Также есть обходное решение, которое заключается в замене версии клиента RDP на более старую. Т.к. проблемы с производительностью Remoteapp встречались еще в Windows 10 1709, лучше всего использовать библиотеки RDP из 1607 или 1703.Дело в том, что после апгрейда билда Windows 10 в системе устанавливается новая версия клиента RDP, которая на данный момент работает некорректно с опубликованными через RemoteApp приложениями.Если заменить файлы mstsc.exe и mstscax.dll в каталоге C:WindowsSystem32 на версии файлов из предыдущего билда Windows 10 (1703 или 1607), проблема с производительностью RemoteApp исчезает.

Как заменить файлы клиента RDP в Windows 10:

  1. Закройте все RDP подключения и запущенные RemoteApp (лучше даже перезагрузить компьютер);
  2. Скачайте архив с версиями файлов mstsc.exe и mstscax.dll из Windows 10 1607 (ссылка на скачивание с Я.Диска mstsc-w10-1607.zip);
  3. Скопируйте оригинальные файлы mstsc.exe и mstscax.dll из каталога C:windowssystem32 в каталог C:Backup с помощью команд:
  4. Затем нужно назначить свою учетную запись владельцем файлов mstsc.exe и mstscax.dll в каталоге C:windowssystem32, отключите наследование и предоставьте себе права на изменение файлов:
    (в этом примере имя локальной учтённой записи с правами администратора – root. Замените ее на имя вашей учетной записи).
  5. Замените файлы в каталоге C:windowssystem32 файлами из скачанного архива;
  6. Восстановите оригинальные разрешения на заменённых файлах. Включите наследование NTFS разрешений и установите владельцем файлов NT ServiceTrustedInstaller:
  7. Осталось перерегистрировать библиотеку:

Создание пакета установщика windows(msi)

С помощью мастера RemoteApp можно создать пакет установщика Microsoft Windows (.msi) из любого приложения в списке Удаленные приложения RemoteApp.

Минимальным требованием для выполнения этой процедуры является членство в локальной группе Администраторы (или эквивалентной ей группе) на сервере узла сеансов удаленных рабочих столов.

Чтобы создать пакет установщика Windows

  1. Откройте диспетчер удаленных приложений RemoteApp на сервере узла сеансов удаленных рабочих столов. Для этого нажмите кнопку Пуск, откройте меню Администрирование, затем выберите пункты Службы удаленных рабочих столов и Диспетчер удаленных приложений RemoteApp.
  2. В списке Приложения RemoteApp выберите программу, для которой необходимо создать пакет установщика Windows. Чтобы выбрать несколько программ, нажмите и удерживайте нажатой клавишу CTRL при выборе программ.
  3. В области Действия для программы или выбранных программ щелкните Создание пакета установщика Windows.
  4. На странице Мастер удаленных приложений (RemoteApp) нажмите кнопку Далее.
  5. На странице Задание параметров пакета выполните следующие действия:

         5.1. В поле Введите расположение для сохранения пакетов примите расположение по умолчанию или нажмите кнопку Обзор, чтобы указать новое расположение для сохранения пакета установщика Windows.

         5.2. В разделе Параметры хост-сервера сеансов удаленных рабочих столов нажмите кнопку Изменить, чтобы изменить имя сервера или номер порта протокола удаленного рабочего стола (RDP). По завершении нажмите кнопку ОК.

5.3. В области Параметры шлюза удаленных рабочих столов нажмите кнопку Изменить, чтобы изменить текущую настройку или задать, будут ли клиенты использовать сервер Шлюз удаленного рабочего стола для подключения к целевому серверу Узел сеансов удаленных рабочих столов через брандмауэр. По завершении нажмите кнопку ОК.

       5.4. Для того, чтобы подписать файл цифровой подписью, в области Параметры сертификата нажмите кнопку Сменить, чтобы выбрать или изменить сертификат. Выберите нужный сертификат и нажмите кнопку ОК.

     6. По завершении нажмите кнопку Далее.

     7. На странице Настройка пакета распространения выполните следующие действия:

           7.1. В области Значки ярлыков укажите, где будет располагаться ярлык программы на клиентских компьютерах.

           7.2. В области Обрабатывать расширения файлов клиента укажите, будет ли данная программа обрабатывать расширения имен файлов клиентов.

Если сопоставить расширения имен файлов на клиентском компьютере с Удаленное приложение RemoteApp, все расширения имен файлов, обрабатываемые приложением на сервере Узел сеансов удаленных рабочих столов, также будут сопоставлены на клиентском компьютере с Удаленное приложение RemoteApp.

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

8. После того, как свойства пакета распространения настроены, нажмите кнопку Далее.

9. На странице Просмотр параметров нажмите кнопку Готово.

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

Тестирование системы DIRECTUMв режиме RemoteApp

Описание проблемы

Не так давно я развернул новую RDS ферму на базе Windows Server 2016 и мигрировал на нее пользователей с RDS фермы 2012 R2. Все было замечательно, пока основная масса людей полностью не перешла на новые сервера, по ситу это все те же виртуальные машины на базе ESXI 6.5. В какой-то момент стали поступать обращения в техническую поддержку, о том что конфигуратор 1С и сама 1Ска долго открывается и подтормаживает. Секунд по 30-40 висело вот такое окно конфигуратора, после чего открывалось и пользователи продолжали работу, кого-то это напрягало, а кого-то нет, в любом случае на прошлой RDS ферме этой проблемы не было. Давайте смотреть причины данной ситуации.

Параметры интерфейса клиента

  • Отключить фоновый рисунок, это значительно снизит потребление пропускной способности сети.
  • Кеш точечных рисунков необходимо всегда включать, т.к. в этом случае создается клиентский кэш растровых изображений, отображаемых в сеансе, что значительно снижает использование пропускной способности.
  • Имеет смысл выключать отображение содержимого окон при перетаскивании, т.к. это снижает нагрузку на сеть за счет отображения только рамки окна вместо всего содержимого.
  • Точно так же стоит отключать анимацию меню и окон, поскольку она увеличивает нагрузку на сетевую подсистему
  • ClearType нужно включать для систем более ранних, чем Windows 7 и Windows 2008 R2
  • Стили оформления – параметр, актуальный для систем Windows 7 и более ранних. Если параметр отключен, пропускная способность снижается за счет упрощения чертежей, использующих классическую тему.
  • Серьезно влияет на загрузку ЦП и пропускной способности сети и разрешение экрана, с которым клиент подключается к серверу.
  • Корпорация Microsoft рекомендует оставлять параметры подключения клиента в автоматическом режиме, но есть смысл попробовать выставить параметры вручную.

Описание проблемы

Не так давно я развернул новую RDS ферму на базе Windows Server 2016 и мигрировал на нее пользователей с RDS фермы 2012 R2. Все было замечательно, пока основная масса людей полностью не перешла на новые сервера, по ситу это все те же виртуальные машины на базе ESXI 6.5. В какой-то момент стали поступать обращения в техническую поддержку, о том что конфигуратор 1С и сама 1Ска долго открывается и подтормаживает. Секунд по 30-40 висело вот такое окно конфигуратора, после чего открывалось и пользователи продолжали работу, кого-то это напрягало, а кого-то нет, в любом случае на прошлой RDS ферме этой проблемы не было. Давайте смотреть причины данной ситуации.

Оптимизация сжатия RDP

Сжатие в RDP прошло долгий путь развития. По RDP 5.2 включительно была подсистема сжатия («компрессор»), имеющий внутреннее название «Version 1» – самый простой и лёгкий вариант с точки зрения загрузки процессора клиента, но самый плохой с точки зрения нагрузки сети трафиком. В RDP 6.0 сделали «Version 2», который был незначительно, но улучшен по параметру эффективности сжатия. Нам интересен «Version 3», который работает только при подключении к серверам Windows Server 2008 и старше. Он сжимает лучше всех, а затраты процессорного времени с учётом мощностей современных компьютеров несуществены.

Выигрыш при включении V3 может, судя по тестам, достигать 60% и, в общем-то, и без тестов ощутимо заметен на глаз.

Как включить оптимальное сжатие в RDP

Это – клиентская настройка. Откройте в нужном объекте групповой политики , выберите там параметр Set compression algoritm for RDP data, включите его и выберите значение Optimize to use less network bandwidth.

Примечание: У многих возникает вопрос, зачем в списке есть параметр «отключить сжатие». Это нужно в случае, когда Ваши RDP-сессии сжимает внешнее устройство, оптимизирующее WAN-подключения, что-то вида Cisco WAAS. В других случаях, конечно, отключать сжатие смысла нет.

Настройка сжатия звукового потока

RDP 7.0 приносит отличную возможность регулировать качество сжатия входящего звукового потока (т.е. звука, который идёт с сервера на клиента). Это достаточно полезно – например, если идёт работа на терминальном сервере, то кроме всяких служебных звуков вида «пришло сообщение в ICQ» другие особо как не планируются. Нет смысла передавать с сервера несжатый звук CD-качества, если для работы это не нужно. Соответственно, нужно настроить уровень сжатия звукового потока.

Данный параметр будет называться Limit audio playback quality и находиться в разделе Device and Resource Redirection в Computer Configuration → Policies → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host. Вариантов будет три:

  • High – звук будет идти без сжатия. Вообще. То есть, он будет подпадать под общее сжатие протокола RDP, но специфическое сжатие звука (с потерей качества) производиться не будет.
  • Medium – сжатие будет адаптироваться под канал так, чтобы не увеличивать задержку при передаче данных.
  • Dynamic – сжатие будет динамически адаптироваться под канал так, чтобы задержка не превышала 150ms.

Выберите подходящий. Как понятно, для офисной работы лучше выбрать Dynamic.

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: