Глава 7. Службы удалённых рабочих мест

Содержание

Глава 7. Службы удалённых рабочих мест
Введение
Построение отдельной среды сервера Служб удалённых рабочих мест
Подготовка
Как это сделать...
Как это работает...
Добавление дополнительного сервера RDSH в вашу среду RDS
Подготовка
Как это сделать...
Как это работает...
Установка приложений на сервер RDSH
Подготовка
Как это сделать...
Как это работает...
Запрет перенаправления локальных ресурсов
Подготовка
Как это сделать...
Как это работает...
Теневое отслеживание другого сеанса в RDS
Подготовка
Как это сделать...
Как это работает...
Установка драйвера принтера для применения с перенаправлением
Подготовка
Как это сделать...
Как это работает...
Удаление сервера RDSH от использования для сопровождения
Подготовка
Как это сделать...
Как это работает...
Публикация WordPad в Remote App
Подготовка
Как это сделать...
Как это работает...
Отслеживание регистраций пользователей сценариями Logon/ Logoff
Подготовка
Как это сделать...
Как это работает...

RDS (Remote Desktop Services, Службы удалённых рабочих мест) являются выдающимся способом предоставления пользователям доступа к приложениям и данным без необходимости располагать эти приложения и данные на их рабочих станциях. Первоначально называемая Терминальными службами (Terminal Services), эта технология позволяет компаниям оставлять управление всеми их данными и приложениями на централизованных серверах Удалённых рабочих мест (RDS), с которыми пользователи соединяются со своих рабочих станций чтобы получить доступ к этим элементам. Существует два первичных средства предоставления такой информации пользователям. Первая состоит в удалённом сеансе, при котором пользователь регистрируется на сервере RDSH (Remote Desktop Session Host, Хоста сеансов удалённых рабочих мест) и в конечном итоге приземляется внутри сеанса, размещённого на этом сервере. Этот сеанс выглядит и ощущается для такого пользователя в точности как обычный настольный компьютер, как если бы у него был болный рабочий стол с кнопкой Старт и возможностью запускать любые приложения доступные ему в рамках этого сеанса. они также способны сохранять документы внутри такого сеанса, оставляя всё централизованным образом. Это наиболее общий объект RDS, который я видел применяемым на практике и то на чём мы в основном сосредоточены в своих административных задачах, которые мы обсуждаем в настоящее время.

Второй способ предоставления данных пользователям через RDS это RemoteApp. Это классная функция, которая способна предоставлять только само приложение по себе удалённо компьютеру пользователя вместо полного сеанса рабочего места. Это прекрасный способ дальнейшего ограничения доступа, который предоставляется такому пользователю и упрощает шаги, которые этот пользователь должен предпринимать для доступа к таким ресурсам.

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

В данной шлаве вы рассмотрите следующие рецепты:

  • Построение среды отдельного сервера RDS

  • Добавление дополнительного сервера RDSH в вашу среду RDS

  • Установка приложений на сервере RDSH

  • Отключение перенаправления локальных ресурсов

  • Экранирование прочих сеансов в RDS

  • Установка драйвера принтера для его применения с перенаправлением

  • Удаление сервера RDSH из применения для технического обслуживания

  • Публикация WordPad в RemoteApp

  • Отслеживание регистраций пользователя при помощи сценариев Logon/Logoff

Введение

Я хотел бы занять минутку и описать различные части и фрагменты которые может потенциально применять ваша среда RDS. Мы не будем охватывать саму установку или применение всех компонентов, которые могут быть вовлечены в полное размещение RDS, однако вы по крайней мере должны быть осведомлены об этих компонентах и предназначенных им функциях:

  • Remote Desktop Session Host (Хост сеансов удалённых рабочих мест): это наиболее общий тип сервера RDS, так как он именно то, что размещает все программы и сеансы, к которым подключаются пользователи. В зависимости от размеров вашей среды, могут существовать несколько таких одновременно работающих серверов.

  • Remote Desktop Connection Broker (Посредник соединений удалённых рабочих мест): Он выглядит как некий балансировщик нагрузки для серверов RDS. Он равномерно распределяет пользователей по серверам RDSH и помогает пользователям повторно соединяться с существующими сеансами вместо создания таковых новыми.

  • Remote Desktop Licensing (Лицензирование удалённых рабочих мест): Он отвечает за управление лицензиями, которые необходимы для использования RDS в сетевой среде.

  • Remote Desktop Gateway (Шлюз удалённых рабочих мест): Это шлюзовое устройство, которое может выводить удалённых пользователей из Интернета в среду RDS. Например, пользователь из дома может применять соединение предоставляемое Шлюзом RD чтобы получать доступ к рабочей информации.

  • Remote Desktop Web Access (Веб- доступ удалённых рабочих мест): Делает возможным для пользователей осуществлять доступ к рабочим местам и приложениям применяя локальное меню Start в их компьютерах Windows 7, 8 или 10. Пользователи также могут использовать его для доступа к приложениям через веб- браузер.

  • Remote Desktop Virtualization Host (Хост виртуализации удалённых рабочих мест): Эта роль интегрирована в Hyper-V чтобы предоставлять сеансы виртуальных рабочих мест пользователям. Единственная разница здесь состоит в том, что ресурсы даваемые таким пользователям раскручиваются из Hyper-V вместо того, чтобы совместно применять ресурсы подобные RDSH.

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

Построение отдельной среды сервера Служб удалённых рабочих мест

Если вы не пришли в среду, в которой RDS уже запущен и работает, будет полезным понять откуда приходят эти роли и как они помещаются на место. В данном рецепте мы собираемся соединить ряд ролей RD в отдельном сервере чтобы мы смогли рассмотреть такой процесс установки. Когда мы завершим его, мы должны будем иметь сервер RDS который позволит пользователям присоединяться и использовать сеанс Удалённого рабочего места.

Подготовка

Мы будем использовать машину Windows Server 2016 для установки своих ролей RDS. Этот сервер уже подключён в домен.

Как это сделать...

Следующие шаги проведут вас через установку ролей, необходимых для запуска вашего первого простого сервера RDS:

  1. Откройте Диспетчер сервера и кликните по ссылке Add roles and features .

  2. Кликните Next, что приведёт вас в экран Installation Type. Это то место, которое отличается от обычного, так как здесь производятся установки роли. Для большинства ролей мы склонны пролетать этот экран без задней мысли. Для Служб удалённого рабочего места (RDS), однако, нам необходимо внести изменения в этот экран.

  3. Выберите параметр Remote Desktop Services installation. Затем кликните Next.

     

    Рисунок 1



  4. Оставьте настройки по умолчанию в Standard deployment и кликните Next. В этом экране мы можем выбрать параметр Quick Start, так как мы предполагаем настроить только отдельный сервер в настоящий момент. Я выбираю не этот сокращённый путь, так как мы хотим получше разглядеть различные службы, которые мы собираемся установить и желаем оставить свою установку открытой для наличия множества серверов RDS в дальнейшем пути.

  5. В этом сервере RDS мы планируем предоставить доступ обычным сеансам рабочих мест не интегрированных в Hyper-V. Поэтому в своём экране Deployment Scenario screen выберите Session-based desktop deployment.

     

    Рисунок 2



  6. Теперь мы видим итог всех служб ролей необходимых для нашей установки. Основываясь на выбранных параметрах, вы должны видеть в этом перечне RD Connection Broker, RD Web Access и RD Session Host. Последующие несколько экранов будут использоваться для определения какие серверы собираются использоваться для этих ролей.

  7. Поскольку мы устанавливаем всё на отдельный сервер, на текущий момент, у нас имеется только один параметр в списке Server Pool и мы просто перемещаем его в правую колонку. Пройдём далее и кликнем стрелку чтобы сделать это на странице RD Connection Broker.

     

    Рисунок 3



  8. Теперь сделаем то же самое в следующих двух экранах. В нашем примере мы применяем сервер с именем RDS1, поэтому я собираюсь использовать его в качестве и своего сервера RD веб- доступа, и в качестве сервера хоста сеансов RD.

  9. Теперь вы должны выйти на экран Confirmation, который выдаст вам итог выполненных вами действий. В нашем случае все три службы RDS были установлены в сервере RDS1. Мы должны теперь проверить блок, который сообщает Restart the destination server automatically if required и нажать на кнопку Deploy.

     

    Рисунок 4



Как это работает...

Мы можем последовать этому рецепту чтобы получить наше первое простое окружение RDS поднятым и работающим. Наш сервер теперь будет позволять пользователям присоединяться и получать доступ к виртуальным сеансам, которые размещаются прямо на этом сервере RDS1. Чтобы зарегистрироваться, пользователь может либо запустить инструмент Соединения с удалённым рабочим местом (Remote Desktop Connection) на своём клиентском компьютере и набрать имя нашего сервера RDS1 или открыть веб- браузер и набрать в строке ввода https://rds1/rdweb. В любом случае они приземлятся внутри сеанса рабочего места, который выглядит и ощущается в точности как рабочее место Windows 10. Внутри этого рабочего места, предоставляемого вашим сервером RDS, они способны запускать приложения и сохранять документы, имея всё работающим и сохраняющимся прямо в самом сервере вместо их локального рабочего места компьютера. Из этой простой реализации отдельного сервера RDS мы можем строить и наращивать для их предоставления дополнительные роли RDS на большем числе серверов или для своих целей обработки дополнительных нагрузок пользователей.

Добавление дополнительного сервера RDSH в вашу среду RDS

Большинство реализаций RDS начинают с отдельного сервера или, по крайней мере, отдельного RDSH. Когда у вас имеются настроенные роли для успешной связи здесь, естественным следующим шагом является прибавление дополнительных серверов RDSH для размещения большего числа пользователей. Или, может быть, вы желаете разделить различные типы пользователей (и их приложения) на различные серверы RDSH. Какой бы ни была причина, существует вероятность, что в определённый момент вы пожелаете прибавить дополнительные серверы в свою среду RDS. Давайте добавим второй сервер к себе с тем, чтобы вы могли увидеть как происходит этот процесс.

Подготовка

У нас имеется отдельный работающий сервер, исполняющийся под Windows Server 2016. Он имеет имя RDS1 и уже выполняет роли Посредника соединения Rd, Хоста сеансов RD, а также Веб- доступа RD. Теперь мы применим имеющийся на RDS1 интерфейс управления чтобы добавить второй сервер RDSH в свою инфраструктуру. Именем нашего второго сервера будет RDS2 и он уже присоединён к нашему домену.

Как это сделать...

Чтобы добавить новый сервер RDSH в нашу существующую среду RDS следуйте таким инструкциям:

  1. В существующем сервере RDS, RDS1 откройте Диспетчер сервера.

    [Совет]Совет

    Нам необходимо добавить наш новый сервер RDS2 к экземпляру Менеджера сервера, который исполняется на RDS1. Пока мы не выполним этот шаг, мы не будем в состоянии выполнять изменения с RDS2 отсюда.

  2. Кликните по ссылке Add other servers to manage.

     

    Рисунок 5



  3. Наберите имя нового сервера, который вы собираетесь включить в RDSH. Для нашего примера это RDS2. Затем кликните стрелку для добавления этого сервера в перечень Selected и кликните OK.

  4. Теперь назад на главную страницу Менеджера сервера, продвинемся далее в просмотре Remote Desktop Services в левой панели окна. Это перенесёт нас в интерфейс управления для RDS. Взглянем на DEPLOYMENT OVERVIEW, что является самостоятельно создаваемой схемой того, как выглядит ваше текущее размещение RDS. Так как мы только что проверили свои текущие сервера и не осуществляли к ним доступ из- за пределов сетевой среды, мы видим символы плюс рядом с RD Gateway и RD Licensing. Это просто означает, что мы пока имеем не настроенными эти роли и мы можем кликнуть по этим плюсам и следовать за приглашениями если мы собираемся делать это. В настоящее время у нас нет требований к этим службам и поэтому мы их проигнорируем в данный момент.

     

    Рисунок 6



  5. Чтобы добавить новый сервер RDSH, перейдите выше в верхний правый угол данного окна и кликните на ссылку, которая сообщает Add RD Session Host servers.

     

    Рисунок 7



  6. Так как мы добавили его в Диспетчер сервера в данном рецепте ранее, мы теперь должны иметь возможность увидеть его в списке новых серверов доступных для выбора. Выберите новый сервер RDS2 и кликните стрелку для перемещения его в колонку Selected. Затем кликните Add.

     

    Рисунок 8



  7. Кликните кнопку Next и вам нужно будет пометить блок, который сообщает Restart remote computers as needed в экране Confirmation. Затем кликните Add.

Как это работает...

В этом рецепте мы воспользовались консолью управления Служб удалённых рабочих мест (RDS) в нашем первичном сервере RDSH чтобы получить новый сервер, который мы запустили и включили его в сервер RDSH (Remote Desktop Session Host). Этот RDSH теперь является частью нашей инфраструктуры RDS и может управляться прямо из данной централизованной платформы управления. В среде RDS это типичный способ, что новые роли добавляются в сервера, которые были привнесены в данную среду. Применение централизованной консоли управления для выполнения многих задач в RDS имеет прямой смысл, потому что будет гораздо проще когда вы видите большую картину своей инфраструктуры RDS при осуществлении изменений или обновлений.

Установка приложений на сервер RDSH

Как только вы возьмёте Windows Server и превратите его в сервер RDSH, который будет применяться внутри среды RDS, значительно изменяется способ, которым работают приложения на этом сервере. Всякий раз, когда программы и приложения устанавливаются на такой RDSH, они вначале должны быть помещены в особый Install Mode (Режим установки). Помещение сервера в Режим установки перед запуском программы установки важно для получения гарантии того, что приложения собираются устанавливаться способом, который позволит множеству пользователей выполнять их одновременно. Помните, наши серверы RDSH будут размещать множество сеансов пользователей, возможно десятки.

Применение Режима установки настолько важно для надлежащей работы ваших приложений в RDSH, что вам на самом деле не стоит устанавливать никакие программы на сервер до того, как вы превратите их в RDSH. Раз эта роль была прижилась, тогда приложения могут быть безопасно установлены раз вы применяете Режим установки. Программы, установленные до преобразования данного сервера в RDSH могут не работать надлежащим образом и вам может понадобиться их демонтаж с повторной установкой. Существует пара различных способов которым Режим установки может быть запущен в процессе установки программы; давайте рассмотрим их оба.

Подготовка

Нам необходимо установить программу на свой сервер RDSH. Эта коробка работает под управлением Windows Server 2016 и уже является частью среды RDS. Нам также, естественно, необходимы файлы установки приложения которые мы собираемся запускать.

Как это сделать...

Один вариант надлежащей установки программ на RDSH состоит в использовании Панели управления (Control Panel) для установки данного приложения:

  1. Кликните правой кнопкой по флажку Start и выбирите Панель управления для открытия.

  2. Кликните в ней Programs.

  3. Выбирете кнопку, которая сообщает Install Application on Remote Desktop….

     

    Рисунок 9



  4. Кликните Next и вы получите возможность определить местоположение вашего файла установки для данного приложения.

     

    Рисунок 10



  5. Кликните Next и ваша программа установится. Когда установка завершится, убедитесь что вы кликнули кнопку Finish в экране мини- мастера Режима установки с тем, чтобы RDSH переместился назад в Режим исполнения (Execute Mode) и был готов для нормальной работы.

     

    Рисунок 11



Второй способ поместить RDSH в Режим установки состоит в применении приглашения командной строки:

  1. Кликните правой кнопкой по флажку Start и выберите для открытия Command Prompt (Admin).

  2. Наберите change user /install и нажмите Enter.

     

    Рисунок 12



  3. Теперь найдите вашу программу установки и запустите её. Пройдите через этапы установки способом, аналогичным тому как вы это делаете на любом обычном сервере или компьютере.

  4. Когда программа завершит установку, вернитесь назад в окно приглашения командной строки и теперь наберите change user /execute. Затем нажмите Enter. Это выведет ваш RDSH из особого Режима установки и поместит его обратно в Режим исполнения (Execute Mode).

     

    Рисунок 13



    [Совет]Совет

    Повторный запуск сервера также помещает его в назад в Режим исполнения. Поэтому если ваше устанавливаемое приложение попросит вас выполнить перезапуск как часть процесса установки, ваш RDSH будет возвращён назад в Режим исполнения при его загрузке, и в этом случае у вас нет нужды вводить данную команду вручную.

Как это работает...

При установке программ в RDSH он должен быть вначале помещён в особый Режим установки (Install Mode). Выполнение этого повторно отображает определённые части устанавливаемой программы таким образом, что они могут быть запущены и использованы многими пользователями в одно и то же время. Установка ваших приложений путём применения одного из обсуждающихся в данном рецепте методов будет критически важной для успешной работы вашего окружения RDS чтобы оно было в состоянии предоставлять приложения пользователям.

Также имейте в виду, что вам рекомендуется не иметь зарегистрированных в RDSH пользователей в процессе времени установки. Когда вы строите новые серверы, будет проще чтобы вы обычно не позволяли никаким пользователям присоединяться пока всё не будет установлено и настроено. Однако если вам необходимо устанавливать новые программы или обновлять существующие на находящемся в использовании RDSH, вы захотите предпринять шаги чтобы гарантировать что пользователи не зарегистрируются на этом сервере до того как вы поместите его в Режим установки и запустите эти исполнения. Если у вас работает ферма серверов RDS, и вы хотите удалить только один из них для технического обслуживания или установки приложения, убедитесь что вы ознакомились с рецептом Удаление сервера RDSH от использования для сопровождения.

Я упоминаю о помещении вашего RDSH в Режим установки (Install Mode) даже когда просто устанавливаются обновления для существующих приложений. Это важно. Однако не следует помещать некий сервер в Режим установки чтобы устанавливать обычные обновления операционной системы Windows. Они способны корректно устанавливаться даже когда сервер находится в обычном Режиме исполнения (Execute Mode).

Запрет перенаправления локальных ресурсов

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

Такая технология может быть очень полезной, но зачастую не желательной по причинам безопасности и политики. Многие организации прописывают политику безопасности, которая диктует что корпоративные данные должны оставаться внутри корпоративной сетевой среды и не могут выходить наружу. Наиболее часто я встречал медицинские среды, в которых строгие стандарты состоят в размещении гарантии того, что данные остаются частными и безопасными. Это означает, что данные не могут копироваться и вставляться в ваш локальный компьютер, документы не могут сохраняться за пределами вашего сеанса RDS, а печать документов также часто не разрешается.

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

Подготовка

Мы зарегистрированы на своём RDSH Server 2016. Этот сервер размещает некоторую чувствительную информацию и мы хотим получить уверенность что пользователи не смогут сохранять документы на свои локальные компьютеры, не смогут печатать документы на локальные принтеры и не смогут выполнять copy/paste внутри своего буфера обмена чтобы перемещать данные из сеанса RDS на свои локальные компьютеры.

Как это сделать...

Для запрета таких функций перенаправления в нашей коллекции RDSH выполните следующее:

  1. Откройте Диспетчер сервера и кликните Remote Desktop Services для открытия и управления вашей средой RDS.

  2. В настоящее время у нас имеется в списке одна коллекция RDSH, которая содержит оба наших сервера RDSH. Именно к этой коллекции присоединяются все пользователи, когда они должны осуществлять доступ к данной чувствительной информации. Кликните по наименованию этой коллекции. В нашем примере она называется MDomain RDSH Servers.

  3. Поблизости от вершины экрана найдите раздел с названием Properties. Раскройте вниз блок Tasks и кликните по Edit Properties.

     

    Рисунок 14



  4. Кликните по Client Settings.

  5. Здесь перечислены все элементы, которые в настоящий момент способны осуществлять перенаправление. Пройдите далее и уберите отметку такого перенаправления там, где вы желаете его запретить. В нашем примере мы убираем отметки Drives, Clipboard и Allow client printer redirection.

     

    Рисунок 15



  6. Кликните OK и такие перенаправляемые ресурсы больше не будут доступны присоединённым к данной коллекции RDSH компьютерам клиента.

Как это работает...

Предоставление пользователям возможности перемещения данных назад и вперёд между их локальными компьютерами и сеансами RDS кажется великолепной функцией, однако зачастую они менее чем желательны. При помощи некоторых простых флаговых пометок мы можем запретить эти возможности оптом чтобы вы могли оставаться верными политикам безопасности и гарантировать что чувствительные данные останутся защищёнными. Когда вы знакомы с местоположением этих настроек, их разрешение и запрет интуитивно понятны и легко выполняются. Что даже ещё лучше, так это то, что эти настройки могут изменяться в любое время; даже нет необходимости принимать какое- либо решение при построении вашей среды RDS. Если в дальнейшем пути вы примете решение переключить некоторые из них во включённое или выключенное состояние, вы сможете сделать это в любой момент времени в своём промышленном RDS.

Теневое отслеживание другого сеанса в RDS

Представим себе что вам позвонили удалённые пользователи из вашей компании; они в настоящий момент находятся в отеле и решают проблему как открыть некое приложение. Это приложение не установлено на их локальном компьютере, в то же время они являются некими RDS пользователями и они подключаются к виртуальном сеансу на сервере RDSH в вашей сетевой среде всякий раз, когда у них есть необходимость в этом приложении. Вы думаете попросить у них их пароль, так как этот вариант поможет вам просто зарегистрироваться в RDSH под их логином и позаботиться о решении имеющейся проблемы. Однако, увы, запрос пароля является серьёзным нарушением политики безопасности компании. Вместо этого вы скорее всего можете воспользоваться неким видом программного обеспечения организации контакта в реальном времени чтобы совместно использовать экран их ноутбука и попытаться пройти с ними совместно исправление данной проблемы. Однако это означало что они должны были бы выполнить установку такого программного обеспечения организации удалённого контакта и надежду на то, что вам удастся объяснить по телефону как им пользоваться.

Ищите лучшее решение? Воспользуйтесь функциональностью Отслеживания (Shadowing) RDS. Если вы зарегистрируетесь на сервере RDS, на котором эже зарегистрирован нужный вам пользователь, вы можете просто стать тенью их сеанса чтобы видеть то, что видят они. Тогда вы сможете работать совместно над разрешением их проблемы. Вы будете способны брать всё под контроль и исправлять проблему и, быть может, они даже смогут сделать некоторые замечания и научить вас что сделать для них, чтобы они в следующий раз не делали вам звонок.

Этот рецепт включён здесь в особенности из- за того, что Отслеживание RDS было всегда доступно в более ранних версиях Терминального сервера, однако было затем удалено из RDS Server 2012. Однако, хорошие новости! Оно было возвращено назад из- за множества запросов в Server 2012 R2 и продолжает оставаться здесь и в Windows Server 2016!

Подготовка

Наш удалённый пользователь зарегистрировался в нашем сервере RDSH, который называется RDS1. Это машина Server 2016, которая является частью нашей инфраструктуры RDS.

Как это сделать...

Давайте выручим удалённого пользователя теневым отслеживанием его сеанса RD:

  1. Для начала нам необходимо зарегистрироваться на том же самом сервере RDSH, на котором уже зарегистрирован это пользователь с проблемой. На своём компьютере откройте Remote Desktop Connection и введите имя этого сервера для соединения.

  2. Теперь, когда вы зарегистрированы в RDSH, кликните правой кнопкой по Taskbar и откройте Task Manager.

     

    Рисунок 16



  3. Кликните More details чтобы увидеть дополнительную информацию об этом сервере.

  4. Перейдите в закладку Users.

  5. Кликните правой кнопкой на заголовок одного из столбцов и выберите для показа колонку ID.

     

    Рисунок 17



  6. Оставьте Менеджер задач открытым с тем, чтобы вы могли видеть имя пользователя с которым вы хотите соединиться, а также его идентификационный номер.

  7. Теперь откройте приглашение командной строки и наберите следующее: mstsc /shadow:<id> /control. Например, для нашего конкретного пользователя jkrause, который в настоящий момент работает под идентификатором 3, что вы можете обнаружить внутри Менеджера задач, мы применим такую команду: mstsc /shadow:3 /control.

     

    Рисунок 18



  8. Это команда запустит теневой сеанс для данной сессии RD с данным идентификационным номером который вы применяете, поэтому убедитесь что вы применяете верный идентификационный номер для данного пользователя, действия которого вы желаете отслеживать. Так как мы применяем переключатель /control, вы также должны также иметь возможность применять собственные мышь и клавиатуру внутри такого сеанса пользователя.

Как это работает...

Хотя теневое отслеживание Server 2016 не совсем такое же простое каким оно было ранее в предыдущих версиях Терминального сервера, всё- таки здорово знать, что эта возможность возвращена после замеченного отсутствия в Server 2012. Отслеживание RDS является великолепным инструментом для применения поиска неисправностей и совместной работы, так как оно позволяет вам совместно применять экран другого персонала и помогать ему собственными клавиатурой и мышью в управлении, когда возникает такая необходимость. Наличие двух наборов глаз в одном и том же сеанса может оказаться неоценимым во многих ситуациях; не забудьте попробовать его прямо сейчас!

Установка драйвера принтера для применения с перенаправлением

Когда пользователь подключается к сеансу RD, если его клиент и сервер настроены надлежащим образом, это соединение попытается настроить перенаправление принтера между текущим сеансом RD и его локальным компьютером. В частности, каждый установленный на локальном компьютере принтер будет настроен как отдельный принтер внутри данного RD сеанса пользователя. Это именно то свойство, которое позволяет пользователям быть в состоянии печатать на своих локальных принтерах, даже если расстояние от места доступа до места печати составляет половину земного шара.

Когда RD соединение строит такие виртуальные принтеры, оно пытается применять актуальные драйверы принтера для них. Например, если принтером является HP LaserJet 4100 и ваш сервер RDSH имеет установленный драйвер HP LaserJet 4100, тогда когда такой принтер станет настроенным внутри обсуждаемого сеанса пользователя, он будет использовать уже существующий, официальный драйвер. Если пользователь зарегистрируется в RDSH с принтером, драйвер которого, однако, отсутствует в данном сервере RDSH, по умолчанию такой принтер не будет установлен. Существует некая настройка в той же самой странице настроек, где мы разрешали и запрещали перенаправление принтера в коллекции серверов RDSH, которая может частично помочь с этим. Если вы выберете конкретную опцию в этом экране для Use the Remote Desktop Easy Print print driver first, в случае, когда реальный драйвер принтера не существует для определённого принтера, вы будете применять общий драйвер, который в действительности может работать, а может и не работать с имеющимся принтером. Это может несомненно помочь с мостом над пропастью когда мы сталкиваемся с отсутствием драйверов, но это не всегда решает имеющуюся проблему.

Наилучшим способом гарантировать что ваши пользователи в состоянии печатать надлежащим образом будет установить актуальный драйвер в ваш RDSH. Итак, в чём цель данного рецепта? Кто не знает как правильно устанавливвать драйвер принтера? Я пишу это потому что большинство программных пакетов драйверов принтера в настоящее время являются полнофункциональными приложениями, и нам не нужно и четверти от того, что приходит вместе с ним. Устанавливающие драйвер пакеты потребляют намного больше пространства, чем это необходимо в случае применения с RDS и нам необходимо учитывать что мы устанавливаем реальные приложения, которые могут потенциально показываться внутри сеанса пользователя и вызывать конфликт. Итак, в чем ответ? Извлеките простые файлы драйвера из этих пакетов драйвера и примените только сами эти файлы чтобы установить соответствующий драйвер в Windows. Давайте сделаем это вместе с тем чтобы вы смогли увидеть о чём я говорю.

Подготовка

Мы будем устанавливать данный драйвер принтера в свой сервер RDSH, работающий под управлением Windows Server 2016. Для нашего примера мы будем использовать принтер Brother MFC-J625DW, потому что именно его я только что устанавливал для некоего пользователя. Brother обычно достаточно хорош, представляя простую, небольшую загрузку драйвера, которая содержит только те файлы, которые необходимы для самого драйвера.

Как это сделать...

Давайте работать вместе над загрузкой и установкой данного драйвера принтера в наш RDSH с тем, чтобы его можно было использовать для переназначения принтера:

  1. Для начала загрузите файлы драйвера в ваш сервер RDSH. Убедитесь что вы выбрали необходимый драйвер именно для серверной операционной системы, не для клиента. Поэтому, когда это возможно, я собираюсь выбирать Windows Server 2016. В приводимом ниже перечне вы можете увидеть, что Windows Server 2016 не является доступной опцией для меня с данной конкретной моделью принтера, ну и ладно. В случае, когда драйвер актуальной операционной системы не доступен, вы часто используете его из последней версии Windows и делаете его рабочим. Я попытаюсь загрузить 64- битный драйвер Windows 10 и посмотреть установится ли он в мой Windows Server 2016. В качестве альтернативы я скорее всего могу также получить для установки также 64- битный драйвер Windows Server 2012 R2.

     

    Рисунок 19



  2. Мы можем увидеть, что присутствуют несколько различных вариантов, доступных для загрузки данного драйвера. Первый из имеющихся представляет самый полный программный пакет, однако это 134 МБ и вспомните что мы говорили ранее, что самый полный пакет совсем не является необходимым для сервера RDS. Нам всего лишь нужен сам драйвер. Чуть ниже на данной странице присутствует опция для Add Printer Wizard Driver. Это именно то что нужно нам и, знаете ли вы, она всего 23МБ!

     

    Рисунок 20



    [Совет]Совет

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

  3. Кликните правой кнопкой по флагу Start и выберите Control Panel.

  4. Переместитесь к Hardware | View devices and printers.

  5. Кликните на любой существующий в этом списке принтер, а затем кликните по кнопке в верху taskbar, которая сообщает Print server properties.

     

    Рисунок 21



  6. Просматривайте до закладки Drivers. Она отобразит перечень установленных в настоящий момент драйверов принтера в данном сервере. Затем кликните кнопку Add….

  7. Дважды кликните Next. Мы можем покинуть экран Processor Selection помеченный только x64, так как Windows Server 2016 поставляется только в 64- битном варианте.

  8. Теперь кликните по Have Disk… и определите местоположение ваших файлов драйвера, которые вы загрузили. Вы ищите файл INF, который обычно расположен в самом корне такой папки драйвера. Иногда вам придется поискать слегка вокруг пока вы не обнаружите его, однако этот файл всегда является файлом INF.

     

    Рисунок 22



  9. Когда вы выберете файл INF, появившийся Add Printer Driver Wizard отобразит список драйверов, которые содержатся внутри этого файла INF. Выберите определённый драйвер принтера, который вы хотите установит, и кликните Next.

     

    Рисунок 23



  10. Кликните Finish и драйвер будет установлен. Теперь вы должны увидеть его в перечне драйверов принтера, которые установлены на данном сервере.

     

    Рисунок 24



Как это работает...

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

По мере обретения опыта во всё большем и большем числе установок драйвера вы начнёте понимать как производители предоставляют простые пакеты драйвера для такой цели , а какие не подходят. В конце концов, однако, любое такое программное обеспечение всегда содержит простые файлы драйвера; иногда это просто вариант запуска гигантской программы установки с тем, чтобы она разместила эти файлы куда- то во временное местоположение на вашем жёстком диске. Что я обычно предпринимаю в таких ситуациях, так это запускаю установщик и прохожу его этапы необходимые чтобы обнаружить эти распакованные/ выделенные файлы. Когда они получены, нет необходимости выполнять что- либо ещё в таком мастере для установки программных приложений, так как вы знаете что нужные вам файлы драйвера расположены на вашем жёстком диске где- то на сервере. Вам только нужно найти их. Применение утилиты типа FileMon может помочь идентифицировать местоположение файла, который был только что изменён и достаточно быстрый способ отслеживания таких файлов драйвера которые обычно скрываются прочь в папке temp. Когда вы обнаружите нужные файлы, вы можете скопировать их в более постоянную папку для целей установки драйвера, прервать ваш мастер установки и пройти вместо этого указанные в данном рецепте этапы для установки такого драйвера.

Удаление сервера RDSH от использования для сопровождения

Случается что вам будет необходимо выполнить некоторые сопроводительные работы на ваших серверах RDSH. Будь то установка обновлений, установка новых приложений или его извлечение для некоторых физических работ, это происходит рано или поздно. Если у вас имеется множество серверов RDSH в некотором объединении и вы просто отключите один, нагрузки пользователей со временем отсортируются, так как посредник (broker) RD отошлёт новые соединения для серверов RDSH, которые всё ещё включены, однако вы получите неоправданные ожидания и головную боль для некоторых пользователей, которые были зарегистрированы в тот момент, когда вы осуществили отключение. Намного более дружелюбным будет подать сигнал RDSH выполнять запрет на приём новых пользовательских соединений и позволить существующим прекратить действие по истечению некоторого периода времени. Это вариант подобный истощающей остановке (drain stop, сливной, дренажной) в мире NLB (сетевой балансировки нагрузки).

Давайте взглянем на включаемые в RDS установки, которые сделают возможными нам подать сигнал RDSH стать неиспользуемой и заставить посредника (broker) удерживаться от установки новых приходящих соединений с ним. Мы также вернём эти изменения чтобы обеспечить начало приёма им соединений вновь после завершения сопроводительных работ.

Подготовка

У нас имеется среда RDS настроенная с двумя серверами RDSH. Они имеют имена RDS1 и RDS2, причём у нас есть запрос осуществить некие работы по сопровождению на RDS2. Все наши действия будут осуществляться изнутри консоли управления RD в RDS1.

Как это сделать...

Чтобы остановить поток новых соединений к RDS2:

  1. Откройте Диспетчер сервера и кликните Remote Desktop Services в левой панели окна.

  2. Переместитесь в Collections | MyDomain RDSH Servers. Это название нашего собрания RDSH в моей среде; вам нужно кликнуть на имеющееся у вас название коллекции.

  3. Отмотайте вниз пока не увидите раздел Host Servers. Это перечень серверов RDSH являющихся частью вашей коллекции.

  4. Кликните правой кнопкой на тот сервер RDSH с которым нам необходимо выполнять работы по его сопровождению. В нашем случае это RDS2.

  5. Кликните на Do not allow new connections.

     

    Рисунок 25



  6. Это приведёт к тому, что все новые соединения будут отсылаться на RDS1 или какие- либо ещё сервера RDSH которые имеются в вашем собрании. Затем, после того как вы завершите обслуживание и вы будете готовы повторно ввести назад в строй нашей коллекции RDS2, просто кликните на его имя здесь снова и на этот раз выберите Allow new connections.

     

    Рисунок 26



Как это работает...

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

Публикация WordPad в Remote App

Большинство рецептов в этой главе сосредоточены на полных сеансах рабочих мест, предоставляющихся серверами RDSH, так как это наиболее общий сценарий применения который я нахожу при использовании RDS в практических случаях. Одна дополнительная часть, которую я бы хотел бегло рассмотреть это публикация RemoteApp. Это возможность публиковать индивидуальные приложения для удалённых пользователей из сервера RDSH вместо полного сеанса рабочего места. Это предоставляет бесшовное окно для конкретного приложения, позволяя RemoteApp выглядеть и и ощущаться в точности как любая другая программа на вашем пользовательском компьютере. Давайте настроим простое приложение и проверим его применение с компьютера клиента. Ради простоты демонстрации этой возможности мы просто воспользуемся в качестве нашего приложения WordPad для его публикации и запуска.

Подготовка

Наша работа над публикацией WordPad в качестве RemoteApp будет выполнена из нашего RDSH Server 2016 имеющего имя RDS1. Мы будем также использовать компьютер клиента чтобы проверить доступность этого приложения когда завершим его публикацию.

Как это сделать...

Для публикации WordPad в качестве RemoteApp выполните следующие шаги:

  1. В RDS1 запустите Диспетчер сервера и кликните по Remote Desktop Services в левой панели окна.

  2. Промотайте до коллекции серверов RDSH в которых вы хотите опубликовать это новое приложение. Для нашего примера я просматриваю Collections | MyDomain RDSH Servers.

  3. Поблизости от середины данного окна вы увидите раздел с названием REMOTEAPP PROGRAMS. Кликните по этой ссылке в средней части данного окна которое просит Publish RemoteApp programs.

     

    Рисунок 27



  4. Ваш мастер теперь начнёт опрашивать сервер для формирования перечня доступных приложений. Просмотрите этот список пока не увидите WordPad; скорее всего он в самом низу. Выберите его и кликните Next.

     

    Рисунок 28



  5. В окне Confirmation кликните Publish.

  6. Теперь, когда у вас имеется опубликованный WordPad, зарегистрируйтесь на клиентском компьютере с тем, чтобы мы могли проверить его доступность.

  7. На клиентском компьютере откройте веб- браузер и в строке навигации наберите https://RDS1/RDweb.

     

    Рисунок 29



  8. Введите свои полномочия и вы должны будете увидеть наши опубликованные ресурсы которые доступны в имеющейся среде RDS. Как и ожидалось, теперь здесь виден WordPad.

     

    Рисунок 30



  9. Кликните на иконку WordPad и он откроется на вашем компьютере.

     

    Рисунок 31



Как это работает...

Если у вас нет необходимости чтобы пользователи получал доступ к полному рабочему месту когда они регистрируются в в вашей среде RDS, у вас имеется возможность вместо этого публиковать отдельные приложения. Это может быть полезным для ограничения тех ресурсов, к которым осуществляют доступ сотрудники, или же, возможно для кого- то, например для производителя или временно назначенного, кому нужен доступ только к определённым программам и данным. Хотя это и было очень простой демонстрацией использующей программой испечённой внутри Windows, вы можете применить тот же самый процесс с другими приложениями, которые вы имеете установленными вами на своих серверах RDSH. {Прим. пер.: более сильное впечатление на вас может произвести некое CAD/CAE приложение или компьютерная игра, которая будучи установленной на сервере, имеющем мощный GPU (например, Nvidia Tesla Pascal P100) сможет отображаться на вашем ноутбуке/ смартфоне/ планшете, не имеющих естественных возможностей исполнять данное приложение. Приведём ссылки на наши переводы с подробностями по Применению RemoteFX и существующих вариантах Аппаратного ускорения графики (пусть последняя ссылка и в изложении для Horizon View, важна содержательная часть предоставляемых возможностей!).}

[Совет]Совет

Убедитесь что вы установили данные приложения {Прим. пер.: и необходимое им оборудование, например, GPU} на всех серверах в вашей коллекции.

Отслеживание регистраций пользователей сценариями Logon/ Logoff

Я работал с RDS с тех пор, когда она ещё не называлась RDS, и время- от времени абсолютно все отдельные пользователи спрашивали о возможности сообщать какие пользователи подключены к каким серверам RDSH. В идеале они хотели бы видеть в исторической перспективе перечень зарегистрировавшихся людей, а порой даже также и некоторые данные о том когда пользователи завершают сеанс. Единственная информация, которую я смог обнаружить естественным путём предоставляемую Windows и которая может помочь с получением этих сведений это Журнал событий (Event Logs) Windows Security, однако он чрезвычайно путаный чтобы попытаться в этих сорняках найти то что вы ищите. Несомненно это не стоит потраченного на него времени. Так в чем же правда? Найденный мной простейший способ записывать информацию о регистрации в системе и выходе из неё состоит в построении и применении некоторого сценария, который буде исполняться на протяжении каждой регистрации в системе и при её покидании. Это достаточно просто сделать на каждом из ваших серверов; давайте попытаемся получить их вместе с тем чтобы у вас было понимание того что я обычно делаю, а потом вы можете отрегулировать это базовое решение под свои особые потребности.

Подготовка

Здесь мы собираемся построить пару сценариев на своём сервере RDS1, который является Хостом сеансов Удалённых рабочих мест. Всё что мы будем делать происходит прямо в этой коробке Windows Server 2016.

Как это сделать...

Чтобы начать записывать информацию о регистрациях пользователей на ваших серверах RDSH, выполните следующие шаги:

  1. Зарегистрируйтесь на сервере RDS1 и создайте новый пакетный файл. Мы собираемся применять старые добрые пакетные файлы сценариев, однако вы можете также создать нечто при помощи PowerShell для выполнения той же самой функции. Однако, я обнаружил, что отдельная строка кода внутри пакетного файла выполняет эту уловку достаточно успешно. Я создал у себя следующий сценарий:C:\Reporting\Logon.bat.

  2. Теперь кликните правой кнопкой этот сценарий и выберите Edit чтобы открыть его в Notepad.

  3. Введите следующий текст:

    
    Echo %date%,%time%,%username%,%computername% >> C:\Reporting\Logons.txt
     	   
     

    Рисунок 32



  4. Теперь вам нужно скопировать ваш сценарий регистрации и поместить его внутри следующей папки: C:\Windows\System32\grouppolicy\user\scripts\logon.

    [Совет]Совет

    Если она ещё не существует, вам может понадобиться создать её.

  5. Теперь откройте gpedit.msc и переместитесь в User Configuration | Windows Settings | Scripts (Logon/Logoff). Пройдите далее и определите свой сценарий Logon здесь.

     

    Рисунок 33



  6. При помощи этой отдельной команды вы регистрируете немало информации в свой файл Logons.txt текущие дату, время, имя регистрируемых пользователей, а также имя сервера RDSH в котором они регистрируются. Пройдите далее и зарегистрируйтесь на RDS1 несколько раз с различными учётными записями пользователей, а затем откройте этот текстовый файл. Вы сможете увидеть некоторую запротоколированную теперь информацию:

     

    Рисунок 34



    [Совет]Совет

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

В качестве альтернативы вы можете применять два различных пакетных файла, один для регистраций, а второй для завершений сеансов. Мне нравится этот метод, потому что мы можем расщеплять регистрации на множество меньших по размеру текстовых файлов, по одному для каждого пользовательского имени. Затем мы можем очень быстро просматривать все времена, когда каждый пользователь регистрировался в системе и покидал её. Вот пример того как выполнять это:

  1. Сценарий регистрации:

    
    Echo LOGON,%date%,%time%,%username%,%computername% >> "C:\Reporting\%username%.log"
     	   
  2. Сценарий выхода из системы:

    
    Echo LOGOFF,%date%,%time%,%username%,%computername% >> "C:\Reporting\%username%.log"
     	   
  3. Поместите ваш новый сценарий Logon внутри C:\Windows\System32\grouppolicy\user\scripts\logon

  4. Поместите ваш новый сценарий Logoff внутри C:\Windows\System32\grouppolicy\user\scripts\logoff

  5. Внутри gpedit.msc убедитесь что вы включили оба, и Logon, и Logoff. Они находятся в том же самом месте, которое мы посещали ранее.

  6. Когда ваши сценарии Logon, и Logoff в верное место и определены внутри gpedit, вы можете начать регистрации и выходы из системы на вашем сервере RDS1. После нескольких попыток загляните вовнутрь папки C:\Reporting. Теперь у нас имеется множество текстовых файлов, перечисленных в ней, по одной для каждого имени пользователя. Внутри каждого текстового файла мы можем видеть временные штампы как для регистраций, так и для выходов из системы, выполнявшиеся этим пользователем. Это достаточно классная коллекция данных при том, насколько прост данный сценарий!

     

    Рисунок 35



Как это работает...

Мы можем применять очень простые сценарии регистрации в системе и выхода из неё в серверах RDSH чтобы создавать отчётную информацию о том кто регистрировался, где они регистрировались и сколько раз они входили в систему и покидали её. Включите эти сценарии отчётов в каждый из своих серверов и последующее получение их отчётов централизованном месте {Прим. пер.: например, при помощи Zabbix} может значительно улучшить ваши возможности создания информации об учётных записях пользователях. Это достаточно распространённый вопрос среди применяющих RDS и, к счастью, вы можете получать эту информацию и строить поверх неё дальнейшие какие- либо ещё важные для вашей организации информационные накопления.