Опубликовать сетевой ресурс через RemoteAPP
Задача: Опубликовать сетевой ресурс через RemoteAPP
Одним субботник вечером задумал разобрать, как пошаговая рабочая заметка, что если нужно опубликовать приложение через RemoteAPP
при использовании терминального сервера на базе Windows Server 2012 R2 Std
. В роли приложения выступит, либо сетевой диск. К примеру ниже по заметке это \\srv-ts1.polygon.com\shara
. Хочу составить для себя шпаргалку и пройтись по всем нюансам. Просто на работе были моменты когда, то пароль не сохраняется, то соединение как-то неправильно себя ведет, а когда спрашиваешь у коллег. Ну все мы знаем какой ответ они дают: «Я не знаю, я сейчас не за компом, надо разбираться и т.д.». Больше я не спрашиваю ни у кого, а со всем разбираюсь исключительно сам.
У меня на работе настроено, вот это все я хочу разобрать в виде пошаговых заметок:
- 1С Предприятие
- Excel 2016
- logoff
- Outlook 2016
- Обмен (Сетевая папка)
Тестовый стенд: (никуда без стенда)
Гипервизор: Debian 10 + Proxmox 6
VM:
Hostname: srv-dc1.polygon.com
OS: Windows Server 2012 R2 Std
IP: 10.90.90.3/24
Role: AD, DNS, DHCP
VM:
Hostname: srv-gw.polygon.com
OS: PfSense 2.4.4
IP: 10.90.90.2/24
Role: Gateway
VM:
Hostname: srv-ts1.polygon.com
OS: Windows Server 2012 R2 Std
IP:
Role: RDP + RemoteApp, Shara
Отдельное спасибо моему сервису в локальной сети FOG Project за то что теперь системы разворачиваются по сети и мне не нужно тратить огромнейшее количество времени чтобы их установить и настроить. Хотя есть и «Золотой образ».
Шаг №1:
Поднимаю RemoteApp
на srv-ts1.polygon.com
За основу, как настраивается RemoteApp
беру свою заметку "Что представляет RemoteApp на Server 2012 R2 Std"
"Как опубликовать через RemoteAPP свое приложение"
, а то я уже позабыл что да как делается.
Шаг №2:
Создаю собственную коллекцию опубликованных приложений:
Запускаю оснастку «Server Manager» — «Win + X» → «Control Panel» — «Administrative Tools», после переходу в апплет «Remote Desktop Services» — «Collections» — Все также находясь в апплете «Remote Desktop Services» — «Collections» — «TASKS» — «Create Session Collection» и передвигаюсь за мастером настройки по шагам:
Before You Begin: Next
Collection Name: POLYGON, Next
RD Session Host: srv-ts1.polygon.com, Next
User Groups: указываю свою группу Group_RemoteAPP вместо дефолтной Domain Users, Next
User Profile Disks: снимаю галочку Enable user profile disks, Next
Confirmation: Create
Шаг №3:
Теперь когда коллекция создана пора переходить к созданию приложения.
Запускаю оснастку «Server Manager» — Win + X → Control Panel — Administrative Tools, после переходу в апплет Remote Desktop Services — Collections — POLYGON — Tasks (RemoteAPP Programs) — Publish RemoteApp Programs и идем по шагам за мастером:
RemoteApp Programs: Add — и указываю путь до файла C:\Windows\explorer.exe и нажимаю Open, получается что я использую программу «Проводник», нажимаю Next
Completion: Next
после перехожу к редактированию опубликованного приложения под именем explorer через правый клик мышью выбираю Edit Properties
и следую за мастером настройки:
General:
- RemoteApp program name: Обмен
- Alias: explorer
- RemoteApp program location: C:\Windows\explorer.exe
- Show the RemoteApp program in RD Web Access: Yes
- RemoteApp program folder: ничего
и нажимаю Apply
Parameters:
- Always use the following command-line parameters: \\srv-ts1\shara
и нажимаю Apply
User Assignment:
- Only specified users and groups: Add — указываю либо отдельных пользователей, но лучше группу GROUP_RemoteAPP
и нажимаю Apply
File Type Associations:
- ничего не отмечаю
и нажимаю OK окна свойств Properties опубликованного приложения explorer.
Шаг №4:
Теперь нужно создать политику если не создана, которая определенной группе (Group_Disk_Z) мапирует сетевой диск на букву Z:, как это делаю смотреть "Ярлык на сетевой ресурс средствами GPO (групповой политики) в домене на базе Server 2008R2."
Все указанной здесь справедливо для Windows Server 2012 R2, Server 2016, Server 2019.
Action: Update
Name: Обмен
Target type: File System Object
Location: Desktop
Target path: \\srv-ts1\shara
Shortcut key: None
Run: Normal Window
Результат примененной политики на рабочей станции под управлением Windows 10 Pro:
Win + R -> cmd.exe
1 | C:\Users\alektest> gpresult /r | findstr /I “GPO:” |
Шаг №5:
Создаю самоподписанный сертификат для текущего сервера (srv-ts1.polygon.com)
Запускаю оснастку "Server Manager" — Win + X → Control Panel — Administrative Tools
, после переходу в апплет Remote Desktop Services — Collections — TASKS — Edit Deployment Properties —
Certificates
— выделяю RD Web Access — Create new certificate…
Certificate name: srv-ts1.polygon.com
Password: 712mbddr@
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-ts1
Save as type: DER Encoded binary X.509 (*.pfx)
и нажимаю Save
По такому же принципу можно создать сертификаты и для остальных ролей сервисов RD
И нажимаю OK — Apply
Создан сертификат сервера и успешно активирован
И нажимаю OK
Win + X — Command Prompt (Admin) — mmc — File — Add/Remove Snap-in…
— находим оснастку Certificates
— нажимаем Add Computer Account — Next — Finish и OK, здесь нужно перенести текущий сертификат сервера srv-ts1.polygon.com из Personal в Trusted Root Certification Authorities\Certificates
После сервер нужно перезагрузить.
Шаг №6:
Теперь нужно распространить данный сертификат на клиентские станции, я делаю это через GPO:
srv-dc1.polygon.com
Win + X — Control Panel — Administrative Tools — Group Policy Management — создаю GPO: Certificate
Computer Configuration — Policies — Windows Settings — Security Settings — Public Key Policies — Trusted Publishers & Trusted Root Certification Authorities — Import и указываю сертификат srv-ts1.pfx
зона применения политики:
Location: polygon.com
Security Filtering: Authenticated Users
Шаг №7:
Все рабочие станции после перезагрузки применят политику из "Шаг №6"
.
Шаг №8:
Теперь проверяю с клиентской станции собственно как выглядит подключение к рабочей области опубликованных приложений:
Windows 10 Pro (Version: 10.0.18362.836) — Login: alektest Pass: Aa1234567 (состоит в группе GROUP_RemoteAPP) запускаю браузер Internet Explorer и в строке адреса указываю:
Win — Стандартные — Windows — и нажимаю на Internet Explorer
https://srv-ts1.polygon.com/RdWeb после чего страница трансформировалась
во всплывающем окне что делать с надстройкой «Microsoft Remote Desktop Services Web Access» нажимаю «Разрешить»
затем указываю данные авторизации:
Domain\user name: polygon\alektest
Password: Aa1234567
Security: This is a private computer
и после нажимаю Sign in, после чего вижу опубликованные(ое) приложение(я) доступные данной учетной записи:
нажимаю на приложение под именем «Обмен», появляется окно обычного подключения к сервису RDP где нужно предопределить первый раз, что:
Разрешить удаленному компьютеру доступ к следующим ресурсам на моем компьютере:
Диски: Отмечаю галочкой
Буфер обмена: Отмечаю галочкой
Принтеры: Отмечаю галочкой
Запись звука: Снимаю галочку
и нажимаю «Подключить», но вот беда — ошибка:
Произошла ошибка при проверке подлинности.
Указанная функция не поддерживается.
Удаленный компьютер: SRV-TS1.POLYGO.COM
Причиной ошибки может быть защита от атак с использованием криптографического оракула CredSSP.
Разбираюсь:
Т.к. по умолчанию на сервере начиная от Server 2012 в свойствах на удаленное подключение стоит галочка использовать проверку подлинности сети:
on srv-ts1.polygon.com
Win + X — Control Panel — System — Advanced system settings — вкладка Remote и снимаю галочку
"Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended)"
и нажимаю Apply — OK
После чего снова кликаю по опубликованному приложению «Обмен», прохожу по шагам выше, нажимаю «Да» где сообщается, что "Не удается проверить подлинность удаленного компьютера. Вы хотите установить подключение в любом случае?"
нажимаю "Просмотреть сертификат" - "Установить сертификат" - Расположение хранилища: Текущий пользователь
«Да». И вот в проводнике открывается диск Z:
где доступ к папки обмена: \\srv-ts1\shara
в трее возле часов появляется иконка свидетельствующая что есть удаленное подключение через RemoteApp
, можно в ручную отключить все подключения.
Шаг №9:
Но для удобства подключения приложений через RemoteApp
подключать их можно, как:
on W10X64
Win - Служебные - Windows - Панель управления - Подключение к удаленным рабочим столам и приложениям RemoteApp - Доступ к удаленным приложениям RemoteApp и рабочим столам
Адрес электронной почты или URL-адрес подключения: https://srv-ts1.polygon.com/rdweb/feed/webfeed.aspx
и нажимаем "Далее", "Далее"
, авторизуемся
Login: alektest
Password: Aa1234567
Домен: POLYGON
Запомнить меня: отмечаю галочкой
и нажимаю «OK». Соединение установлено.
Нажимаю "Готово".
Как это выглядит настроенное подключение?
После перезагрузки компьютера в трее возле часов теперь присутствует иконка
нажимаем на нее левой кнопкой мыши, выбираем "Открыть подключения к удаленным рабочим столам и приложениям RemoteApp"
— затем переходим на "Просмотр ресурсов"
, открывается проводник где строка адреса:
C:\Users\alektest\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Work Resources {RADC}
, а внутри приложение:
А настройки RDP
для данного приложения располагаются в поле "Объект"
если через правый клик мышью на нем открыть "Свойства":
1 | %systemroot%\system32\mstsc.exe “c:\Users\alektest\AppData\Roaming\Microsoft\Workspaces\{GUID}\Resource\Обмен (Work Resources).rdp” |
Теперь это опубликованное приложение доступно в проводнике, копируем его для удобства на "Рабочий стол"
, кликаем по нему два раза левой кнопкой мыши, вот только у меня какая-то не понятка, не сохраняются данные авторизации, нужно указывать снова и снова — а это не правильно:
Дело в том, что политикой компьютера назначено по умолчанию не сохранять пароли на сетевую проверку подлинности. Исправляю локальную правку GPO
компьютера:
Т.к. я сейчас под пользователем, а значит у меня нет прав на вызов оснастки gpedit.msc
, поэтому порядок действий следующий:
Win - Служебные - Windows
— и через правый клик мышью на "Командная строка"
выбираю меню "Дополнительно" - "Запуск от имени администратора"
— авторизуюсь под учетными данными группу "Domain Admins"
, затем в консоли командной строки набираю:
c:\Windows\system32>gpedit.msc
и нажимаю клавишу Enter
Политика "Локальный компьютер" - Конфигурация компьютера - Конфигурация Windows - Параметры безопасности - Локальные политики - Параметры безопасности -
Сетевой доступ: Не разрешать хранение паролей или учетных данных для сетевой проверки подлинности:
с "Отключен"
ставлю на "Включен"
.
После нажимаю "Применить" - "ОК"
, политика применится после перезагрузки.
Теперь при нажатии с рабочего стола по перемещенному ярлыку из C:\Users\alektest\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Work Resources {RADC} на рабочий стол
, двойной клик мышью по опубликованному приложению, указании данных авторизации и отметки сохранить их последующие подключения уже не будут выводить окно на авторизацию снова и снова. Работает.
На заметку: Чтобы была возможность копировать документы Office на терминальном сервере должен быть установлен Microsoft Office
, я использую к примеру: SW_DVD5_Office_Professional_Plus_2016_64Bit_Russian_MLF_X20-42453.ISO
Шаг №10:
Подключать приложение как в "Шаг №8"
удобно когда рабочая станция не в домене, к примеру выездной сотрудник с ноутбуком, но тогда вы должны использовать Remote Desktop Gateway
и сертификат должен быть не самоподписанным, к примеру от Let's Encrypted
. "Нужно обновить сертификат для Remote Desktop Gateway"
Заметка работоспособна и оформляя в шагах на тестовом полигоне прояснила многие нюансы и оставила еще больше. Так кстати всегда. В последующих заметках я покажу, как все сделано у меня на работе и т.д. На этом пока всё, с уважением автор блога Олло Александр aka ekzorchik.ru