Распределенное обучение с TensorFlow и Python
AI_Generated 05.05.2025
В машинном обучении размер имеет значение. С ростом сложности моделей и объема данных одиночный процессор или даже мощная видеокарта уже не справляются с задачей обучения за разумное время. Когда. . .
CRUD API на C# и GraphQL
stackOverflow 05.05.2025
В бэкенд-разработке постоянно возникают новые технологии, призванные решить актуальные проблемы и упростить жизнь программистам. Одной из таких технологий стал GraphQL — язык запросов для API,. . .
Распознавание голоса и речи на C#
UnmanagedCoder 05.05.2025
Интеграция голосового управления в приложения на C# стала намного доступнее благодаря развитию специализированных библиотек и API. При этом многие разработчики до сих пор считают голосовое управление. . .
Реализация своих итераторов в C++
NullReferenced 05.05.2025
Итераторы в C++ — это абстракция, которая связывает весь экосистему Стандартной Библиотеки Шаблонов (STL) в единое целое, позволяя алгоритмам работать с разнородными структурами данных без знания их. . .
Разработка собственного фреймворка для тестирования в C#
UnmanagedCoder 04.05.2025
C# довольно богат готовыми решениями – NUnit, xUnit, MSTest уже давно стали своеобразными динозаврами индустрии. Однако, как и любой динозавр, они не всегда могут протиснуться в узкие коридоры. . .
Распределенная трассировка в Java с помощью OpenTelemetry
Javaican 04.05.2025
Микросервисная архитектура стала краеугольным камнем современной разработки, но вместе с ней пришла и головная боль, знакомая многим — отслеживание прохождения запросов через лабиринт взаимосвязанных. . .
Шаблоны обнаружения сервисов в Kubernetes
Mr. Docker 04.05.2025
Современные Kubernetes-инфраструктуры сталкиваются с серьёзными вызовами. Развертывание в нескольких регионах и облаках одновременно, необходимость обеспечения низкой задержки для глобально. . .
Создаем SPA на C# и Blazor
stackOverflow 04.05.2025
Мир веб-разработки за последние десять лет претерпел коллосальные изменения. Переход от традиционных многостраничных сайтов к одностраничным приложениям (Single Page Applications, SPA) — это. . .
Реализация шаблонов проектирования GoF на C++
NullReferenced 04.05.2025
«Банда четырёх» (Gang of Four или GoF) — Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес — в 1994 году сформировали канон шаблонов, который выдержал проверку временем. И хотя C++ претерпел. . .
C# и сети: Сокеты, gRPC и SignalR
UnmanagedCoder 04.05.2025
Сетевые технологии не стоят на месте, а вместе с ними эволюционируют и инструменты разработки. В . NET появилось множество решений — от низкоуровневых сокетов, позволяющих управлять каждым байтом. . .
Советчик
Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград
Репутация: 42
Всего: 454
Читать отсюда и до конца. Читать абсолютно всё. Читать до полного понимания. Поняв — выполнять все инструкции в точности как указано и точно в указанном порядке. Никакой самодеятельности. Каждый шаг — проверять дважды минимум.
Если после этого возникают ошибки — вот тогда милости просим. И с самой подробнейшей информацией о среде возниконвения проблемы — версии, билды, настройки, скриншоты, цитаты логов и пр.
———————
О(б)суждение моих действий — в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция — Администрация форума.
Если вы пользуетесь удалённым компьютером для запуска одного/двух приложений в RDP сессии, скорее всего вам будет удобнее запускать эти программы в режиме RemoteApp. Технология RemoteApp это одна из возможностей терминальной службы Remote Desktop Services, которая позволяет запускать приложения, установленные на удаленном RDS (RDP) сервере так, как будто они запускаются на клиенте локально. Т.е. на монитор клиента доставляется не весь рабочий стол удаленного Windows хоста, а только окно опубликованного приложения.
Несмотря на то, что официально RemoteApp поддерживаются только в Windows Server с развернутой ролью RDS, вы можете опубликовать любое установленное приложение в виде RemoteApp в том числе и на десктопных версиях, таких как Windows 10 или 11. В этой статье мы покажем, как создать RemoteApp приложение и запустить его на удаленном компьютере с Windows 11 (требуется Pro или Enterprise редакции.)
Настройка удаленного компьютера (RDP сервера), на котором будет выполняться приложение RemoteApp:
- Включите RDP доступ к компьютеру
- Установите приложение
- Добавьте пользователя, который будет запускать приложение в локальную группу
Remote Desktop Users
или в локальную политику безопасности Alow log on through Remote Desktop Services - Разрешите запуск любого локального приложения в виде RemoteApp. Для этого откройте редактор локальной GPO (
gpedit.msc
), перейдите в раздел Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections. Включите политику Allow remote start of unlisted programsЛибо создайте параметр реестра fAllowUnlistedRemotePrograms со значением 1:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fAllowUnlistedRemotePrograms /t REG_DWORD /d 1
- Перезагрузите удаленный компьютер.
Если вы хотите ограничить список локальных приложений, которые удаленный пользователь может запускать в виде RemoteApp, нужно для каждого приложения создать отдельную ветку в ветке реестра
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications
. Пример описания REG файла для публикации Adobe Reader в виде RemoteApp на RDS в рабочей группе без домена:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\MyAdobeReaderApp] "CommandLineSetting"=dword:00000000 "RequiredCommandLine"="" "Name"="Adobe Reader" "Path"="C:\\Program Files\\Adobe\\Acrobat DC\\Acrobat\\Acrobat.exe" "ShortPath"="C:\\PROGRA~1\\Adobe\\Acrobat DC\\Acrobat\\Acrobat.exe" "IconPath"="C:\\PROGRA~1\\Adobe\\Acrobat DC\\Acrobat\\Acrobat.exe" "IconIndex"=dword:00000000 "ShowInTSWA"=dword:00000001 "SecurityDescriptor"=""
Настройка RDP клиента.
Теперь, на клиенте (на котором вы хотите показывать окно RemoteApp приложение), нужно настроить ярлык для RDP подключения.
- Откройте клиент
mstsc.exe
, введите имя (IP) удаленного RDP сервера и имя пользователя для входа - (Опционально) Настройте необходимые параметры удаленного подключения на остальных вкладках клиента RDP (проброс устройств, дисков, буфера обмена и т.д.)
- Сохраните настроенное подключение в файл с расширением
*.RDP
(Save As) - Откройте этот *.RDP файл с помощью любого текстового редактора. Добавьте в конец файла строки:
remoteapplicationmode:i:1
RemoteApplicationName:s:КАК ДОЛЖЕН НАЗЫВАТЬСЯ ЗАГОЛОВОК ОКНА ПРОГРАММЫ В ПАНЕЛИ
RemoteApplicationProgram:s:"ПУТЬ К ИСПОЛЬНЫЕМОМУ ФАЙЛУ ПРИЛОЖЕНИЯ НА RDP СЕРВЕРЕ"
DisableRemoteAppCheck:i:1
Prompt for Credentials on Client:i:0
Alternate Shell:s:rdpinit.exe - Если нужно задать дополнительные параметры запуска приложения, добавьте строку:
RemoteApplicationCmdLine:s:АРГУМЕНТЫ ЗАПУСКА ПРИЛОЖЕНИЯ
Убедитесь, что указанные опции не заданы выше в имеющихся параметрах RDP подключения. Это может вызвать конфликт.
- Сохраните файл с настройками RDP подключения.
Например, для запуска обычного блокнота (
notepad.exe
) в виде RemoteApp, добавьте такие строки в RDP файл:
remoteapplicationmode:i:1
RemoteApplicationName:s:Remote_Notepad
RemoteApplicationProgram:s:"%windir%\notepad.exe"
DisableRemoteAppCheck:i:1
Prompt for Credentials on Client:i:0
Alternate Shell:s:rdpinit.exe
Запустите сохраненный RDP файл. Должно появится окно с запросом пароля, подтверждение что вы доверяете RDP сертификату и через некоторое время на вашем компьютере появится окно запущенного RemoteApp приложения.
Для запуска приложения Microsoft Store в виде RemoteApp, нужно указать его имя в поле RemoteApplicationProgram в таком формате:
start shell:AppsFolder\Microsoft.WindowsCalculator_8wekyb3d8bbwe!App
В данном случае имя APPX нужно скопировать из значения
PackageFamilyName
и добавить в !App конце.
Get-AppxPackage | Select-Object Name, PackageFamilyName | Where-Object { $_.Name -like "*calc*" }
Если вам часто приходится создавать ярлыки для запуска RemoteApp, для удобной генерации RDP или MSI файлов для клиентов можно использовать бесплатную RemoteApp Tool (https://github.com/kimmknight/remoteapptool). Утилита позволяет в том числе настроить ассоциации файлов, изменить иконку и другие параметры RemoteApp приложения (позволяет в том числе настроить RDP хост, в том числе таймауты завершения отключенных сессий).
Описанный способ публикации RemoteApp на десктопных компьютерах с Windows 10 или 11 не требует развертывание отдельного сервера лицензирования RDS и приобретения терминальных лицензий (RDS CAL). Однако вы сможете подключиться к такому компьютеру только одной одновременной RemoteApp сессией (для обхода ограничения на количество одновременных RDP соединения с Windows 10/11 можно использовать RDP Wrapper).
RemoteApp — это приложение для удаленного доступа к серверу, на котором запущены службы удаленных рабочих столов. Для того, чтобы опубликовать какое-либо приложение RemoteApp нужно открыть Диспетчер задач, перейти в Службы удалённых рабочих столов и там перейти по ссылке с именем коллекции сеансов. В окне коллекции сеансов нажимаем на ссылку Публикация удаленных приложений RemoteApp. В том случае, если уже имеются опубликованные приложения, необходимо нажать на кнопку Задачи и в открывшемся меню выбрать Опубликовать удаленные приложения RemoteApp.
Следует помнить, что публикация хотя-бы одного приложения приведет к отмене публикации удаленного рабочего стола. Это означает, что в одной коллекции могут быть либо удаленный рабочий стол полностью либо некий набор отдельных приложений RemoteApp.
Публиковать можно как предустановленные приложения так и свои собственные. Попробуем опубликовать одно предустановленное (Калькулятор) Для этого необходимо отметить его и нажать кнопку Далее.
В следующем окне подтверждаем свой выбор нажав кнопку Опубликовать.
После публикации приложений RemoteApp, будет отображено окно в котором показано состояние приложений и ошибки, возникшие при установке. Если же ошибок не возникло, то нажимаем кнопку Закрыть, для завершения процесса публикации.
Проверка публикации программ RemoteApp
После успешной публикации удаленных приложений RemoteApp, проверим корректность их работы. Для этого осуществим веб-доступ к RDS с одной из рабочих станций домена. Напомню, что для того чтобы получить веб-доступ к службам удалённых рабочих столов необходимо перейти по специальной ссылке вида https://<имя сервера>/rdweb
Как мы видим, приложения успешно опубликовались и можно попробовать получить к ним доступ.
Изменение параметров приложения RemoteApp
Каждое приложение RemoteApp имеет ряд ключевых опций, которые можно изменить в соответствии с требованиями. Для того, чтобы зайти в меню настроек приложения достаточно в окне коллекции сеансов (в данном случае в окне Коллекция сеансов RDS) на панели «Удаленные приложения RemoteApp» вызвать контекстное меню приложения, параметры которого необходимо изменить, и там выбрать единственный пункт «Изменить свойства».
На вкладке Общие окна свойств приложения доступны следующие настройки:
- Имя удаленного приложения RemoteApp. Позволяет задать произвольное имя для опубликованного приложения.
- Показывать удаленное приложение в службе веб-доступа к удаленным рабочим столам. Если выбрать пункт Нет, то приложение не будет отображаться списке приложений на странице веб-доступа и не будет доступно пользователям, хотя будет установлено на серверах узлов сеансов и будет иметь статус опубликованного.
- Папка удаленного приложения RemoteApp. Этот параметр позволяет упорядочивать приложения RemoteApp, раскладывая их по папкам.
Кроме настроек, в данном окне отображается информация о пути размещения приложения, его псевдониме и иконке.
Папку удаленного приложения RemoteApp можно либо задать вручную, написав в соответствующем поле желаемое имя папки, либо выбрав из существующего списка, если папки были созданы ранее.На вкладке Параметры можно задать параметры командной строки для приложения. Именно здесь можно разрешить использовать любые параметры командной строки или вообще запретить их использование. Помимо этого можно задать принудительное использование заранее заданных параметров.
Свойства вкладки Назначение пользователей позволяют настроить видимость приложения в системе веб-доступа для заданных пользователей или групп пользователей. Поскольку по умолчанию все пользователи коллекции сеансов имеют доступ ко всем опубликованным в ней приложениям, данная вкладка позволяет гибко настроить доступ пользователей к приложениям RemoteApp внутри самой коллекции.
На вкладке Сопоставление типов файлов можно задать типы файлов, которые автоматически будут открываться с помощью выбранного приложения RemoteApp.
Следует помнить об одном очень важном ограничении — данная опция не работает в случае веб-доступа к приложениям.
Отмена публикации приложений RemoteApp
В случае, когда удаленное приложение больше не используется, целесообразно отменить его публикацию. Рассмотрим выполнение этой операции на примере приложения Калькулятор.
Для того, чтобы вызвать мастер отмены публикации удаленных приложений RemoteApp нужно выбрать пункт Отменить публикацию удаленных приложений RemoteApp в меню Задачи на панели Удаленные приложения RemoteApp.
На первом шаге мастера выбираем из списка опубликованных приложений RemoteApp приложение, публикацию которого необходимо отменить. Можно выбрать все приложения и в таком случае после отмены их публикации станет возможен доступ к удаленному рабочему столу полностью.
В окне с подтверждением выбора предлагается проверить правильность выбранных приложений и нажать кнопку Отменить публикацию.
После успешного выполнения операции отмены публикации отобразится окно, сообщающее об этом.
На этом настройка RemoteApp окончена. В нашей базе знаний вы найдете еще множество статей посвященных различным аспектам работы в Windows, а если вы ищете надежный виртуальный сервер под управлением Windows, обратите внимание на нашу услугу — Аренда виртуального сервера Windows.
При подключении к сервису 42 Облака через удаленное приложение RemoteApp, возникает ошибка Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола
Для решения этой сложности достаточно удалить копию лицензии удаленного рабочего, которая хранится в кеше реестра вашего локального компьютера. Откройте редактор реестра с помощью команды regedit
и внесите изменения в ветку реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSLicensing
путем удаления всех подразделов.
Подключитесь к сервису заново, запустив клиент от имени Администратора, после чего ветка реестра будет создана заново.
– Консультация по 1С Бесплатно!
– Поддержка 24/7 по техническим вопросам: в чате, по телефону, по почте
– Все типовые конфигурации онлайн, доступ через RDP, Remote App, Web