System administration
December 2014 7

Как из старого 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

Содержимое файла thinPC.rdp
Это rdp файл с параметрами подключения которые необходимы.
— Необходимо отключить отображение панели подключения при работе на полном экране.
— Я отключаю проброс локальных дисков, но разрешаю проброс дисков подключенных позже, это позволит пользователям работать с сменными носителями которые подключат после начала удаленного сеанса.
— В случаи ОС windows 7 для использования протокола RemoteFX необходимо установить глубину цвета 32 бита и указать скорость соединения 10 мегабит/локальная сеть.
— В случаи если сертификат сервера самоподписанный необходимо отключить предупреждение в разделе «Проверка подлинности сервера».

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

Основным минусом предложенного скрипта является невозможность пользователю самостоятельно выбрать разрешение экрана, но я честно говоря не понимаю когда выпрашивают монитор 22-24 дюйма, а затем просят увеличить на нем буковки.
В таких случаях я устанавливаю на целевой ПК VNC сервер и меняю разрешение с его помощью.



Второстепенные политики:

№4 — Для того чтобы отключить данное сообщение, пользователю достаточно поставить галочку больше не уведомлять.

Для автоматизации процесса административными средствами нужно добавить ключ в реестр.
[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\LocalDevices]
«адрес сервера»=dword:0000000d

№5 — Необходимо увеличиваем кеш для RDP соединения, в случаи Windows XP это жизненно необходимо, а вот в случаи Windows 7 может можно и без увеличения кеша.
[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client]
«BitmapCacheSize»=dword:0000ffff
немного подробней про оптимизация графики, Terminal Services and Graphically Intensive Applications.

№6Interactive logon: Do not require CTRL+ALT+DEL
устанавливаем параметр Disabled.

№7Interactive logon: Do not display last user name
устанавливаем параметр Enabled.

№8Interactive logon: Message text for users attempting to log on и Interactive logon: Message title for users attempting to log on
Заполняем заголовок и текст который предназначен для пользователей, в самом простом случаи тут нужно указать контакты центра поддержки.

№9 — Для отключения визуальных эффектов на тонком клиенте, необходимо добавить ключ в реестр.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
«VisualFXSetting»=dword:00000002

№10Power options
Средствами расширенных групповых политик необходимо создать план питания в котором при нажатии на кнопку питания тонкий клиент будет выключатся.

№11Software Restriction Policies
Рекомендую настроить контроль запуска ПО, данный механизм работает на WindowsXP и Windows 7 PRO.
AppLocker более гибки но работает только на Windows 7 enterprise и выше.
Считаю что в случаи тонкого клиента гибкость не нужна, преследуется цель исключить возможность запуска вредоносного ПО.

№12Turn off Autoplay
Для отключения автоматического запуска сменных носителей необходимо установить параметр Enabled for All drives.

№13Allow RDP redirection of other supported RemoteFX USB devices from this computer
Если вы планируете пробрасывать USB устройства, разрешите политику для Adminstrators and Users.

№14Delete user profiles older than a specified number of days on system restart
Я устанавливаю параметр в 180 дней, политика работает только на Windows 7.

№15User Account Control
UAC мне мешает и по этому отключаю.

№16 — Замена фона рабочего стола, красота требует жертв.

Для Windows XP, этот ключ в реестре отвечает за обои на экране ввода логина и пароля.
Файл с фоном может находится в любом месте, но это должен быть bmp файл.
[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
«Wallpaper»=«C:\\thinPC\\rd.bmp»
«WallpaperStyle»=«2»

Для изменения фона Windows 7 необходимо установить ключ, и передать файл с фоном %WindowsDir%\System32\oobe\info\backgrounds\backgrounddefault.jpg.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background]
«OEMBackground»=dword:00000001

Также необходимо установить фон для сессии пользователя на тонком клиенте.
[HKEY_CURRENT_USER\Control Panel\Desktop]
«Wallpaper»=«C:\\thinPC\\rd.bmp»
«WallpaperStyle»=«2»



Про практику:

— Подобные тонкие клиенты работают уже больше года
— На нескольких старых ПК успели посыпаться диски, в замен выслали тонкие клиенты HP, ну а все данные пользователей были на серверах ;)
— Несколько бухгалтеров успешно работают с USB токенами BIFIT

0
52.9k 54
Comments 1
Top of the day