Windows Server 2012 R2 Remote Desktop Services - Настраиваем пользовательский интерфейс на серверах RD Session Host

imageПосле развёртывания новой фермы RD Connection Broker на базе Windows Server 2012 R2 встаёт вопрос настройки пользовательского окружения на серверах RD Session Host. В целом общий процесс настройки почти полностью совпадает с тем, что уже описывалось ранее в заметке Remote Desktop Services - Настраиваем пользовательский интерфейс на серверах RD Session Host. Исключением является лишь пара пунктов, которые будут здесь описаны.

***

Метод описанный в пункте Скрываем излишние папки в профиле пользователя применительно к Windows Server 2012 R2 работать не будет. Вместо него воспользуемся вариантом, описанным здесь Windows 8 Forums - This PC - Add or Remove "Folders" in Windows 8.1

image

Видимостью рабочих папок пользователя можно управлять с помощью наличия под-ключей в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace , где каждый отдельный ключ отвечает за какую-то папку, в частности:

{1CF1260C-4DD0-4ebb-811F-33C572699FDE} - Музыка
{374DE290-123F-4565-9164-39C4925E467B} - Загрузки
{3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA} - Изображения
{A0953C92-50DC-43bf-BE83-3742FED03C9C} - Видео
{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0} - Документы
{B4BFCC3A-DB2C-424C-B029-7FE99A87C641} - Рабочий стол

Предположим мы хотим удалить папки “Музыка”, “Загрузки” и “Видео”. Для этого нам можно либо вручную удалить соответствующие ключи реестра, либо создать GPP, удаляющие эти ключи (если нужно одинаково конфигурировать несколько серверов). Например, создадим для этой цели параметры GPP в разделе Computer Configuration\Preferences\Windows Settings\Registry

image

Соответствующие параметры для удобства объединены в группу, которая в нашем примере называется WS-2012R2. В свойствах этой группы параметров сделано нацеливание на семейство ОС – Windows Server 2012 R2 Family. Результат виден сразу после применения GPO (перезагрузка ОС при этом не требуется):

image 

***

Метод описанный ранее в пункте Настраиваем стартовый экран Windows применительно к Windows Server 2012 R2 работать вполне возможно и будет, но более правильно использовать другой метод, доступный в новой ОС для управления стартовым экраном (Start Screen) Windows и описанный в документе Customize Windows 8.1 Start Screens by Using Group Policy:

1) После того, как на все сервера RD Session Host установлено и настроено однотипное программное обеспечение, входим на любой из этих серверов и настраиваем стартовый экран Windows в том виде, в котором мы хотим его представить всем пользователям без возможности последующей модификации.

2) Все сделанные настройки стартового экрана сохраняются на общедоступный сетевой ресурс в формате XML с помощью PowerShell командлета Export-StartLayout

Export-StartLayout -Path "\\holding.com\RDS-Settings\STARTSCREEN\StartScreenSettings.xml" -As XML

Если интересно заглянуть в результирующий XML файл, может потребоваться какой-нибудь текстовый редактор с подсветкой синтаксиса XML и автоматическим форматированием, например Notepad++ с плагином XML Tools

3) Указать путь к выгруженным настройкам стартового экрана можно с помощью параметра групповых политик Start Screen Layout в разделе User Configuration\Policies\Administrative Templates\Start Menu and Taskbar

image

Однако если для разных категорий пользователей требуются разные настройки стартового экрана, то можно более гибко сконфигурировать этот параметр с помощью Group Policy preferences (GPP). Для этого в разделе GPP User Configuration\Preferences\Windows Settings\Registry
нам потребуется настроить параметры LockedStartLayout и StartLayoutFile в ключе реестра
HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer

image

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

Однако при централизованной раздаче настроек стартового экрана, как и в прошлой версии ОС, отображаться будут только те приложения, которые используют хорошо известные AppID (см.выгруженный файл XML).

Интересную информацию по этому вопросу можно найти например в заметке Windows 8.1 Start Screen – Behind the Scenes. Отсюда можно почерпнуть, что в ряде случаев в составе AppID используются идентификаторы известных папок описанных в документе Dev Center - Desktop  - KNOWNFOLDERID. Эксперименты с размещением как ярлыков так и самих исполняемых файлов в указанных каталогах с последующей подменой GUID папок AppID в XML-файле настроек стартового экрана желаемого результата не дали. Фактически могу констатировать, что метод описанный в статье применительно к Windows Server 2012 R2 не работает.

В ходе разного рода экспериментов в руки так же попала одна интересная утилита - OblyTile v0.9.9 . Она позволяет создавать плитки стартового экрана с форсированным назначением для всех пользователей системы, но опять же, она не умеет размещать эти плитки в нужных группировках. И опять же, несмотря на то, что здесь есть такая хорошая штука как экспорт и импорт плиток, эти функции не получится использовать для полноценного копирования плиток между разными серверами, так как при экспорте плиток теряется связь с AppID исходной системы.

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

Всего комментариев: 12 Комментировать

  1. Орхан /

    "Управляю" плитками Вин 8 можно сказать вручную. Создав шаблон (заранее выстроенный вид/кол-во плиток), затем копируя их на нужные рабочие станции. Иного решения пока не нашел

  2. Solenoid /

    Алексей, приветствую!

    Ваша цитата
    "Эксперименты с размещением как ярлыков так и самих исполняемых файлов в указанных каталогах с последующей подменой GUID папок AppID в XML-файле настроек стартового экрана желаемого результата не дали."

    Имелись ввиду эксперименты с сетевыми папками и размещенными в них исполняемыми файлами?

    1. Алексей Максимов / Автор записи

      Не понял вопроса. Имелось ввиду ровно то, что написано.

  3. Solenoid /

    Спасибо за ответ.

    Поясню.... например есть старое приложение, расположено локально С:\OldApp\Test.exe и С:\OldApp\Test.lnk (либо на шаре). Делаем xml, делаем политику, переносим каталог OldApp на другой сервер и т.д. Пользователь заходит на второй сервер, в итоге: плитки нет... так следует понимать?

    1. Алексей Максимов / Автор записи

      Так точно :)

  4. Solenoid /
    1. Алексей Максимов / Автор записи

      Тоже самое проделывал и я в своих тестах, однако использовались не явно установленные в систему и хорошо известные приложения, как в Вашем случае WinRAR, а разного рода сторонние исполняемые файлы. Попробуйте подобным образом например перенести с одного сервера на другой плитку ссылающуюся например на cons.exe (КонсультантПлюс) никак не зарегистрированный в исходной/целевой системе и расположенный при этом в сетевой папке. Мне это сделать не удалось.

  5. Solenoid /

    Попробовал c cons.exe, исправно работает.

  6. Solenoid /

    В XML файле, мои AppID для приложений из сетевых папок такие:

    WinRAR
    AppID="\\WIN-G3AER4GSC68\Old Apps\WinRAR\WinRAR.exe"

    ConsPlus
    AppID="\\WIN-G3AER4GSC68\ConsPlus\ZAKON\CONS.exe"

    1. Алексей Максимов / Автор записи

      Любопытно. Значит что-то изменилось. На момент написания заметки при попытке использовать любые незарегистрированные в системе исполняемые файлы или даже просто ссылки на какие-то каталоги приводили к тому, что при генерации XML в качестве AppID система генерировала какие-то произвольные GUID-ы, которые для одних и тех же объектов файловой системы почти всегда были разными на исходной и целевой системе. Позже тогда снова попробую поэкспериментировать с этой темой. Спасибо за информацию.

  7. Евгений /

    В последнее время пользователи стали жаловаться на тормозящие приложения в терминальном сервере. Оказывается, стала тормозить 2D графика (пользователи работают в браузере, скроллинг рывками, Яндекс.Карты еле двигаются, нагрузка проца в потолок). Ранее симптомы были незаметны, т.к. пользователей было намного меньше.
    Есть какие-либо способы улучшить ситуацию?
    P. S. WS2012R2, сервер работает в ВМ поверх Hyper-V (8 vCpu, 24GB RAM)

    1. Алексей Максимов / Автор записи

      Полагаю, что причина здесь не в интерфейсе (сабж статьи именно об этом), а в чём-то другом. Начать, думаю, стоит с отключения антивирусного ПО, затем сравнить работу тех же сайтов в альтернативных браузерах, - возможно проблема конкретно в IE, и т.д. и т.п.

Добавить комментарий