Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft ИТ-инфраструктура Виртуализация Виртуализация состояния пользователя Windows Виртуализация состояния пользователя Windows - часть 3: Виртуализация состояния приложения RSS

Виртуализация состояния пользователя Windows - часть 3: Виртуализация состояния приложения

Текущий рейтинг: 2 (проголосовало 1)
 Посетителей: 1526 | Просмотров: 3492 (сегодня 0)  Шрифт: - +

Когда пользователи переходит от одного компьютера к другому в какой-нибудь корпоративной сети, им, в основном, требуется одно: возможность выполнять свою работу. Перемещение папок типа Мои Документы (где пользователи должны хранить – и обычно они так и делают – свои файлы, связанные с работой) и Рабочий Стол (куда пользователи иногда сохраняют важные файлы, чтобы можно было быстро к ним обратиться) частично выполняют это требование, поскольку это позволяет пользователям легко получать доступ к свои данным с любого компьютера в сети. Но иногда пользователям требуется нечто большее, чем просто доступ к данным: им хочется, чтобы используемые ими приложения для работы с этими данными выглядели и работали одинаково вне зависимости от того, к какому компьютеру они подключаются.

Например, если пользователь настроивает Microsoft Word на одной машине, ей хочется, чтобы те же настройки применялись и при работе с Word’ом на другой машине. Настраиваться могут: показ Ленты в свернутом виде, включение знаков форматирования, игнорирование слов в верхнем регистре при проверке правописания и многое другое. Пользователям, часто меняющим машины, обычно не нравится, если настройки приложений отличаются на разных компьютерах.

Настройки программы для отдельного пользователя являются частью так называемого состояния приложения. Такое состояние может включать и настройки, и данные. Настройки приложения для каждого пользователя хранятся в реестре, обычно под ветвью HKEY_CURRENT_USERS (HKCU). Данные приложения для отдельного пользователя включают в себя файлы, хранящиеся на пользовательском жестком диске, и в Windows Vista и более поздних версиях они сохраняются в профиле пользователя в AppData, в скрытой папке, находящейся внутри корневой папки профиля пользователя. Давайте сначала взглянем на пользовательские данные приложения.

«Блуждающие» данные приложения для отдельного пользователя

Данные отдельного пользователя приложения хранятся в папке AppData. Внутри этой папки есть три подпапки, описанные в Таблице 1 ниже.

Таблица 1: Подпапки USERPROFILE\AppData
ПодпапкаНазначение
LocalНастройки Windows и приложений, которые либо (a) являются настройками для отдельного пользователя, но не могут быть сделаны блуждающими, или (b) являются настройками для данной машины, и, следовательно, не могут быть блуждающими.
LocalLowНастройки, используемые некоторыми процессами низкого уровня целостности, например, Internet Explorer в режиме Protected Mode. Эти настройки нельзя сделать блуждающими.
RoamingНастройки Windows и приложений для отдельного пользователя, которые можно сделать блуждающими.
Как показано в Таблице 2, подпапки Local и Roaming в Windows Vista и более поздних версиях имели свои аналоги в Windows XP.

Таблица 2: Папки состояния приложения в Windows Vista и более поздних версиях в сравнении с Windows XP

Windows Vista и более новые версииWindows XP
%USERPROFILE%\AppData\Local%USERPROFILE%\Local Settings\Application Data
%USERPROFILE%\AppData\LocalLow(нет соответствия в XP)
%USERPROFILE%\AppData\Roaming%USERPROFILE%\Application Data

Какая именно информация о Windows и данных приложения хранится в папке AppData\Roaming? Многое, включая сетевые ярлыки, ярлыки принтеров, элементы меню Send To, последние элементы меню Start, шаблоны приложения Microsoft Office и словари и т.д. На Рисунке 1 показана папка AppData\Roaming и ее подпапки на машине под Windows 7 с установленным Office 2010.

*

Рисунок 1: Папка AppData\Roaming и ее подпапки на машине под Windows 7 с установленным Office 2010

Содержимое папки AppData\Roaming может быть сделано блуждающим двумя способами:

  • Можно переместить профиль пользователя на сетевой разделяемый ресурс при помощи Folder Redirection (FR) (см. Рисунок 2 ниже).
  • Можно сделать его блуждающим вместе со всем профилем пользователя при помощи Roaming User Profiles (RUP).

*

Рисунок 2: Папку AppData\Roaming можно переместить с помощью Folder Redirection

Блуждающие настройки приложения для отдельного пользователя

Значительно больше настроек для каждого пользователя хранится в реестре, хотя некоторые файлы данных для каждого пользователя хранятся в папке AppData\Roaming. Все эти настройки хранятся под ветвью реестра HKCU, которая хранится в файле NTUSER.DAT в корне каждого профиля пользователя, поэтому эти настройки можно сделать блуждающими с помощью RUP. Примеры настроек для отдельного пользователя в Windows включают в себя такие вещи, как: текущая тема пользователя, звуковая схема, фоновый рисунок рабочего стола, экранная заставка, настройки экрана, настройки доступа, региональные стандарты и настройки клавиатуры, настройки сообщений об ошибках, настройки вида Windows Explorer, настройки Internet Explorer, Windows Media Player и т.д.

Примеры настроек Office 2010 для отдельного пользователя включают: настройки безопасности, настройки Ленты, последние использованные записи, имя пользователя и инициалы и другое. Эти настройки находятся под HKCU\Software\Microsoft\Office, и на Рисунке 3 ниже показаны некоторые из таких настроек для Word 2010.

*

Рисунок 3: Настройки Word 2010 для отдельного пользователя

Как сделать состояние приложения блуждающим

Поскольку состояние приложения – настройки и данные приложения для отдельного пользователя – хранится в двух местах (данные – в папке AppData\Roaming, а настройки – под ветвью реестра HKCU), у нас появляется несколько вариантов, как при необходимости сделать состояние приложения блуждающим для вашей организации. Конкретнее, вы можете:

  • Подход #1: Воспользоваться RUP, чтобы сделать блуждающими и ветвь реестра HKCU, и папку AppData\Roaming в профиле пользователя.
  • Подход #2: Воспользоваться RUP, чтобы сделать блуждающей ветвь реестра HKCU, и воспользоваться FR, чтобы переместить папку AppData\Roaming из профиля пользователя на сетевой разделяемый ресурс.
  • Подход #3: Не пользоваться RUP, а просто с помощью FR переместить папку AppData\Roaming из профиля пользователя на сетевой разделяемый ресурс.

Давайте рассмотрим преимущества и недостатки каждого из предложенных подходов.

Подход #1: Работать только с RUP

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

Другое преимущество связано с тем, что некоторые приложения могут работать некорректно в ситуации, когда определенные подпапки в AppData\Roaming являются блуждающими. В таких случаях вы можете воспользоваться политикой "Exclude directories in roaming profile", чтобы исключить эти подпапки из списка блуждающих с помощью RUP(см. Рисунок 4), которая находится в Computer Configuration\Policies\Administrative Templates\System\User Profiles.

*

Рисунок 4: Настройка политики для исключения папки пользовательского профиля из списка блуждающих с помощью RUP

Главным недостатком этого подхода является то, что время входа в системы и выхода из нее может значительно увеличиться. Так происходит из-за того, что содержимое папки AppData\Roaming может часто изменяться, вырастая иногда до довольно больших размеров. В результате, увеличение размера пользовательских профилей означает, что при использовании RUP скорость работы при входе и выходе из системы может уменьшиться. Обратите внимание: начиная с Windows 7 можно воспользоваться новой политикой под названием "Background upload of roaming user profile's registry file while user is logged on", находящейся в User Configuration\Policies\Administrative Templates\System\User Profiles. Включив и настроив эту политику, вы сможете подгружать изменения в блуждающие профили в фоновом режиме, пока пользователь работает, что может уменьшить время ожидания для пользователей при входе/выходе из системы (см. Рисунок 5). Но, хотя частая подгрузка профилей в фоновом режиме и может уменьшить вероятность того, что данные и настройки приложения рассинхронизируются, это не решит проблему полностью, и, кроме того, может привести к увеличению трафика в вашей сети.

*

Рисунок 5: Настройка политики для включения загрузки профилей в фоновом режиме

Подход #2: Использовать RUP, но при этом воспользоваться FR для перемещения AppData\Roaming

Преимущество такого подхода заключается в том, что при перемещении папки AppData\Roaming из пользовательского профиля общий размер пользовательских профилей уменьшается, и, таким образом, скорость работы при входе и выходе из системы увеличивается для пользователей по сравнению с предыдущим подходом. В таком сценарии RUP синхронизирует реестр с сетевым разделяемым ресурсом, а Offline Files синхронизирует содержимое перемещенной папки AppData\Roaming на разделяемом сетевом ресурсе. Но, опять же, при этом проблемным становится сохранение синхронизированности настроек и данных приложений, особенно для тех приложений, которые плохо работают при такой рассинхронизации. В таком случае на помощь приходит другая политика, а именно, "Network directories to sync at logon/logoff time only", находящаяся в User Configuration\Policies\Administrative Templates\System\User Profiles. Включив и настроив эту политику, вы можете указывать определенные подпапки в AppData\Roaming, которые необходимо синхронизировать через Offline Files только при входе и выходе из системы (см. Рисунок 6). Это может помочь в том, чтобы конкретные приложения всегда были синхронизированы друг с другом.

*

Рисунок 6: Настройка политики для синхронизации определенных перемещенных папок только при входе и выходе из системы с помощью Offline Files.

Подход #3: Воспользоваться FR для перемещения AppData\Roaming, но не использовать при этом RUP

Наконец, что, если пользователь нужен доступ только к словарям и шаблонам в Word, когда они работают с разных компьютеров, и им не нужны настройки для Word? Поскольку словари и шаблоны в Word хранятся в AppData\Roaming, нельзя ли просто воспользоваться FR, чтобы переместить эту папку в сеть, и не работать с RUP?

Нет. Не перемещайте AppData\Roaming через FR, если вы не работаете с RUP. В противном случае все закончится тем, что приложения у вас будут работать необычным образом и иногда завершаться с ошибкой, а в худшем случае это может даже привести к потере данных и производительности.

Заключение: о важности тестирования

Ключевым во всех этих разговорах о виртуализации состояния приложения является то, что вы должны тестировать ваше решение перед развертыванием в производственной среде. Кроме вышеприведенных причин, есть еще две важные причины. Во-первых, многие производители, разрабатывающие приложения, возможно, и не протестируют свои приложения на работу в средах с блуждающими данным. Даже Microsoft иногда наступает на эти грабли. К примеру, когда был выпущен Office 2007, довольно скоро обнаружилось, что конфигурация панели быстрого доступа не может быть блуждающей. Microsoft вскоре выпустила заплатку для этой проблемы, но это показывает нам, как легко поставщик ПО (даже такой, как Microsoft) может забыть про проверку возможности для данных и настроек приложения стать блуждающими.

И во-вторых, поставщики ПО могут по каким-то своим причинам принять решение о хранении определенных пользовательских настроек вне HKCU или хранить пользовательские файлы приложения вне папки AppData\Roaming. Например, они могут решить хранить все настройки в HKLM вместо того, чтобы хранить те настройки, которые относятся к определенному пользователю, в HKCU. В результате такие приложения могут неверно функционировать в пользовательских средах с блуждающими данными.

Поэтому проверяйте, проверяйте и еще раз проверяйте перед тем, как пытаться воплощать решение USV, включающее блуждающее состояние приложения!

Автор: Митч Туллоч  •  Иcточник: www.netdocs.ru  •  Опубликована: 11.01.2011
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:   Windows.


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.