Можно ли изменить значок для опубликованного RemoteApp? Да, можно.
Откройте Powershell и введите следующую команду:
Get-RDRemoteApp -alias "notepad" | fl
Это покажет все свойства для RemoteApp с псевдонимом “notepad”:
CollectionName : RemoteApps Alias : notepad DisplayName : Windows Update Log FolderName : Logfiles FilePath : C:WindowsSystem32notepad.exe FileVirtualPath : C:WindowsSystem32notepad.exe CommandLineSetting : Require RequiredCommandLine : c:windowswindowsupdate.log IconContents : {0, 0, 1, 0...} IconIndex : 0 IconPath : C:WindowsSystem32notepad.exe UserGroups : ShowInWebAccess : True
Итак, глядя на эти свойства, мы можем изменить значок здесь! В пользовательском интерфейсе это невозможно.
Есть 2 варианта для управления значком:
IconIndex: the index for the icon you wish to show (0 if only 1 icon is available) IconPath: the container holding the icon(s)
Параметр IconPath может указывать на файл .exe,. ico или .dll.
Давайте изменим иконку на иконку из shell32.dll-да. Почему? Потому что я точно знаю, что этот файл доступен на всех установках Windows.
Создайте фиктивный ярлык или выберите существующий. Измените значок и перейдите к следующему пункту c:windowssystem32-да. Выберите shell32.dll и выберите значок Центра Обновления Windows.
IconIndex для этого интерфейса работает сверху вниз, начиная с 0. Поэтому считайте строки, пока не увидите нужный значок, умножьте его на 4, вычитайте 1 и сосчитайте до нужного значка. IconIndex для значка Центра Обновления Windows — 46.
Введите одну из следующих команд в поле Powershell:
Get-RDRemoteApp -Alias "notepad" | Set-RDRemoteApp -IconPath "c:windowssystem32shell32.dll" -IconIndex 46
или
Set-RDRemoteApp -CollectionName "RemoteApps" -Alias "notepad" -IconPath "c:windowssystem32shell32.dll" -IconIndex 46
Теперь обновите страницу RD Web Access:
И вот оно у вас есть: пользовательские иконки в программах RemoteApp.
Обновление:
Как говорит Крис Бигг в комментариях, если у вас есть файл.ico, нет необходимости использовать powershell для изменения значка.
Перейдите к файлу %WINDIR%RemotePackagesCPubFarmsCPubRemoteApps на сервере с ролью посредника подключений к удаленному рабочему столу, и вы увидите все файлы .ico. В примере для журнала обновления Windows я бы удалил «notepad .ico” и вместо этого скопировал файл.ico по моему выбору и переименовал его в “notepad.ico”.
Это заменит значок RemoteApp в вашем приложении Remote Apps and Desktop Connections при следующем обновлении. Для веб-доступа к удаленным рабочим столам необходимо остановить и запустить веб-приложение на сервере веб-доступа к удаленным рабочим столам.
Это будет работать только для файлов. ico. Если ваш значок находится в файле. exe или.dll, вам все равно придется использовать powershell.
Переведено машиной и адаптировано, за текст спасибо Arjan
Join @AdmNtsRu on Telegram
Смотрите также:
- Remove From My Forums
-
General discussion
-
Is it possible to change icon for already published RemoteApp? I didn’t find any simple solution, e.g. a button in RemoteApp Properties Dialog Box.
All replies
-
Does anybode have a Change Icon button in RemoteApp Properties Dialog Box? It seems that such a button exists in
Windows Server 2008 R2 — at least few posts in this forum mentions it.But how I can manage it in Windows Server 2012?
-
Hi,
I am trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.
Thank you for your understanding and support.Regards,
Clarence
TechNet Subscriber Support
If you are
TechNet Subscription user and have any feedback on our support quality, please send your feedback
here.
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
Hello Clarence,
I tried to find any relevant info regarding a change of RemoteApp icon published via RD Web in Windows Server 2012, but found nothing.
You gave me at least some hope that I will find a solution, so looking forward to seeing some hints here.
Kasparek
-
Hi,
Based on my internal test, I am afraid that it seems we couldn’t directly change the RemoteApp icon in RDWeb, but there is a workaround as below:
—On one Windwos 7 or Windows 8 client, open Control Panel and open RemoteApp and Desktop Connections.
—Type the right URL, such as https://RDWeb FQDN name/rdweb/feed/webfeed.aspx.
—When the connection finishes, the published RemoteApp icon will locate at c:users%username%AppDataRoamingMicrosoftWindowsStart MenuProgramsRemoteApp and Desktop ConnectionsWork Resources
—Right click the specific RemoteApp you want change icon and click Properties.
—Under Shortcut table, please click Change Icon and select the icon you want.
Regards,
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
Hello,
I tried the workaround, but if I am not mistaken, it changes an icon just on Windows 7 (8) client, on which I setup RemoteApp via RD Web feed.
But I would need to change an icon on RD Web page, i.e. an icon that is seen by all users when they log on to RD Web via a web browser.
Regards,
Kasparek
-
Hi,
Based on my test, I think below steps can achieve your goal:
—Please prepare a .ico file you want, such as a (bing.ico file). You can search *.ico on the C drive and find the icon file you want.
—I suspect you have published a Wordpad on the Windows Server 2012 Connection Broker server, then locate to C:WindowsRemotePackagesCPubFarmsRemoteApp_applicCPubRemoteApps.
—Under this folder, we can see that the published WordPad ico file(such as wordpad.ico), then copy the specific ico(bing.ico) file you want to this folder, and rename the bing.ico file to Wordpad.ico.
—Restart the Windows Server 2012 Connection Broker server and try to reproduce the issue, this should works.
Regards,
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
Replacing a corresponding icon in C:WindowsRemotePackagesCPubFarmsRemoteApp_applicCPubRemoteApps changes an icon for RemoteApp on RD Web Work Resources page. Great, it solved my situation, thanks for your help.
I have got one more problem connected to RD Web Work Resources page. In the past I did a few configuration changes in RD Web Server and RemoteApps (renamed a server, removed all published RemoteApps from QuickSessionCollection, then I re-added Remote Desktop
Services — option Quick Start — role) and as a result I have a redundant Remote Desktop RemoteApp on my RD Web Work Resources page. This Remote Desktop RemoteApp is not present on QuickSessionCollection list and in addition it opens Remote Desktop to
a server with a wrong hostname — i. e. to a hostname before I renamed the server. I would call this RemoteApp as a ‘left-over’.Wouldn’t you know, how to remove it?
-
Hi, Have you restarted the Connection Broker server to have a try? Besides, do you mean there is only one server which has installed RDS/RDWeb/RD Connection Broker roles? Regards,
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
The Connection Broker server was restarted several times, but it didn’t resulted in redundant RemoteApp disappearing. Yes, all Remote Desktop services reside on one server/host.
-
Hi,
In Windows Server 2012, there is a new feature for the RDWeb, that is we can enable RDWeb logging which is very helpful for troubleshooting problems with RD Web page.
To enable RD Web logging, do the following:
1. Logon to the RD Web server as an administrator and open an administrative Windows Powershell prompt or command prompt.
2. Change to the %SYSTEMROOT%WebRDweb folder.
3. Open the web.config file and find the section labeled <system.diagnostics>.
4. Modify the TraceTSWA value to 4:
<add name=»TraceTSWA» value=»4″ />
5. Comments are denoted by <!— and —> characters. To remove the comments and enable RD Web logging, modify the following line to remove the comments:
<!— Uncomment for file tracing
<add name=»FileLog»
type=»Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL»
initializeData=»FileLogWriter» BaseFileName=»RDWeb»
Location=»Custom»
LogFileCreationSchedule=»Daily»
MaxFileSize=»50000000″
CustomLocation=»WindowsWebRDWebApp_Data» />
—>
For example:
<add name=»FileLog»
type=»Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL»
initializeData=»FileLogWriter» BaseFileName=»RDWeb»
Location=»Custom»
LogFileCreationSchedule=»Daily»
MaxFileSize=»50000000″
CustomLocation=»WindowsWebRDWebApp_Data» />
6. Reload the web page and reproduce the problem.
7. The log file will be created in the %SYSTEMROOT%WebRDWebApp_Data folder and will contain the time and date stamp of when the log file was written.
8. Please share these logs to us.Regards,
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
I enabled the logging, but didn’t find any useful info in a log file, just that ‘Remote Desktop’ application (and others) was added.
My RD Web Work Resources page incorporates the following RemoteApps:
But RemoteApps Programs in Server Manager doesn’t incorporate ‘Remote Desktop’ application (Windows Explorer is under My Programs folder):
In addition, when I launch ‘Remote Desktop’ application it opens Remote Desktop to non-existing host — RD Web server was renamed.
‘Remote Desktop Connection’ application (vs ‘Remote Desktop’ application) was added among published applications manually by me and works fine.
Where does ‘Remote Desktop’ application come from? How I can remove it from Work Resources page. It is quite confusing for users, particularly when it tries to open RD session to non-existing host.
-
Hi,
OK, now I understand your main concern is the redundant ‘Remote Desktop’ icon. Since there is not any suspected log in RDWeb logging, let’s try to enable the RDMS UI Tracing on the RD Connection Broker Server.
When troubleshooting any problem with Remote Desktop Services installation or Collection Creation, or RD Connection Broker issues, the RDMS UI Logs should be enabled. RDMS UI logs must be enabled
by using Event Viewer and adding a SYSTEM environment variable to the Connection Broker (RDMS) server.To enable RDMS UI log and Event Logs, do the following:
a. Open an administrative CMD prompt and create a system environment variable named
RDMSUI_TRACING and set the value to 1b. Launch Server Manager from the same CMD window by entering servermanager and then pressing Enter.
c. Open Event Viewer, click View in the Menu Bar, and then click Show Analytic and Debug Logs.
d. In Event Viewer, navigate to the following path: Applications and Services LogsMicrosoftWindowsRDMS-UIDebug. Right click
on Debug log and select Enable Log.e. Reproduce the issue and check whether there are any related event logs.
Regards,
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
So I switched on Debug Log for RDMS, but the only error I was able to find is:
Component RdmsUI: Error in script execution on rdweb.domainname.tld :
Component RdmsUI: Failed to fetch local DB connection string from server: rdweb.domainname.tld : System.Management.Automation.RemoteException: Property DBConnString does not exist at path HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTssdisParameters.
at Microsoft.RemoteDesktopServices.Common.DeploymentModel.ExecutePowerShellScript(String serverName, String script, Object argumentList, Boolean isLocalhost)
at Microsoft.RemoteDesktopServices.Common.DeploymentModel.IsHighAvailabilityConfigured(String managementServer)I do not have any idea if this is connected to my problem, because it appears in the log in times when I didn’t log to RD Web. In addition, it doesn’t give me any clue what I should do to narrow my situation.
Doesn’t anybody have an advice of type — open a file/a registry key, check/delete a value?
-
Hi,
It seems the RDMS error log didn’t related with the duplicate «Remote Desktop» icon.
From the previous screenshot, I noticed that the Windows Explorer RemoteApp didn’t show in RDWeb, please try to hide all the RemoteApp and check whether the duplicate Remote Desktop icon still persists.
Regards,
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
I also have this exact same issue.
Old Published ICONS showing up and I cant get rid of them
-
The only thing i’ve found so far is a workaround (bodge) Script the launch using vbscript and use VBsedit to create an executable with your favourite icon embedded….
Regards
Glenn Rose-Ward
-
Get-RDRemoteApp -Alias «[The alias of your app]» | Set-RDRemoteApp -IconPath «[C:your_icon_file.ico]» -CollectionName «QuickSessionCollection»
Example:
Get-RDRemoteApp -Alias «iexplore» | Set-RDRemoteApp -IconPath «C:icon_file.ico» -CollectionName «QuickSessionCollection»
Works like a charm
-
Thank you. Such great example and worked for me
As I was doing Step by Step Windows 2012 R2 Remote Desktop Services – Part 4, which is all about publishing RemoteApp programs I figured I’d put this in a separate post.
Can we change the icon for a Published RemoteApp? Yes we can.
Open an administrative Powershell prompt and type the following command:
Get-RDRemoteApp -alias "notepad" | fl
This will show all properties for the RemoteApp with “notepad” as alias:
CollectionName : RemoteApps Alias : notepad DisplayName : Windows Update Log FolderName : Logfiles FilePath : C:WindowsSystem32notepad.exe FileVirtualPath : C:WindowsSystem32notepad.exe CommandLineSetting : Require RequiredCommandLine : c:windowswindowsupdate.log IconContents : {0, 0, 1, 0...} IconIndex : 0 IconPath : C:WindowsSystem32notepad.exe UserGroups : ShowInWebAccess : True
So, looking at these properties we are able to change the icon here! This isn’t possible in the UI.
There are 2 properties to manipulate the icon:
IconIndex: the index for the icon you wish to show (0 if only 1 icon is available) IconPath: the container holding the icon(s)
The IconPath setting can point to a .exe, a .ico, or a .dll file.
Let’s change the icon to an icon from shell32.dll. Why? Because I know for sure this file is available on all Windows installations.
Create a dummy shortcut or select an existing one. Change the icon and browse to c:windowssystem32. Select shell32.dll and select the Windows Update icon.
The IconIndex for this interface works top to bottom, starting with 0. So count the rows until you see your desired icon, multiply this by 4, subtract 1, and count up to your desired icon. The IconIndex for the Windows Update icon turns out to be 46.
Type one of the following commands in the Powershell box:
Get-RDRemoteApp -Alias "notepad" | Set-RDRemoteApp -IconPath "c:windowssystem32shell32.dll" -IconIndex 46
or
Set-RDRemoteApp -CollectionName "RemoteApps" -Alias "notepad" -IconPath "c:windowssystem32shell32.dll" -IconIndex 46
Now reload the RD Web Access:
And there you have it: Custom icons on RemoteApp programs.
Update:
As Chris Bigg says in the comments, if you have a .ico file there’s no need to use powershell to change the icon.
Browse to %WINDIR%RemotePackagesCPubFarmsCPubRemoteApps on the server holding the RD Connection Broker role and you will see all the .ico files. In the example for Windows Update Log I’d remove “notepad.ico” and instead copy a .ico file of my choice and rename it to “notepad.ico”.
This will replace the icon for the RemoteApp in your Remote Apps and Desktop Connections application on next refresh. For RD Web Access you’ll have to stop and start the Web application on the RD Web Access server.
This will only work for .ico files. If your icon is in a .exe or .dll you’ll still have to use powershell.
Arjan
Содержание
- Как опубликовать через RemoteAPP свое приложение
- Ярлык remoteapp windows server 2019
- Вопрос
- Ответы
- Публикация и настройка удаленных приложений RemoteApp
- Когда вы уже развернули RDS (Remote Desktop Service) на вашем Server 2012 (r2), вам может понадобится настроить Приложения RemoteApp.
- В ЭТОЙ СТАТЬЕ БУДУТ РАССМОТРЕНЫ СЛЕДУЮЩИЕ МОМЕНТЫ:
- ПУБЛИКАЦИЯ ПРИЛОЖЕНИЙ REMOTEAPP
- ПРОВЕРКА ПУБЛИКАЦИИ ПРОГРАММ REMOTE APP
- ИЗМЕНЕНИЕ ПАРАМЕТРОВ ПРИЛОЖЕНИЙ REMOTEAPP
- ОТМЕНА ПУБЛИКАЦИИ ПРИЛОЖЕНИЙ REMOTEAPP
- Ярлык remoteapp windows server 2019
- Постановка задачи
- Требования по развертыванию RD Connection Broker High Availability
- Тестовый стенд с виртуальными машинами фермы Remote Desktop Services
- Стандартная установка RDS фермы в Windows Server 2019
- Создание пула серверов на сервере посредника подключений (RD Connection Broker)
- Стандартное развертывание службы удаленных рабочих столов
- Создание коллекции для отказоустойчивой терминальной фермы
- Настройка RD Connection Broker для подключений к ферме RDS
- Создание группы безопасности для RD Connection Broker
- Установка SQL Native Client
- Установка и настройка MS SQL 2016
Как опубликовать через RemoteAPP свое приложение
Итого как я начал свое изучение работы системы Server 2012 R2 Std меня пока многое не радует, а именно то что вроде как сложнее стало использование RemoteAPP и разворачивание терминального сервера на этой оси, но отступать ни в коем случае нельзя. Хоть и не удобно работать пока во всяком случае, а изучать нужно — это и повышение квалификации и новые требования к соискателям, да и переходить на новый функционал также необходимо или по крайней мере иметь ввиду. Вот сейчас я для себя разберу как создать свое приложение на терминальном сервере и опубликовать его во всех шагах с которыми мне пришлось столкнуться.
По правильному все нужно настраивать самим чтобы быть уверенным в используемом конечно если Вы такой же как и я ответственный системный администратор.
Как Вы уже помните в прошлой заметке когда я знакомился с RemoteAPP по умолчанию для всех пользователей домена создана коллекция с дефолтным именование: QuickSessionCollections, так вот ее нужно будет удалить.
Запускаю оснастку «Server Manager» — Win + X → Control Panel — Administrative Tools, после переходу в апплет Remote Desktop Services — Collections и в правой части через выделение дефолтной коллекции по правом клику нажимаем Remove Collection — Yes
Вот теперь уже лучше ничего дефолтного нет, начну пожалуй с создания своей собственной коллекции. Все также находясь в апплете Remote Desktop Services — Collections — TASKS — Create Session Collection и передвигаюсь за мастером настройки по шагам:
Before You Begin, Next
Collection Name:
И нажимаю Next
RD Session Host:
выделяю текущий сервер и нажатием по стрелочке предопределяю что система выбрана в пуле;
И нажимаю Next
User Groups: нужно указать на кого будет распространена новая коллекция, либо на пользователя и/или же на группу, либо на всех пользователей домена. Лучше будет если только тем кому надо предоставлен доступ, так правильнее.
Add… — ввожу alektest (и себя не забываю ekzorchik) нажимаю Check Names после OK, конечный результат данного шага выглядит так:
И нажимаю Next
User Profile Disks: можно указать местонахождение профиля пользователя и его размер, в моей задачи это пока не требуется, а потому я снимаю галочку Enable user profile disks
И нажимаю Next
Confirmation: проверяю по результирующему выводу настройки сделанные выше и если все OK, то нажимаю Create
Ожидаю когда моя коллекция — polygon создастся
И нажимаю Close
Теперь когда коллекция создана пора переходить к созданию приложения.
Запускаю оснастку «Server Manager» — Win + X → Control Panel — Administrative Tools, после переходу в апплет Remote Desktop Services — Collections — Polygon — Tasks (RemoteAPP Programs) — Publish RemoteApp Programs и идем по шагам за мастером:
RemoteApp Programs: в правой части будут указаны все приложения которые установлены на данном терминальном сервере если же в списке не оказало того которое необходимо его можно добавить — Add…
(Установил клиент 1С на терминальный сервер версию клиента 8.2.19.121)
у меня при указании местонахождения исполняемого файла 1С => 1cv8.exe сработал аларм о не возможности :
Дело в том, что я указал путь просто: C:Program Files (x86)1cv828.2.19.121bin1cv8.exe (как я думал наивно что это: 1C Enterprise 8 (thin client), а это не правильный формат об этом как раз ошибка и говорит, нужно указать путь вот в таком вот формате:
\srv-serv.polygon.localc$Program Files (x86)1cv82common1cestart.exe
добавленное приложение будет отмечено в списке как показано на представленном ниже скриншоте
И нажимаю Next
Confirmation: проверяю и после нажимаю Publish
И нажимаю Close
Теперь проверяю с клиентской станции собственно как выглядит подключение к рабочей области (об это я уже говорил в прошлой заметке) и запуск опубликованного приложения в виде 1С клиента):
Windows 7 Professional SP1 (user&pass: alektest&Aa1234567)— IE — https://srv-serv.polygon.local/rdweb после ввода логина и пароля в рабочую область получаем гордо одинокое приложение клиента 1С доступное этому пользователю:
Когда мы запускаем приложение, то в правом нижнем углу экрана возле часов появляется пиктограмма указывающая, что сейчас мы работаем на удаленном терминальном сервере:
И вот оно долгожданное окно первого запуска клиента 1с, раз первый раз пользователь alektest запускает клиент то он не настроен ни на какой кластер 1с, настроив раз больше уже не понадобиться.
Настроив клиент и авторизовавшись при подключении у кластера 1С получаем запущенное приложение как будто бы оно было запущено локально за одним лишь исключение, что ресурсов на терминальном сервере много больше чем на рабочей станции.
На заметку: первый раз потребуется ввести доменные административные идентификационные данные дабы на сервер прописались ключи и файлы защиты для этого будет выведено специальное окно ввода логина и пароля.
Пример запущенного клиента 1С — он ничем не отличается от локального запуска:
Это конечно все хорошо, а как быть на других рабочих местах, что каждый раз заходить по URL ссылке и оттуда запускать, вот бы как ранее экспортировать приложение в виде rdp или msi файла. Загвоздка вот в чем, в оснастке Server Manager на терминальном сервере данная функциональная возможность не предусмотрена, а потому дальнейшие шаги проделываем на самом сервере:
Win + X — Control Panel — RemoteApp and Desktop Connections — Access RemoteApp and desktops — указываю URL подключения вида:
Email address or connection URL: https://srv-serv.polygon.local/RDWeb/Feed/WebFeed.aspx
и нажимаем Next, Next вот только не все так просто как кажется на первый взляд, удаленный компьютер отверг мое подключение:
Исправляюсь: — создаю самоподписанный сертификат для текущего сервера:
Запускаю оснастку «Server Manager» — Win + X → Control Panel — Administrative Tools, после переходу в апплет Remote Desktop Services — Collections — TASKS — Edit Deployment Properties — Certificates — выделяю RD Web Access — Create new certificate…
Allow the certificate to be added to the Trusted Root Certification Authorities certificate store on the destination computers отмечаю галочкой
Store this certificate: Отмечаю галочкой и указываю путь где куда его нужно сохранить на сервере дабы потом распространить на рабочие станции
Certificate path: c:srv-serv.pfx
По такому же принципу можно создать сертификаты и для остальных ролей сервисов RD
И нажимаю OK — Apply
И нажимаю OK
Win + X — Command Prompt (Admin) — mmc — File — Add/Remove Snap-in… — находим оснастку Certificates — нажимаем Add Computer Account — Next — Finish и OK, здесь нужно перенести текущий сертификат сервера srv-serv.polygon.local из Personal в Trusted Root Certification AuthoritiesCertificates
Далее повторяем шаги по подключению через Панель управления на самом сервере к RemoteAPP (Control Panel — RemoteApp and Desktop Connections) и вот уже другое разнообразие запрашивается
И вуаля все проходит успешно
Нажимаю Finish
И вот к чему я так стремился:
После того, как было настроено удаленное подключение к RemoteAPP в системе становится доступным следующий каталог:
Вот собственно и всё по шагам которые нужно сделать, что опубликовать свое собственное приложение целью которого будет организовать в последствии терминальный сервер с собственным набором приложений которые используют ресурсы самого сервера, а не ресурсы рабочих станций. Да и управлять единым способом намного удобнее чем каждый раз бегать и вручную что-то проделывать. Да интересно, но когда одну и туже операцию проделываешь не один десяток раз хочется добавить в свою жизнь автоматизации. Пока я подведу черту в этой заметке она работоспособна и практична. На этом я прощаюсь и до новых встреч, с уважением автор блога — ekzorchik.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Источник
Ярлык remoteapp windows server 2019
Вопрос
Доброго времени суток!
У меня уже настроены RemoteApp. Но подключится к ним я могу только через страницу браузера https:\server.domain.comrdweb
А я хочу, чтобы можно было как kiosk mode windows 10, но через rdp.
Пример: Пользователь подключается к удаленному серверу через mstsc на котором настроены RemoteApp и видит только 5 программ (условно) к которым у него есть доступ. Все остальное заблокировано и у пользователя нет доступа ни к чему кроме 5 программ.
С Уважением, Евгений!
Ответы
1 устанавливаете сервер на котором нет ничего
2 настраиваете сервер терминалов
3 включаете applocker для блокировки всего кроме internet explorer (edge) и rdp
4 настройте дефолт шел на запуск ie, и в ie настройте дефолтную страницу вашего remote app сервера
5 всех кому необходим обрезанный интерфейс форвардите на этот сервер. Remote App сами по себе не сделают магию, их где-то нужно использовать и гдето это не на локальных серверах а на удаленных (не зря же они Remote App)
Если же вам нужно ограничить пользюков на локальных серверах по группам то п.3 из предыдущей инструкции для вас (без 1, 2, 4 и 5), только оставлять нужно будет не 2 приложения а тот список который вам необходим
The opinion expressed by me is not an official position of Microsoft
Источник
Публикация и настройка удаленных приложений RemoteApp
Когда вы уже развернули RDS (Remote Desktop Service) на вашем Server 2012 (r2), вам может понадобится настроить Приложения RemoteApp.
Они представляют собой программы, удалённый доступ к которым предоставляется с помощью служб удалённых рабочих столов, но выглядят они так, будто это локальные приложения. Проще говоря, приложение RemoteApp представляет собой доступ к удалённому рабочему столу, ограниченному одним приложением. Однако, несмотря на формулировку выше, пользователь может запускать несколько приложений или несколько экземпляров одного и того же приложения в одном сеансе.
Использование приложений RemoteApp выглядит хорошей альтернативой традиционным удалённым рабочим столам, поскольку это приносит для системного администратора целый ряд преимуществ. Эти выгоды связанных с тем, что пользователю более не доступен рабочий стол полностью и его действия ограничены границами запускаемого приложения. А как известно, что чем меньше у пользователя возможностей крутить и настраивать, тем надёжнее и безопаснее работает система. Пользователям так же удобно использовать приложения RemoteApp, поскольку они выглядят так же как и любое локально установленное приложение, что значительно упрощает работу.
В ЭТОЙ СТАТЬЕ БУДУТ РАССМОТРЕНЫ СЛЕДУЮЩИЕ МОМЕНТЫ:
ПУБЛИКАЦИЯ ПРИЛОЖЕНИЙ REMOTEAPP
Для того, чтобы опубликовать какое-либо приложение RemoteApp нужно открытьДиспетчер задач, перейти в Службы удалённых рабочих столов и там перейти по ссылке с именем коллекции сеансов. В окне коллекции сеансов нажимаем на ссылку Публикация удалённых приложений RemoteApp. В том случае, если уже имеются опубликованные приложения, необходимо нажать на кнопку Задачи и в открывшемся меню выбрать Опубликовать удалённые приложения RemoteApp.
Рис.1 — Публикация приложений RemoteApp
Следует помнить, что публикация хотя-бы одного приложения приведет к отмене публикации удалённого рабочего стола. Это означает, что в одной коллекции могут быть либо удалённый рабочий стол полностью либо некий набор отдельных приложений RemoteApp.
Публиковать можно как предустановленные приложения так и свои собственные. Попробуем опубликовать одно предустановленное (Калькулятор) и одно собственное приложение (Foxit Reader). Для того, чтобы опубликовать встроенное приложение необходимо отметить его и нажать кнопку Далее.
Рис.2 — Выбор публикуемых приложений RemoteApp
С приложениями, которых нет в списке несколько сложнее. Тут требуется соблюсти одно важное условие — необходимо чтобы публикуемое приложение размещалось по одному и тому же пути на все серверах узлов сеансов. Если это так, то нажимаем кнопку Добавить и указываем необходимое приложение.
Рис.3 — Указание пути к публикуемому приложению RemoteApp
Как видно на рисунке, указание приложения, в данном случае, происходит на сервере RDSH2.
После того, как все приложения отмечены нажимаем кнопку Далее.
Рис.4 — Выбор публикуемых приложений RemoteApp
В следующем окне подтверждаем свой выбор нажав кнопку Опубликовать.
Рис.5 — Подтверждение выбора приложений RemoteApp
После публикации приложений RemoteApp, будет отображено окно в котором показано состояние приложений и ошибки, возникшие при установке. Если же ошибок не возникло, то нажимаем кнопку Закрыть, для завершения процесса публикации.
Рис.6 — Отчёт о публикации приложений RemoteApp
ПРОВЕРКА ПУБЛИКАЦИИ ПРОГРАММ REMOTE APP
После успешной публикации удалённых приложений RemoteApp, проверим корректность их работы. Для этого осуществим веб-доступ к RDS с одной из рабочих станций домена. Напомню, что для того чтобы получить веб-доступ к службам удалённых рабочих столов необходимо перейти по специальной ссылке вида https://servername/rdweb. В рассматриваемом случае, это ссылкаhttps://rdwh.domain.local/rdweb.
Рис.7 — Веб-доступ к приложениям RemoteApp
Как мы видим, приложения успешно опубликовались и можно попробовать получить к ним доступ. Запустим Foxit Reader.
Рис.8 — Удалённое приложение Foxit Reader
Приложение успешно запустилось и готово к использованию. О том, что это приложение RemoteApp говорит иконка с изображением двух направленных друг к другу стрелок рядом с иконкой основного приложения.
Посмотрим, как отобразилось подключение на серверной стороне. Зайдем в свойства коллекции сеансов и посмотрим на панель Подключения.
Рис.9 — Подключения к коллекции сеансов
На скриншоте выше отображено осуществлённое подключение. Как видим, несмотря на то, что путь к программе Foxit Reader мы указывали на сервере RDSH2, подключение было выполнено к серверу узлов сеансов RDSH1.
ИЗМЕНЕНИЕ ПАРАМЕТРОВ ПРИЛОЖЕНИЙ REMOTEAPP
Каждое приложение RemoteApp имеет ряд ключевых опций, которые можно изменить в соответствии с требованиями. Для того, чтобы зайти в меню настроек приложения достаточно в окне коллекции сеансов (в данном случае в окне Коллекция сеансов RDS) на панели Удалённые приложения RemoteApp вызвать контекстное меню приложения, параметры которого необходимо изменить, и там выбрать единственный пункт Изменить свойства.
Рис.10 — Вызов окна свойств приложения RemoteApp
На вкладке Общие окна свойств приложения доступны следующие настройки:
Кроме настроек, в данном окне отображается информация о пути размещения приложения, его псевдониме и иконке.
Рис.11 — Общие параметры приложения RemoteApp
Папку удалённого приложения RemoteApp можно либо задать вручную, написав в соответствующем поле желаемое имя папки, либо выбрав из существующего списка, если папки были созданы ранее. Поместим приложение Foxit Reader в папку Офисные приложения и посмотрим, что произойдет со страницей веб-доступа.
Рис.12 — Использование папок для сортировки приложений RemoteApp
Как видим, выбранное приложение Foxit Reader было успешно помещено в папку Офисные приложения.
Здесь также можно скачать ярлык на любое из опубликованных приложений или воспользоваться альтернативными методами создания ярлыка RemoteApp
На вкладке Параметры можно задать параметры командной строки для приложения. Именно здесь можно разрешить использовать любые параметры командной строки или вообще запретить их использование. Помимо этого можно задать принудительное использование заранее заданных параметров. В целом ряде случаев, последний параметр очень выручает.
Рис.13 — Параметры командной строки приложения
Свойства вкладки Назначение пользователей позволяют настроить видимость приложения в системе веб-доступа для заданных пользователей или групп пользователей. Поскольку по умолчанию все пользователи коллекции сеансов имеют доступ ко всем опубликованным в ней приложениям, данная вкладка позволяет гибко настроить доступ пользователей к приложениям RemoteApp внутри самой коллекции.
Рис.14 — Назначение пользователей приложения
На вкладке Сопоставление типов файлов можно задать типы файлов, которые автоматически будут открываться с помощью выбранного приложения RemoteApp.
Следует помнить об одном очень важном ограничении — данная опция не работает в случае веб-доступа к приложениям.
ОТМЕНА ПУБЛИКАЦИИ ПРИЛОЖЕНИЙ REMOTEAPP
В случае, когда удалённое приложение больше не используется, целесообразно отменить его публикацию. Рассмотрим выполнение этой операции на примере приложения Калькулятор.
Для того, чтобы вызвать мастер отмены публикации удалённых приложений RemoteApp нужно выбрать пункт Отменить публикацию удалённых приложений RemoteApp в меню Задачи на панели Удалённые приложения RemoteApp.
Рис.15 — Вызов мастера отмены публикации приложения
На первом шаге мастера выбираем из списка опубликованных приложений RemoteApp приложение, публикацию которого необходимо отменить. Можно выбрать все приложения и в таком случае после отмены их публикации станет возможен доступ к удалённому рабочему столу полностью.
Рис.16 — Выбор приложения, публикация которого отменяется
В окне с подтверждением выбора предлагается проверить правильность выбранных приложений и нажать кнопку Отменить публикацию.
Рис.17 — Подтверждение выбора
После успешного выполнения операции отмены публикации отобразится окно, сообщающее об этом.
Рис.18 — Успешная отмена публикации приложения RemoteApp
Как видим, процессы добавления, удаления и настройки удалённых приложений RemoteApp довольно быстро и удобно осуществляются из единой панели Удалённые приложения RemoteApp на вкладке коллекции сеансов.
Источник
Ярлык remoteapp windows server 2019
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами разобрали ситуацию, когда ваш жесткий диск виделся в формате RAW и не позволял получить доступ к данным, мы это благополучно решили. Сегодня мы рассмотрим задачу установки отказоустойчивой терминальной фермы Remote Desktop Services, где посредники подключений (RD Connection Broker) работают в режиме высокой доступности (High Availability) и все это дело будет работать на Windows Server 2019 в связке с хостами подключений (RDSH) на базе Windows Server 2016. Давно хотелось у себя на сайте иметь такую инструкцию, тем более что давно стояла задача перехода с W2012R2.
Постановка задачи
Необходимо организовать высоко доступную ферму RDS (Remote Desktop Services), где в качестве брокеров подключения будут выступать операционные системы с Windows Server 2019. В качестве хостов подключений, на которых будут работать конечные пользователи требуется иметь операционную систему Windows Server 2016. Развернуть сервер лицензирования, раздающий лицензии на пользователя или устройства. Чем хорошо использовать в качестве посредников подключений именно Windows Server 2019, все просто, когда большинство клиентского программного обеспечения станет поддерживаться данной ОС, можно будет легко вывести из эксплуатации сервера с W2016 и заменить их на более новые.
Требования по развертыванию RD Connection Broker High Availability
Прежде, чем мы начнем к поэтапному приготовлению к установке вашей отказоустойчивой RDS ферме, я бы хотел выделить пункты, которые нам потребуется выполнить.
Тестовый стенд с виртуальными машинами фермы Remote Desktop Services
Стандартная установка RDS фермы в Windows Server 2019
Перед тем, как мы сделаем высокодоступное подключение к ферме Remote Desktop Services, нам необходимо произвести установку стандартной конфигурации служб удаленных рабочих столов, включающей в себя:
Создание пула серверов на сервере посредника подключений (RD Connection Broker)
Пул серверов, это удобное объединение серверов в общий список для быстрого управления и развертывания на них ролей и компонентов. Все манипуляции производятся из единой консоли управления «Диспетчер серверов». Откройте оснастку «Диспетчер серверов» раздел «Все серверы». Щелкните по нему правым кликом и нажмите «Добавление серверов».
На вкладке Active Directory вам необходимо указать в каком домене вы будите производить поиск, в поле «Имя (Общие)» находим нужные вам сервера.
Выбираем нужные сервера и переносим их в раздел «Выбрано».
В итоге в вашей оснастке «Диспетчер серверов» вы увидите все добавленные хосты. которые будут участниками Remote Desktop Services High Availability на Windows Server 2019.
В результате все должно быть в статусе «В сети».
Стандартное развертывание службы удаленных рабочих столов
В мастере добавления ролей выберите пункт «Установка служб удаленных рабочих столов (Remote Desktop Services Installation)» и нажимаем далее.
Выбираем второй пункт «Развертывание рабочих столов на основе сеансов (Session-based desktop deployment)»
Список компонентов устанавливаемых при стандартной конфигурации RDS фермы. Тут будет установлен:
На следующем шаге вам нужно выбрать и перенести в правую область сервер, который будет нести на себе роль «Посредник подключений к удаленным рабочим столам (RD Connection Broker)». В моем примете, это первый сервер RDCB01.root.pyatilistnik.org.
Далее у нас идет выбор сервера для установки роли «Веб-доступ к удаленным рабочим столам (RD Web Access)», так как я пока не планирую использовать веб доступ RemoteApp, а настрою это потом, то я воспользуюсь галкой «Установить службу веб-доступа к удаленным рабочим столам на сервере посреднике подключений к удаленному рабочему столу (Install the RD Web Access role service on the RD Connection Broker server)»
Последним идет пункт по установке роли на сервера к которым вы будите непосредственно подключаться, выбираем нужные сервера и инсталлируем на них роль «Узел сеансов удаленных рабочих столов (RS Session Host)». В моем примере, это два сервера rdsh01 и rdsh02.
Процесс установки ролей подразумевает, что потребуется перезагрузка сервера, для этого вам необходимо выставить галку «Автоматически перезапускать конечный сервер, если это потребуется (Restart the destination server automatically if required )» и нажать кнопку «Развернуть«
Начинается процесс установки службы удаленных рабочих столов, может занимать несколько минут.
У вас должна произойти успешная установка службы «службы удаленных рабочих столов». Все необходимые сервера будут перезагружены.
Давайте убедимся, что все серверы получили свои роли. Для этого на сервере, где вы добавляли сервера в оснастку «Диспетчер серверов (Производили установку)», откройте оснастку и перейдите в раздел «Службы удаленных рабочих столов».
На вкладке «Общие сведения» посмотрите в разделе «Серверы развертывания», кто и какие роли себе установил.
Перейдите в раздел «Коллекции» и убедитесь, что список пуст, но зато присутствуют два ваших хоста узла сеансов удаленных рабочих столов, к котором будут подключаться конечные пользователи. Они будут иметь статус «Истина (True)», что говорит о разрешении подключаться (Режим стока выключен)
Следующим шагом мы создадим новую коллекцию для подключения к службам Remote Desktop Services High Availability на Windows Server 2019.
Создание коллекции для отказоустойчивой терминальной фермы
Так, что подытожим, коллекции RDS призваны решать две задачи:
Придумываем любое имя для вашей коллекции, в моем примере это root-collection
Теперь вам необходимо определиться какие серверы с ролью узлов сеансов (RDSH) вам нужно включить в коллекцию, у меня это RDSH01 и RDSH02
Указываем каким пользователям или группам разрешен доступ к данной терминальной ферме, я удалю группу «Пользователи домена» и добавлю другую.
У меня получился вот такой список доступа, потом его так же можно изменить.
Я снимаю галку «Включить диски профилей пользователей» так как не планирую использовать UDP диски.
Смотрим сводную информацию по создаваемой коллекции и нажимаем «Создать».
Дожидаемся создания коллекции службы удаленных рабочих столов.
В общем списке у вас будет ваша коллекция.
Про описание свойств коллекции RDS я уже писал пост, можете к нему обратиться. Теперь у системного администратора, кто первый раз развернул стандартную установку службы удаленных рабочих столов возникает вопрос, как ему подключиться к новой коллекции и это правильный вопрос, так как если вы сейчас попытаетесь подключиться брокеру, то вас не перекинет на хост из коллекции, вы просто попадете на сам RDCB хост. Чтобы это поправить нам нужно сделать две вещи:
Настройка RD Connection Broker для подключений к ферме RDS
Как я писал выше в текущей конфигурации посредник подключений к удаленным рабочим столам вас не будет перебрасывать в коллекцию, он просто будет подключаться к брокеру по RDP, ниже мы это поправим.
Для подключения к ферме Remote Desktop Services в отказоустойчивой конфигурации создают две записи DNS и направляют их на сервера с ролью RD Connection Broker, кто-то балансирует иначе, но мы в данном окружении воспользуемся именно DNS и механизмом перебора Round Robin. Откройте оснастку и создайте A-запись с нужным именем вашей RDS фермы у меня это будет DNS имя «terminal«.
Я пока создам одну A-запись с таким именем и в качестве IP-адреса укажу адрес моего первого сервера с ролью RD Connection Broker.
В запись terminal.root.pyatilistnik.org успешно создана.
Проверяем ее через утилиту PING
Теперь, чтобы наш сервер посредник подключений к удаленным рабочим столам перебрасывал нас на RDSH сервера, нам необходимо подключиться к RD Web серверу и скачать RDP-файл с конфигурацией. Данный файл будет нести в себе параметры, о наименовании коллекции, при обращении к которой вы попадете на один из конечных серверов.
Стандартный адрес для подключения к вашему серверу RD Web, это:
Проверить наличие данного адреса вы можете открыв диспетчер IIS.
У вас должна открыться вот такая страница с авторизацией.
Теперь нам нужно получить значение loadbalanceinfo из свойств вашей коллекции, оно будет прописано в реестре брокеров. Для этого выполним публикацию приложения RemoteApp. Переходим в коллекцию службы удаленных рабочих столов и находим раздел «Удаленные приложения RemoteApp«. Нажимаем на задачи и произведем публикацию удаленного приложения RemoteApp.
Выберите для примера обычный калькулятор
Нажимаем «Опубликовать«.
Дожидаемся публикации приложения в коллекции Remote Desktop Services.
Далее вы переходите в веб интерфейс RDWEb и авторизуетесь, у вас будет доступно приложение калькулятор. Щелкните по нему и у вас будет запущено скачивание RDP пакета.
Теперь полученный файл RDP нужно открыть через блокнот.
Вам нужно найти строку loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.root-collection, она то нам и нужна для прописывания ее в реестре сервера несущего роль посредника подключений к удаленным рабочим столам (Connection Broker).
Переходим на сервер с ролью RD COnnection Broker и открываем реестр Windows. Переходим в раздел:
Создаем тут ключ реестра с типом REG_SZ (Строковый) и именем DefaultTsvUrl. В качестве содержимого вставляем tsv://MS Terminal Services Plugin.1.root-collection
Перезагрузите на всякий случай ваш брокер. Пробуем теперь произвести подключение по имени terminal.root.pyatilistnik.org.
Как видите нам ответил rdcb01.root.pyatilistnik.org
Но как и было задумано посредник подключений к удаленным рабочим столам перекину нас на конечный хост с ролью RDSH. Я для теста сделал три подключения, все отлично работает. Можно сказать, что мы успешно установили и настроили стандартную Remote Desktop Services ферму на базе Windows Server 2019. Теперь можно превращать ее в высоко доступную, о чем и пойдет речь ниже.
Создание группы безопасности для RD Connection Broker
Следующим шагом нам необходимо в Active Directory создать группу безопасности в которую мы поместим наши сервера с ролью RD Connection Broker. Необходимо, это для того, чтобы мы этой группе безопасности назначили необходимые права на нашем SQL сервере.
Открываем оснастку ADUC и создаем в нужном вам расположении группу безопасности RD-Connection-Broker. Я выставлю область действия группы (Локальная в домене).
Добавим в группу RD-Connection-Broker два сервера с ролью посредника подключений к удаленным рабочим столам. В моем случае, это RDCB01 и RDCB02.
Установка SQL Native Client
Следующим шагом вам необходимо на обоих серверах с ролью RD Connection Broker установить бесплатного клиента SQL Native Client, это необходимое требование. Где скачать SQL Native Client и как его установить я подробно рассказывал, на этом я останавливаться не буду, посмотрите по ссылке.
Установка и настройка MS SQL 2016
Следующим подготовительным требованием идет установка общей базы для наших брокеров, в моем примере это будет MS SQL 2016 Standard. Сам процесс инсталляции я подробно разбирал, так что так же советую посмотреть мою статью. Еще я вам советую делать всегда вашу базу данных отказоустойчивой, в режиме Always On.
Источник
To totally unlock this section you need to Log-in
Login
Can we change the icon for a Published RemoteApp? Yes we can. Open an administrative Powershell prompt and type the following command:
Get-RDRemoteApp -alias "notepad" | fl
This will show all properties for the RemoteApp with “notepad” as alias:
CollectionName : RemoteApps Alias : notepad DisplayName : Windows Update Log FolderName : Logfiles FilePath : C:WindowsSystem32notepad.exe FileVirtualPath : C:WindowsSystem32notepad.exe CommandLineSetting : Require RequiredCommandLine : c:windowswindowsupdate.log IconContents : {0, 0, 1, 0...} IconIndex : 0 IconPath : C:WindowsSystem32notepad.exe UserGroups : ShowInWebAccess : True
So, looking at these Properties we are able to change the icon here! This isn’t possible in the UI.
There are 2 properties to manipulate the icon:
IconIndex: the index for the icon you wish to show (0 if only 1 icon is available). IconPath: the container holding the icon(s).
The IconPath setting can point to a .exe, a .ico, or a .dll file.
Let’s change the icon to an icon from shell32.dll. Why? Because we know for sure this file is available on all Windows installations.
Create a dummy shortcut or select an existing one. Change the icon and browse to c:windowssystem32. Select shell32.dll and select the Windows Update icon.
The IconIndex for this interface works top to bottom, starting with 0. So count the rows until you see your desired icon, multiply this by 4, subtract 1, and count up to your desired icon. The IconIndex for the Windows Update icon turns out to be 46.
Type one of the following commands in the Powershell box:
Get-RDRemoteApp -Alias "notepad" | Set-RDRemoteApp -IconPath "c:windowssystem32shell32.dll" -IconIndex 46
or
Set-RDRemoteApp -CollectionName "RemoteApps" -Alias "notepad" -IconPath "C:windowssystem32shell32.dll" -IconIndex 46
Now reload the RD Web Access role:
And there you have it: custom icons on RemoteApp programs.
NOTE: If your icon is in a .exe or .dll you will have to use Powershell. In alternative, only for .ico files, browse to %WINDIR%RemotePackagesCPubFarmsCPubRemoteApps on the server holding the RD Connection Broker role and you will see all the .ico files.
|
|
If you’ve ever wanted to change the icon of a RemoteApp that is shown on the RDWeb page or appears on the Start Screen, you may have found yourself frustrated to discover that the UI in Server Manager on Windows Server 2012 does not allow you to pick a new one. Instead, you can use Powershell specify what icon to use when publishing a new RemoteApp using the New-RDRemoteApp command, or you can change it by using Set-RDRemoteApp.
New-RDRemoteApp [-CollectionName] -DisplayName -FilePath [-Alias ] [-FileVirtualPath ] [-ShowInWebAccess ] [-FolderName ] [-CommandLineSetting {DoNotAllow | Allow | Require}] [-RequiredCommandLine ] [-UserGroups ] [-IconPath ] [-IconIndex ] [-ConnectionBroker ] []
Set-RDRemoteApp [-CollectionName] -Alias [-CommandLineSetting ] [-ConnectionBroker ] [-DisplayName ] [-FilePath ] [-FileVirtualPath ] [-FolderName ] [-IconIndex ] [-IconPath ] [-RequiredCommandLine ] [-ShowInWebAccess ] [-UserGroups ] [ ]
To use these commands you may need to first run “import-module RemoteDesktop”. You can see the whole list of Remote Desktop cmdlets on TechNet.
Here is an example of a RemoteApp that is using a bland, generic icon. This one is showing up because I happen to be running a script to launch Internet Explorer in kiosk mode. It works, but it could use a better icon.
If you edit the Properties of the RemoteApp, it shows you the icon but you cannot change it. Argh!
So what you do is Unpublish this RemoteApp, then use PowerShell to replace it with a new one using New-RDRemoteApp.
Another option is to simply change the Icon property using Set-RDRemoteApp. Simply specify the Alias of the existing RemoteApp and the path to the icon to apply.
Regardless of the one you use, make sure you copy the .ico file to a directory that is available on all of the Session Hosts that are part of that collection. I like to use C:RemoteApps but it could be anyplace.
Now you can reload RDWeb or refresh the RemoteApp RSS feed and you’ll see the new icon.
There you have it. N’joy!