Эта статья посвящена внедрению технологий виртуализации рабочих столов. Мы рассмотрим два типа управления профилем с использованием ProfileUnity: ProfileDisk и Profile Portability. В статье будут даны рекомендации для каждой технологии и перечислены случаи, когда их можно использовать вместе.
ProfileUnity — полнофункциональное решение для унифицированного управления пользовательскими системами (UEM) с встроенной технологией ProfileDisk.
Управление профилями пользователей Windows может быть сложным и трудоемким процессом. Обычно усовершенствовать управление профилями стараются организации, которым требуется сократить время запуска системы Windows, работать с приложениями, в которых не реализованы рекомендуемые способы хранения данных, и обеспечить пользователям гибкий процесс авторизации в любой операционной системе Windows, так чтобы их профиль повсюду следовал за ними.
Чтобы эффективно решать сложные задачи, возникающие в современных разнородных средах Windows, предлагаемое компанией Liquidware решение ProfileUnity располагает двумя технологиями для работы с пользовательскими профилями, которые можно применять совместно или раздельно в зависимости от ситуации.
- ProfileDisk, профиль на основе виртуального диска, который представляет весь профиль как слой из подключенного VHD или VMDK пользователя.
- Profile Portability, решение для профилей на основе файлов и реестра, которое восстанавливает файлы при авторизации, после авторизации или при срабатывании триггеров среды исполнения.
Основы ProfileDisk и Profile Portability
Функциональность ProfileDisk не ограничивается простым перенаправлением папок профилей. ProfileDisk вступает в игру на ранних этапах процедуры авторизации Windows и выглядит для операционной системы Windows настолько «своим», что воспринимается как собственный профиль операционной системы. В результате удается избежать типичных проблем, связанных с перенаправлением профиля. Кроме того, ProfileDisk преодолевает недостатки, неизбежно свойственные очень большим профилям, в частности содержащим автономные или личные почтовые папки (например, для Microsoft Office 365 в режиме кэширования) или другие крупные файлы.
Контейнеры Profile Container, состоящие из одного или нескольких дополнительных файлов VHD или VMDK, могут быть добавлены в такие приемники в пользовательском профиле, как Microsoft OneDrive, Dropbox, Amazon Drive или WorkDocs и др.
ProfileDisk позволяет заставить пользовательский профиль функционировать устойчиво даже на удаленном рабочем столе, например в сеансе Citrix XenDesktop или VMware Horizon View. В итоге мы получаем очень быстрое время авторизации пользователя. Операционная система Windows полагает, что пользовательский профиль уже находится на компьютере, его не требуется извлекать и передавать по сети.
Технология ProfileDisk успешно работает со стандартным методом управления профилем ProfileUnity, известным как ProfileBridge, за счет подключения функционального модуля Portability в ProfileUnity.
Компонент Profile Portability представляет собой решение для управления профилем на основе файлов и реестра, которое восстанавливает файлы при авторизации, после авторизации или при срабатывании триггеров рабочей среды. Profile Portability также действует как посредник ProfileBridge между различными версиями Windows, предоставляя пользователям один унифицированный пользовательский профиль.
Profile Portability изначально извлекает от 85 до 100% данных из профилей пользователей. Причина, по которой Portability не получает все сведения из профиля немедленно, заключается в том, что приложения не всегда записывают данные в пользовательский профиль. Но администраторы могут компенсировать этот изъян, применяя правило ProfileUnity Portability для пользователя или группы пользователей, чтобы выбрать другие файлы и сделать их переносимыми. Например, многие нестандартные приложения (Lotus Notes, Oracle, приложения собственной разработки и т. д.) ведут запись в папку Program Files, другие новые файлы Root или в System Root. Простые инструменты для работы с профилем не могут охватить эти области, поскольку сосредоточены на профиле Windows и папках Windows Shell. ProfileUnity легко получает данные из этих файлов с помощью набора правил охвата Portability, составление которых не вызывает затруднений.
Технология Profile Portability предназначена не только для достижения настоящей переносимости, но и для ускорения процедуры авторизации и уменьшения сетевого трафика. Основные данные пользовательского профиля извлекаются и сжимаются (приблизительно в соотношении 50:1) в хранилище. Он восстанавливается на системе в известных каталогах Windows — даже между различными версиями операционной системы. Впоследствии по сети пересылаются только различия между файлами.
Profile Portability и ProfileDisk могут обеспечить значительные преимущества при их совместном использовании в случае необходимости. Два компонента с первой авторизации пользователя работают согласованно, сохраняя весь профиль в файле VHD или VMDK ProfileDisk. Когда пользователь выполняет повторную авторизацию на любом настольном компьютере на предприятии, работающем с ProfileUnity, этот VHD или VMDK немедленно подключается при указании учетных данных для Windows. Когда Windows пытается определить, доступен ли профиль, операционная система сначала обнаруживает пользовательский профиль на ProfileDisk, который уже загружен в память, что устраняет необходимость в передаче данных профиля через сеть. В результате время авторизации может быть заметно сокращено. Profile Portability гарантирует, что все пользовательские данные могут быть собраны и сохранены в ProfileDisk даже в случае нестандартных подходов к обработке данных пользователя другими приложениями.
Microsoft и некоторые другие поставщики располагают аналогичной технологией. Однако они не обеспечивают детального управления переносимостью пользовательских данных, которые находятся вне пользовательского профиля. В случае с одним диском профиля выбор однозначен: весь профиль или его полное отсутствие. Нельзя присоединять, добавлять или удалять отдельные файлы или папки профиля. Таким образом, вы не можете учесть нестандартные приложения (Lotus Notes, Oracle, приложения собственной разработки и т. д.), которые ведут запись в папку Program Files, и новые файлы в корневой или системой папке. Существуют и другие ограничения, которые мешают пользователю полагаться на многоуровневый профиль. Приведем некоторые из них.
- Параллельные попытки авторизации, при которых пользователь может одновременно выполнить авторизацию только в одно рабочее пространство или на рабочий стол Windows, потому что полный профиль используется в другом месте.
- Несовместимость различных версий операционной системы Windows. Параметры профиля не могут сосуществовать в различных версиях Windows, так как для другой версии операционной системы профиль в своем исходном формате будет выглядеть «сломанным».
Совместное применение
При совместном использовании функциональность ProfileDisk и Portability позволяет быстро обрабатывать профиль в разных версиях Windows с различными форматами пользовательских профилей и гибко управлять профилем при необходимости. Однако такой вариант использования не всегда приемлем. Рекомендации для каждой технологии, приведенные ниже, помогут вам выбрать оптимальный подход для каждого пользователя.
При совместном применении двух технологий типичный подход на предприятии выглядит следующим образом.
ProfileUnity ProfileDisk мгновенно предоставляет профиль при авторизации пользователя, а затем Portability выполняет несколько очень простых действий, чтобы дополнить его нестандартными данными. В результате пользователи довольны быстрой процедурой авторизации и получают необходимые для работы данные приложений. Кроме того, ProfileDisk может применить полный набор правил переносимости ProfileUnity, чтобы обеспечить одновременные процессы авторизации и совместимость с различными версиями операционной системы (с мгновенной миграцией). Такое сочетание технологий обеспечивает высокую скорость и детализированное управление.
Рекомендации для ProfileDisk
Начнем с простой кнопки профилей, Data Disks. Она позволяет поместить данные профиля на диск, который подключается постоянно или перемещается вместе с вами с одного рабочего компьютера на другой, как в случае с ProfileDisk от Liquidware. Чтобы решить, подходит ли этот способ для вашей организации, следует учесть несколько факторов. Ниже перечислены примеры, когда стоит использовать ProfileDisk, а когда лучше отказаться от него.
Удачные области применения ProfileDisk:
- Временная виртуальная операционная система Windows (только одна операционная система).
- Режим кэширования Microsoft Office 365 или необычно большие файлы в папке AppData. В результате пользователь имеет большой профиль, обрабатываемый с помощью ProfileDisk.
- Один пользователь на компьютер.
- Одна процедура авторизации на пользователя:
— стандартный временный шаблон в Windows;
— перенаправление папки для пользовательского профиля;
— вся папка AppData Roaming на диске или перенаправление папок;
— вся папка Local AppData на диске или перенаправление папок (зависит от среды);
— ProfileDisk для ускорения авторизации (подключение профиля вместо его загрузки);
— параметры DPI должны быть в ntuser.dat во время входа;
— параметры шрифта должны быть в ntuser.dat во время входа;
— переменная среды %appdata% никогда не будет следовать перенаправлению папок и должна быть в ntuser.dat во время входа;
— переменная среды %localappdata% никогда не будет следовать перенаправлению папок и должна быть в ntuser.dat во время входа;
— резервное копирование и восстановления параметров Windows 10 Edge.
В каких случаях применение ProfileDisk не рекомендуется:
- Постоянная виртуальная операционная система Windows (возможный, но не самый удачный вариант).
- Постоянная физическая операционная система Windows (возможный, но не самый удачный вариант).
- Один пользователь, выполнивший вход на нескольких компьютерах.
- Многосеансовые среды, такие как серверы терминалов, где пользователи работают со многими опубликованными приложениями (рабочими столами) на многих серверах.
- Смешанные среды операционной системы (хотя использование ProfileDisk вместе с Profile Portability решает эту задачу).
Области применения контейнеров Profile Container
Контейнеры Profile Container — дополнительные диски VHD или VMDK, которые могут автоматически предоставляться через ProfileUnity. Нередко части профиля не могут размещаться только в ProfileDisk (обычно потому, что приложение запрещает ему быть частью пользовательского профиля), следовательно, должны быть сохранены на отдельном диске VHD или VMDK.
Контейнеры Profile Container входят в определенные рекомендуемые варианты использования ProfileUnity. Их предпочтительно использовать в перечисленных ниже случаях.
- Индексация Outlook — ProfileUnity предусматривает режим, в котором подготавливает контейнер профиля (VHD) для ведения индексации Outlook. Это удобно в средах виртуального рабочего стола, где индекс Outlook в противном случае непостоянен.
- «Облачное» хранилище — такие решения, как Microsoft OneDrive, Dropbox, Amazon Drive/WorkDocs и Google Drive, идеальны для применения контейнера профиля VHD (а возможно, и VMDK). Нередко эти службы не позволяют сохранять данные на пути пользовательского профиля. Контейнеры Profile Container позволяют таким службам хранить в сети большой кэш данных, который считывается с высокой скоростью блочного доступа.
Существует и несколько других факторов, которые необходимо учитывать, в том числе такие сложные варианты:
- Хотите ли вы задействовать ProfileUnity в качестве средства репликации данных дополнительно к приведенному выше примеру?
- Есть ли у вас неустойчивое соединение по сети Wi-Fi (это может привести к несогласованности ProfileDisk)?
- Планируете ли вы архивировать данные с ноутбуков на сайт DR VDI?
- Хотите ли вы обеспечить совместимость с Windows 7, 8.1 и 10, а также Windows Server 2008, 2012, 2016?
- Имеют ли место множественные процедуры авторизации пользователя на одном компьютере или вам нужно несколько почтовых ящиков Outlook на одного пользователя?
Рекомендации для Profile Portability
Поскольку Profile Portability основывается на файлах и реестре, очень важно, чтобы профиль был меньше и эффективнее. Чем больше профиль, тем больше времени требуется для его загрузки в операционную систему. Кроме того, использование механизма Folder Redirection может компенсировать затраты на обработку подключений к папкам.
Это универсальный компонент ProfileUnity, и его применение требует меньших усилий, чем использование схемы «события-триггеры», которая будет рассмотрена далее. Начиная работу с Portability, вы обнаружите, что продукт обладает множеством встроенных функций, избавляющих вас от необходимости строить проект с нуля.
Как показано на экране 1, в ProfileUnity имеется список заранее подготовленных правил переносимости. Основные правила действуют по умолчанию в большинстве конфигураций.
Экран 1. Список заранее подготовленных правил переносимости |
Наборы правил Portability определяют, какие фрагменты следует или не следует сохранять в профиле. Специалисты Liquidware потратили несколько лет, чтобы составить и усовершенствовать наборы правил в соответствии с рекомендациями Microsoft. В результате пользователь может сделать постоянными только значимые компоненты профиля (экран 2).
Экран 2. Выбор компонентов профиля |
При настройке параметров с использованием встроенных шаблонов встроенные правила переносимости применяются внутри данного набора параметров, и от вас не требуется выполнять никаких действий (экран 3).
Экран 3. Готовые наборы правил |
Как часть шаблона в сочетании с Folder Redirection, эти правила переносимости сформируют ваш профиль на 95%. Потребность в настройке составит не более 5%, так как в наборе параметров данного типа будет учтено большинство, если не все элементы.
При настройке последних пяти или менее процентов элементов необходимо знать, где приложения хранят свои параметры. Эти элементы могут быть расположены просто в appdata\Roaming или appdata\local. В этом случае можно воспользоваться режимом Folder Redirection. Если приложение использует для записи другие места (например, c:\Lotus\Notes), придется составить специальный набор правил Portability, такой как показан на экране 4.
Экран 4. Специальный набор правил |
Объединение правил Portability, шаблона, прикладных правил в шаблоне и Folder Redirection обеспечивает все элементы, необходимые для обслуживания пользовательских профилей.
Обработка после входа в Portability
Начиная с версии ProfileUnity 6.5.5 применяется концепция Process Action after Login («Обработка после входа»), позволяющая значительно увеличить скорость входа (экран 5).
Экран 5. Обработка после входа |
Идея заключается в том, что ProfileUnity по-прежнему использует правила Portability, описанные выше, но соответствующие элементы обрабатываются после входа в операционную систему. Это компенсирует время обработки подключения папок до того, как вы авторизовались в операционной системе. Одни элементы подходят для такого варианта, другие — нет.
Удачные примеры для обработки после входа:
- Приложение или параметр не связаны с процессом, запускаемым вместе с Windows или вашей процедурой входа, например Skype, Snag-it, Slack.
- Приложение или параметр не связаны с процессом, и имеется огромный выходной файл. Обработка может быть выполнена после входа, но время завершения не будет оптимальным, например если имеются OST или PST-файлы или большие базы данных.
Использование этого варианта с такими программами, как Google Chrome, Mozilla Firefox или Internet Explorer, может значительно ускорить процедуру входа и увеличить общую производительность авторизации в целом.
Для активации этого режима достаточно просто выбрать дополнительные возможности при изменении параметра Portability и нажать Process Action after Login, как показано на экране 6.
Экран 6. Дополнительные возможности изменения параметра Portability |
При использовании подобного подхода вы сосредотачиваетесь на одном приложении или параметре, обработка которого будет перенесена на завершающую часть процедуры входа. Это немного усложнит настройку, поскольку вам придется составить новый набор правил для каждого приложения, включаемого в обработку после входа. Некоторые из этих правил Portability могут быть построены в Internet Explorer или, возможно, вам придется создать специальный набор правил, как в примере с Lotus Notes.
Использование триггеров
Схема «события-триггеры» — последний вариант обработки параметров ОС и самый сложный из четырех способов передачи данных профиля в операционной системе. Часто при этом бывают необходимы события «открытие» и «закрытие», чтобы запустить и сохранить параметры приложения. Кроме того, требуется составить набор правил Portability для всех приложений, связанных с этими событиями открытия и закрытия. Как в случае с пост-обработкой, количество приложений зависит от того, как пользователь настроил набор правил.
Чтобы задействовать точки триггера Trigger Points, необходимо иметь несколько элементов:
- точку запуска триггера;
- приложение, которое открывается или закрывается;
- правило Portability для параметров этого приложения, которые будут сохранены или восстановлены;
- фильтр, связанный с параметром Portability, который будет сохранен или восстановлен в рамках события триггера.
Сначала необходимо указать точку триггера или событие в модуле настройки. Как показано на экране 7, тип триггера — Application Open («Приложение открыто»), и это приложение — Chrome.exe. Действие — восстановление Portability Restore. Обратное произойдет при закрытии приложения (действие — сохранение Portability Save).
Экран 7. Настройка триггера |
Далее мы должны настроить фильтр Trigger, который обозначает событие запуска триггера. Как показано на экране 8, системное событие Logon/Logoff («Вход/выход») не выбрано, поскольку не требовалось задействовать правило Portability на данном этапе. Необходимо было, чтобы обработка начиналась только по вызову точки триггера.
Экран 8. Настройка фильтра триггера |
Последнее — назначить параметру Portability фильтр Trigger в параметрах Portability (экран 9).
Экран 9. Завершение настройки триггера |
Когда приложение запущено и обнаружено механизмом ProfileUnity, последний обрабатывает раздел Portability Module набора параметров ProfileUnity. Если каким-либо наборам правил Portability назначен фильтр Trigger, то ваши параметры будут восстановлены в операционной системе. При закрытии приложения происходит обратный процесс, и параметры сохраняются в репозитории профиля.
Если фильтры Trigger назначены нескольким элементам, то обходной путь заключается в создании отдельного набора параметров для каждого приложения, как показано на экране 10. Добавьте это правило Portability в новый набор (экран 11). Сохраните этот набор параметров в подпапке Trigger в каталоге инструментов ProfileUnity (экран 12).
Экран 10. Отдельный набор параметров для приложения |
Экран 11. Добавление правила переносимости |
Экран 12. Сохранение набора параметров |
Используя дополнительные параметры в модуле Trigger Point Configuration Module, вы можете выбрать определенный INI-файл, который следует запустить (экран 13).
Экран 13. Выбор определенного INI-файла, который нужно запустить |
Используя этот метод, вы запустите только один элемент в модуле Portability, а не несколько несвязанных элементов Portability.
Точки Trigger Points предъявляют аналогичные требования к пост-обработке, так как их обработка также выполняется после входа пользователя в среду.
Удачные примеры обработки после входа:
- Приложение или параметр не связаны с процессом, запускаемым вместе с Windows или при входе пользователя, например в Skype, Snag-it, Slack.
- Приложение или параметр не связаны с процессом, и имеется огромный выходной файл. Обработка может быть выполнена после входа, но время завершения не будет оптимальным, например при наличии OST или PST-файлов или больших баз данных.
Недостаток схемы событий и триггеров заключается в том, что каждое приложение при подготовке наборов правил должно быть учтено. Кроме того, запуск приложения будет отложен до тех пор, пока параметры для этих приложений обрабатываются в операционной системе. Для некоторых приложений такой подход не оптимален.
Позитивная сторона — обработка приложения по требованию, когда приложение запускается, и сохранение после завершения. Это может быть выгодно при использовании многих рабочих станций или серверов одновременно, когда одно приложение выполняется во всех средах. Параметры необходимо сохранять и перезапускать, когда приложение открывается и закрывается.
Лучше вместе
В некоторых случаях, когда возможности Portability недостаточны по причинам быстродействия или совместимости, можно объединить технологии ProfileDisk и Profile Portability. Как правило, сначала рассматриваются все варианты с Portability и Folder Redirection, а затем к ним добавляется ProfileDisk. Чтобы добавить ProfileDisk, достаточно активировать функцию, назначив ее группе пользователей и выполнив вход в систему.
При работе с несколькими типами операционной системы или двумя либо несколькими рабочими станциями одновременно, необходимо настроить два или три диска. Для этого требуется подготовить различные «узловые» файлы и отдельные объекты групповой политики (GPO) для ссылки на них.
Узловой файл ссылается на расположение ProfileDisk и группы, связанные с этим ProfileDisk. Как показано на экране 14, в области администратора ProfileUnity вы можете указать расположение и группу.
Экран 14. Указание расположения и группы |
Затем загрузите нужный набор (nodes.xml) в папку ProfileUnity Tools. Если узлов несколько, то полезно иметь вложенные папки для разделения узлов. На экране 15 у нас имеется вложенная папка узлов, а также вложенные папки Site1 и Site2 с файлом nodes.xml в каждом из этих расположений.
Экран 15. Папка узлов |
При создании групповой политики для определенной группы машин (Site1 на экране 16) вы можете указать соответствующий путь в параметре ProfileDisk Nodes Path (экран 17).
Экран 16. Настройка групповой политики |
Экран 17. Указание пути к узловому файлу |
Это политика на основе компьютеров, поэтому системы придется разделить между различными организационными подразделениями OU на основе версии операционной системы, или пулами.
После того как файлы nodes.xml и объекты групповой политики окажутся на месте, просто перезагрузите рабочие станции, и ProfileDisk будет активирован.
Чтобы отключить ProfileDisk, требуется удалить программное обеспечение ProfileUnity и файлы nodes.xml из исходного пути узлов. Затем программа ProfileUnity может быть удалена. Простое удаление файлов nodes.xml не приведет к отключению ProfileDisk. Сведения об удалении ProfileDisk можно найти в статье базы знаний по адресу: liquidwarelabs.zendesk.com/hc/en-us/articles/210637863-Removing-ProfileDisk-formpersistent-desktops.