На Windows Embedded стало проще делать тонкие клиенты
Новые лицензионные условия помогут снизить стоимость интеграции тонких клиентов на Windows Embedded в виртуальную инфраструктуру Microsoft Virtual Desktop Infrastructure (VDI).
Ранее для использования тонких клиентов на базе Windows Embedded в связке с Virtual Desktop Infrastructure (VDI) требовалось приобрести лицензию на модуль Virtual Desktop Access (VDA). Стоимость лицензии составляла $100 в год для каждого устройства, использующего VDA. Совокупно с ценой закупки тонких клиентов и лицензий на Windows Embedded, затраты на развертывание виртуальной инфраструктуры существенно превышали стоимость поддержки традиционных ПК.
При этом покупка лицензий VDA не требовалась от участников программы Microsoft Software Assurance (SA), в рамках которой Microsoft предоставляет обновления, лицензии и техническую поддержку корпоративным клиентам.
Если сотрудники компании, участвующей в программе Software Assurance, подключаются к VDI с персональных компьютеров, работающих под управлением Windows для рабочего стола, покупка лицензии на VDA не требуется.
Теперь данное правило распространяется и на устройства на базе Windows Embedded. Корпорация Microsoft расширила программу SA и теперь она покрывает устройства на базе встраиваемой ОС.
Если компания использует Microsoft Software Assurance и имеет в своей инфраструктуре тонкие клиенты на базе Windows Embedded 7/Windows Embedded 8, она может включить их в программу SA и, таким образом, избавиться от необходимости покупать лицензию на VDA.
Это автоматически снижает стоимость тонкого клиента на Windows Embedded в сравнении с ПК на базе Windows для рабочего стола, и это откроет возможности для использования встраиваемой ОС в виртуальных инфраструктурах на базе технологий Microsoft.
Последняя версия Windows Embedded 8 включает в себя ряд возможностей, которые говорят в пользу применения встраиваемой ОС на тонких клиентах. Например, это технология HORM (Hibernate Once, Resume Many), позволяющая быстрее выводить компьютер из спящего режима, а также технология Unified Write Filter (UWF) для защиты дисковых томов, папок и реестра от несанкционированной записи.
Кроме того, в состав ОС входит технология Embedded Lockdown Manager, которая упрощает блокировку различных системных функций для пользователей, которым запрещено их использовать в рабочем процессе (например, запрет на использование USB-дисков).
Windows Embedded также поддерживает технологию Shell Launcher, которая позволяет настроить ПК таким образом, чтобы при его запуске пользователю автоматически предлагалось подключиться к сессии VDI, а доступ к установленной на ПК операционной системе блокировался.
Изменения в лицензионных условиях, равно как и новая функциональность, полезная в условиях виртуальной инфраструктуры, упрощает использование Windows Embedded 8 в качестве операционной системы для тонких клиентов.
Как из старого Windows ПК сделать тонкий клиент?
Рано или поздно возникает вопрос о необходимости заменить один или несколько ПК по причине медленной работы.
Самый простой способ, нечего не выдумывать и просто заменить ПК.
Не самый простой способ, это начать внедрять «удаленные рабочие столы» в варианте терминальный сервер или виртуальные десктопы.
Стоимость тонкого клиента HP, DELL или других брендов может сравнится с стоимостью полноценного ПК, а использование старого ПК в качестве тонкого клиента позволит продлить срок эксплуатации на достаточно долгий срок.
Как поступить с морально устаревшими ПК:
— оставить на ПК Windows, пользователь будет подключатся к удаленному рабочему столу.
— загружать ПК по сети, один из linux вариантов thinstation.
— установить на ПК локальную версию linux, вариантов море.
Далее буду описывать вариант с Windows, такой тонкий клиент обладает некоторыми преимуществами при сравнении с linux вариантами.
Зачем я все это делал:
— У меня есть удаленные офисы с пользователями которых нужно было перевести работать на терминальные сервера, применение групповых политик в домене позволяют получить необходимый результат без присутствия в офисе и без замены ПК.
— И Windows и linux варианты пользовательских интерфейсов тонких клиентов HP, Wyse/DELL меня не устраивают по разным причинам.
Преимущества Windows варианта:
— Полная поддержка RDP/RemoteFX.
— Полная поддержка сменных носителей.
— Возможность использовать локальный принтер.
— Возможность использовать смарт карты для клиент банка.
— Редирект воспроизведения видео/аудио на тонкий клиент при использовании Windows Media Player, без тормозов и без нагрузки на сервер можно смотреть видео 1080р, но это отдельная история =).
Если начать с результата:
Так будет выглядеть загрузка рабочего стола пользователя, если на ПК установлен Windows XP:
Так будет выглядеть загрузка рабочего стола пользователя, если на ПК установлен Windows 7:
Чтобы получить результат который вы можете видеть на слайдах, необходим домен AD и несколько групповых политик для ПК и пользователей.
На ПК с XP SP3 необходимо установить обновления для rdp клиента KB969084 и Fixit50588, для расширенных групповых политик необходимо установить обновление KB943729.
№1 — Пользователям необходимо разрешить Single sign-on, я распространяю эту политику на весь домен.
№2 — Для ПК делаем отдельный OU и замыкаем групповые политики в этом OU.
№3 — В новом OU создаем политику где меняем шел пользователя на «wscript c:\thinPC\thinPC.vbs /nologo /b».
На целевой ПК необходимо скопировать 3 файла, я использую для этого расширенные групповые политики.
Рекомендую фалы разместить в центральном хранилище групповых политик \\имя домена\SYSVOL\имя домена\Policies\, это позволит обеспечить отказоустойчивость в случаи недоступности одного из домен контроллеров.
На домен контроллерах этому сетевому ресурсу соответствует папка C:\Windows\SYSVOL\sysvol\имя домена\Policies
Содержимое файла thinPC.cmd
C:\BGInfo\Bginfo.exe «C:\BGInfo\config.bgi» /NOLICPROMPT /timer:0
mstsc «c:\thinPC\thinPC.rdp»
shutdown -l
BGInfo добавляет на рабочий стол пользователя надпись с необходимыми данными, результаты работы BGInfo видны на слайдах.
mstsc запускает rdp клиент, после завершения удаленного сеанса выполняется команда shutdown -l для завершения сеанса пользователя на тонком клиенте.
В процессе работа описанного скрипта пользователь будет наблюдать выполнение команд в окне, и для скрытия окна скрипт запускается средствами VBS.
Содержимое файла thinPC.vbs
Dim oShell
Set oShell = WScript.CreateObject («WSCript.shell»)
oShell.run «C:\thinPC\thinPC.cmd»,0
Set oShell = Nothing
— Необходимо отключить отображение панели подключения при работе на полном экране.
— Я отключаю проброс локальных дисков, но разрешаю проброс дисков подключенных позже, это позволит пользователям работать с сменными носителями которые подключат после начала удаленного сеанса.
— В случаи ОС windows 7 для использования протокола RemoteFX необходимо установить глубину цвета 32 бита и указать скорость соединения 10 мегабит/локальная сеть.
— В случаи если сертификат сервера самоподписанный необходимо отключить предупреждение в разделе «Проверка подлинности сервера».
Вот и все, замена шела у пользователя позволит сделать процесс загрузки тонкого клиента максимально приближенным на процесс загрузки обычного ПК.
Основным минусом предложенного скрипта является невозможность пользователю самостоятельно выбрать разрешение экрана, но я честно говоря не понимаю когда выпрашивают монитор 22-24 дюйма, а затем просят увеличить на нем буковки.
В таких случаях я устанавливаю на целевой ПК VNC сервер и меняю разрешение с его помощью.
№4 — Для того чтобы отключить данное сообщение, пользователю достаточно поставить галочку больше не уведомлять.
Для автоматизации процесса административными средствами нужно добавить ключ в реестр.
[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\LocalDevices]
«адрес сервера»=dword:0000000d
[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client]
«BitmapCacheSize»=dword:0000ffff
№8 — Interactive logon: Message text for users attempting to log on и Interactive logon: Message title for users attempting to log on
Заполняем заголовок и текст который предназначен для пользователей, в самом простом случаи тут нужно указать контакты центра поддержки.
№9 — Для отключения визуальных эффектов на тонком клиенте, необходимо добавить ключ в реестр.
№10 — Power options
Средствами расширенных групповых политик необходимо создать план питания в котором при нажатии на кнопку питания тонкий клиент будет выключатся.
№11 — Software Restriction Policies
Рекомендую настроить контроль запуска ПО, данный механизм работает на WindowsXP и Windows 7 PRO.
AppLocker более гибки но работает только на Windows 7 enterprise и выше.
Считаю что в случаи тонкого клиента гибкость не нужна, преследуется цель исключить возможность запуска вредоносного ПО.
№12 — Turn off Autoplay
Для отключения автоматического запуска сменных носителей необходимо установить параметр Enabled for All drives.
№13 — Allow RDP redirection of other supported RemoteFX USB devices from this computer
Если вы планируете пробрасывать USB устройства, разрешите политику для Adminstrators and Users.
№14 — Delete user profiles older than a specified number of days on system restart
Я устанавливаю параметр в 180 дней, политика работает только на Windows 7.
№15 — User Account Control
UAC мне мешает и по этому отключаю.
№16 — Замена фона рабочего стола, красота требует жертв.
Для Windows XP, этот ключ в реестре отвечает за обои на экране ввода логина и пароля.
Файл с фоном может находится в любом месте, но это должен быть bmp файл.
[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
«Wallpaper»=«C:\\thinPC\\rd.bmp»
«WallpaperStyle»=«2»
[HKEY_CURRENT_USER\Control Panel\Desktop]
«Wallpaper»=«C:\\thinPC\\rd.bmp»
«WallpaperStyle»=«2»
— Подобные тонкие клиенты работают уже больше года
— На нескольких старых ПК успели посыпаться диски, в замен выслали тонкие клиенты HP, ну а все данные пользователей были на серверах 😉
— Несколько бухгалтеров успешно работают с USB токенами BIFIT
Департамент ИТ
Продолжаем рассказывать о ноу-хау, которые мы используем в своей работе. Напомню, что мы в «Депарамент ИТ» строим и обслуживаем корпоративные ИТ-инфраструктуры так, что наши клиенты работают, а не звонят в техподдержку.
Сегодня поговорим об использовании тонких клиентов с операционной системой Windows Embedded. Для тех, кто не в курсе: тонкие клиенты – это компьютеры, единственная задача которых – подключать пользователя к серверу для работы. В случае тонких клиентов все вычисления выполняются не на локальном компьютере пользователя, а на сервере. Выглядят тонкие клиенты как небольшие компьютеры:
Рис. 1. Шесть поколений тонких клиентов в полном составе. Справа – «прадедушка» (HP t5550) с WinCE, слева – «правнук» тонкого клиента (t530) c Windows 10 IOT, все исправно работают.
Из-за того, что основная задача тонких клиентов – дать доступ пользователю к серверу для работы, к тонким клиентам предъявляется меньше требований по производительности, и они слабее традиционных стационарных компьютеров. Именно небольшая мощность тонких клиентов и формирует их преимущества – они дешевле стационарных компьютеров, потребляют меньше электроэнергии, занимают меньше пространства, не шумят (им хватает пассивного охлаждения), благодаря своей простоте реже ломаются. Если разобрать прадедушку и правнука тонкого клиента, то внутри у них принципиально ничего не меняется с годами, разве что для разборки прадедушки требуется открутить пять винтов, а правнук разбирается голыми руками:
Рис. 2. Тонкий клиент HP t530 (слева) и его предок HP t5550 (справа). Во всех тонких клиентах используется пассивное охлаждение и в качестве радиатора задействован в том числе и корпус тонкого клиента.
Главное преимущество тонких клиентов – это возможность безболезненно использовать их до наработки на отказ. В случае тонких клиентов все данные пользователей хранятся и обрабатываются на сервере, поэтому при отказе тонкого клиента его достаточно заменить на новый и пользователь продолжит свою работу с того места, где он остановился.
Единственное, что может омрачить работу с тонкими клиентами – это вирусы и шаловливые руки пользователей, чье влияние если не убивает, то как минимум ухудшает работу операционной системы. Если же принять во внимание, что программное обеспечение на тонких клиентах должно работать годами (если не десятилетиями) до их (тонких клиентов) фактической смерти, то проблема снижения качества их работы со временем из-за нежелательных модификаций становится очень актуальной.
Для защиты тонких клиентов от внесения нежелательных модификаций в их настройки в операционной системе Windows Embedded вшит функционал защиты от записи на диск, который блокирует попытки сохранения любых настроек и данных на диске тонкого клиента. В Windows Embedded 10 данный фильтр называется Unified Write Filter (UWF), в предыдущих версиях Windows Embedded он именуется как Enhanced Write Filter (EWF).
Принцип работы фильтра записи по-своему прост – он сохраняет изменения, которые пытаются сделать пользователи или программы в операционной системе, не на диске, а в оперативной памяти. Для работающих под Windows Embedded приложений кажется, что они работают с диском в привычном им режиме и могут сохранять на нем свои параметры и данные, но после перезагрузки тонкого клиента все сделанные изменения обнуляются и возвращается в свое исходное состояние.
Непосредственно фильтр защиты от записи на тонких клиентах представляет из себя замочек в трее, который горит зеленым, когда он включен (Рис. 3), и красным, когда отключен (Рис. 4). Выключить и включить его может только пользователь с правами администратора через этот же значок в трее (Рис. 5):
Рис. 3. Фильтр защиты от записи включен.
Рис. 4. Фильтр защиты от записи отключен.
Рис. 5. Меню управления фильтром защиты от записи.
С фильтром защиты от записи в Windows Embedded есть одна особенность, связанная с включением тонких клиентов в домен Active Directory. По умолчанию все компьютеры в домене Active Directory раз в 30 дней меняют пароли на свои учетные записи (по сути, это такой же процесс, который проходится проходить пользователям). И если вы введете тонкий клиент в домен и включите на нем фильтр записи, то пароль он автоматически понять сможет, а вот запомнить – нет. Как следствие, при следующей перезагрузке тонкий клиент вывалится из домена, и пользователи не смогут на него зайти. Решается данная проблема отключением в групповых политиках смены паролей на учетных записях тонких клиентов. Естественно, данную политику стоит применять только на тонкие клиенты (Рис. 6):
Рис. 6. Параметры настройки групповой политики для отключения смены пароля операционной системы на тонких клиентах.
Ну и напоследок о практических недостатках фильтра защиты на запись в Windows Embedded. Их два:
Первый недостаток – тонкие клиенты с включенным фильтром защиты от записи нужно периодически перезагружать (раз в неделю-две), потому что в противном случае фильтр записи занимает всю оперативную память, и тонкий клиент начинает тормозить.
Второй недостаток – фильтр записи иногда сам становится причиной сбоя в случае Windows 8.1 Embedded. Судя по всему, в Windows 8.1 Embedded система иногда стартует раньше фильтра и успевает записать какие-то данные на диск до того, как фильтр эту запись оборвет. Когда такое происходит (а может это накопительный эффект – я не исследовал) файловая система на тонком клиенте становится нечитаемой, и операционную систему на тонком клиенте приходится «перезаливать». Данная проблема отсутствует в тонких клиентах под управлением Windows 7 Embedded и Windows 10 Embedded, поэтому мы рекомендуем использовать тонкие клиенты под этими версиями операционной системы.