Перемещаемый профиль пользователя — roaming user profile

UPD: User profile as VHDX file

Go to the network shared folder with user profiles. A UVHD-template.vhdx file is now being stored here.

This file is the user profile disk template. When a user logs on to the RDS server for the first time, this template is copied and renamed as a VHDX file, containing user SID in its name.

Let’s see what a user profile disk contains. To do it, right-click the VHDX file and select Mount. The UPD disk can only be used in one session on one RDS host (exclusive access). You can’t mount an UPD VHDX disk if the user is currently using it on the RDS server.

As you can see, the VHDX disk contains a set of folders and files of a standard user profile. At logon, a user gets completely transparent access to the data stored in the profile.

Data is written to the vhdx file in real time. It means that when copying data to a user profile on an RDS server, the size of the vhdx file on the shared storage is incremented immediately.

The VHDX disk is mounted when the user session starts on a VDI or RDS server. A list of connected UPD disks with profiles can be listed using the mountvol utility.

By default, a User Profile Disk contains all the user profile contents. However, you can exclude certain folders from the list of synchronized directories in the RDS collection settings, or specify that only certain folders should be saved. Thus, all the changes made during the user’s terminal session to the folders in the list of excluded directories are not saved into the VHDX disk on the shared folder.

The second option allows you to configure the saving only the specified directories in the UPD profile.

If necessary, the last option allows you to implement the scenarios for saving the settings of the Start Screen, which are stored in appsfolder.itemdata-ms file. In this example, we have only added the path to \AppData\Local\Microsoft\Windows folder as an additional path to be saved in the UPD.

Методы решения ошибки входа по RDP

И так, если вы все же словили ошибку «The task you are trying to do can’t be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log», то не спешите расстраивается, она сто процентов решается, все только измеряется конечным результатом. В моем случае, виртуальная машина использовалась для разработки, поэтому ее использовали несколько человек.

Если у вас есть физический, консольный или удаленный доступ к серверу, то зайдите на него и попробуйте разлогинить, того пользователя, кто испытывает трудности при входе. Для этого вы заходите в диспетчер задач, переходите на вкладку пользователи, где находите нужного вам. Выбираете его, щелкаете правым кликом и делаете «Выход из системы (Log off)». В большинстве случаев, этого достаточно, но не в моем. В диспетчере задач, я обнаружил странного пользователя с именем (4) или (5). У данного пользователя с ником (4) или (5), было открыто 4 процесса:

  1. Client Server Runtime Process
  2. Desktop Windows Manager
  3. Windows Logon Application
  4. Windows Logon User Interface

Мои попытки разлогинить его из диспетчера зада, оказались бесполезными. Я такое встречал уже, и видел когда было много таких пользователей (4), все решалось перезагрузкой сервера, лечилось на 100%, но в моем случае так как сервер использовался многими сотрудниками, то его трогать было нельзя, ищем другие варианты.

Если перезагрузить ваш сервер не представляется возможным, то попробуйте выполнить вот такие действия. Я буду показывать их на Windows Server 2016, но они применимы и для других версии ОС Windows.  Откройте командную строку cmd от имени администратора. Введите вот такую команду:

query session

Она покажет всех залогиненных пользователей в терминальном сервере, обратите внимание, что тут так же есть пользователь (4), нас в данной выдаче интересует поле ID, это идентификатор пользователя. Он нам потребуется, чтобы грохнуть процесс csrss.exe, для конкретного пользователя

В моем случае ID 48.

Далее в командной строке, выполните команду:

query process /id48 (подробнее https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/query-process)

у вас будут выведены, все процессы, которые запущены из под данного пользователя, нас будет интересовать csrss.exe и его PID.

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

В появившейся колонке PID,найдите нужный нам, в моем случае, это PID 26980, он соответствует процессу csrss.exe, пробуем его отключить, в диспетчере задач. По идее, это должно помочь устранить ошибку подключения «Задача, которую вы пытаетесь выполнить, не может быть завершена, потому что в настоящее время заняты службы удаленного рабочего стола. Попробуйте повторить попытку, через несколько минут. Остальные пользователи, по прежнему смогут логиниться на сервер».

Убить все процессы можно и через taskkill или rwinsta

Еще можно попытаться убить сессию пользователя командой reset session {<SessionName> | <SessionID>} (Подробнее https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/reset-session)

Если, этот метод вам не помог, то в некоторых случаях, с виртуальными машинами помогает вариант отключения и включения доступа по RDP

Если, это не помогло и перезагрузка невозможна, попробуйте в случае с виртуальной машиной, произвести перезапуск службы удаленных рабочих столов. Надеюсь вам удалось решить проблему подключения «The task you are trying to do can’t be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log» и вы продолжили работу.

Создание и декодирование трассировки

В случае, если другие шаги вам не сильно помогут; это будет последний шаг, который вы можете сделать. Он включает в себя использование Windows PowerShell для создания и декодирования трассировки.Сначала войдите на компьютер, используя учетную запись администратора.

Затем вам нужно открыть окно PowerShell с повышенными правами перейти в расположение ранее созданной папки, пусть это будет C:\Temp. Введите следующие команды в окне командной строки:

logman create trace -n RUP -o \RUP.etl -ets logman update RUP -p {eb7428f5-ab1f-4322-a4cc-1f1a9b2c5e98} 0x7FFFFFFF 0x7 -ets

Теперь на компьютер должен зайти пользователь испытывающий проблемы. Убедитесь, что вы НЕ выходите из этой учетной записи. Воспроизведите ту же проблему. После этого снова войдите в систему как локальный администратор. Введите следующие команды в окне командной строки, чтобы сохранить захваченный журнал в файл формата ETL,

logman stop -n RUP -ets

Теперь, наконец, чтобы сделать его читабельным, введите следующую команду:

Tracerpt \RUP.etl

Здесь путь будет указывать расположение читаемого файла.Теперь вы можете открыть файл журнала Summary.txt или Dumpfile.xml, чтобы читать журналы, используя Блокнот или Microsoft Excel соответственно. На этом у меня все, я постарался развернуто описать решение с временными профилями на терминальной ферме и локальных компьютерах. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Дополнительная литература:

  • https://www.itsmdaily.com/easy-how-to-fix-temporary-profile-in-microsoft-windows-and-microsoft-server/
  • https://social.technet.microsoft.com/Forums/lync/en-US/2309e2e5-ca3f-499f-856c-395ffa23b8ce/remote-desktop-user-getting-locked-into-a-temp-profile-each-time-she-logs-in?forum=winserverTS
  • https://support.microsoft.com/ru-ru/help/2661663/stale-user-profile-folders-are-not-deleted-completely-in-windows-7-or
  • http://www.eventid.net/display-eventid-1533-source-User%20Profile%20Service-eventno-10628-phase-1.htm
  • https://www.c-sharpcorner.com/UploadFile/shyjumohan/fix-corrupt-user-profile-temp-profile-in-windows-server-20/
  • https://social.technet.microsoft.com/Forums/windows/en-US/e492a389-0f70-420b-9d1e-2a286beac698/event-id-1542-user-profile-service-and-missing-classes-root-key?forum=w7itproinstall
  • https://www.thewindowsclub.com/user-profile-service-event-ids

Метод работы

Все операционные системы Windows, начиная с Windows NT 3.1 , поддерживают перемещаемые профили. Обычно автономный компьютер хранит документы пользователя, элементы рабочего стола, настройки приложений и внешний вид рабочего стола на локальном компьютере в двух разделенных частях, состоящих из части, которая может перемещаться, и дополнительной временной части, содержащей такие элементы, как кэш веб-браузера. Реестр Windows аналогично делится на поддержку роуминга; существуют кусты System и Local Machine, которые остаются на локальном компьютере, а также отдельный куст User (HKEY_CURRENT_USER), предназначенный для перемещения с помощью профиля пользователя.

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

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

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

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

Points to note before we configure RDS User Profile Disks

A user connecting to two different collections will have two separate profiles;

Properties are set automatically upon creation and contain all profile data and registry settings by default.

These properties can be defined prior to creation or after in the ‘Session Collection’ properties from ‘Server Manager’;

A form of central file share is required as the UNC path of this share is to provide in the wizard during initial configuration.

One major benefit of these file shares is that when more RDS hosts are added to support the collection, those hosts automatically add to the ACL of the share, not requiring an administrator to take any action in modifying security permissions;

Single session.

If a user logs into one RDS host, they cannot connect to another and they cannot have more than one session active on a single host;

User Profile Disks are created using a naming scheme that corresponds to a user’s GUID and makes identifying the UPD associated with a user a very risky task.

Шаг 2. Просмотр операционного журнала для службы профилей пользователей

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

Журнал приложений и операционный журнал службы профилей пользователей Windows включены по умолчанию во всех установках Windows.

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

  1. В дереве консоли «Просмотр событий» перейдите к разделу Журналы приложений и служб, затем выберите Microsoft, Windows, Служба профилей пользователей, Операционный.
  2. Изучите события, произошедшие во время происшествия событий ошибок или предупреждений, записанных в журнале приложений.

Вызов Pelprof через PowerShell

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

Param ( $Hostname, $UserProfile ) If ($UserProfile -ne $null){ $Computers = Get-ADComputer -Filter {Name -like $Hostname} ForEach ($computer in $computers) { $ComputerN = $computer.Name$runpath = «C:\Temp\DelProf2\DelProf2.exe» $arguments = «/u /c:\\$ComputerN /id:$UserProfile» Start-Process -filepath $runpath -Verb runAs -ArgumentList $arguments }}

Не забываем поместить утилиту pelprof2 в нужное вам место, и поменять это в скрипте.

Дополнительные ссылки

  • https://gallery.technet.microsoft.com/scriptcenter/How-to-delete-user-d86ffd3c/
  • https://gist.github.com/mavericksevmont/8c3877cb7484fc80b309fb39f719926f

На этом у меня все, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

А что же было не так?..

Основными же поводами и направлениями для улучшений в разрезе RDS в WS2012 были следующие вещи:

1.RemoteFX был достаточно популярным и востребованным решением, однако нижележащий протокол, RDP, не предоставлял качественного доступа и передачи данных поверх медленных и географически распределенных каналов типа WAN (Wide Area Network).2.Развертывание инфраструктуры пользователей как на базе сессий, так и на базе виртуальных машин было очень не простым и не экономически эффективным мероприятием.3.Администрирование всех компонентов и сервисов в пределах роли RDS, если не сказать сложным.

 В Windows Server 2012 все вышиперечисленные моменты были кардинально переработаны, а именно:

В WS2012 RemoteFX гораздо лучше ощущает себя на WAN-канале и может автоматически подстраиваться под условия канала в зависимости от его характеристик и возможностей хоста. Также улучшения включают в себя следующие моменты:

  • Адаптивная графика. Под адаптивной графикой подразумевается наличие различного списка кодеков для работы с разным типом контента (для видео применяются одни кодеки, для текста — другие, для изображений — третьи). Ранее мы использовали всего один кодек, независимо от типа контента. В сочетании с этим мы также используем новую прогрессивную систему кэширования данных — что позволяет снизить задержки в работе на сильно загруженных сетях и каналах передачи данных.
  • Оптимизированная потоковая передача медиа-данных. Для мульти-медиа данных мы используем совершенно новый кодек, который ранее не был в нашем арсенале — в зависимости от условий положительный эффект на качестве передаваемого контента может увеличиться до 90% в сравнении с предыдущим поколением RDS.
  • Автоматическое адаптивное определение сети. Это изменение направлено на то, что пользователю больше не нужно вручную указывать характеристики подключения — система автоматически определяет настройки и себя конфигурирует.
  • Поддержка DirectX11 vGPU. В Windows Server 2008 R2 SP1, мы впервые представили RemoteFX Virtual GPU (vGPU), который поддерживал проброс DirectX 9 приложений и поддержку Aero внутри виртуальных машин на базе Hyper-V с физическими ГП (GPU). В Windows Server 2012, функция vGPU была расширена и все виртуальные машины с ОС Windows 8 могут использовать все преимущества адаптеров с поддержкой DirectX 11, а также использовать софтверный рендеринг в тех сценариях, где ГП на базе DirectX 11 физически отсутствуют в серверах с RDS. Также добавлена поддержка нескольких видеокарт в пределах одной физической системы — что существенно повышает плотность и производительность системы.
  • Единая точка входа. В Windows Server 2008 R2 была возможность ввести учетные данные пользователя единожды при подключении к RemoteApps или к сессиям RDP — однако настройка такой конфигурации была очень не простой. В Windows Server 2012 мы значительно упростили процесс в виду отмены необходимости использования гигантского количества сертификатов. Также если вы уже находитесь под действующей учетной записью в домене — у вас нет необходимости заново вводить ваши учетные данные — они просто-навсего будут транслированы при организации подключения.
  • Обнаружение ресурсов RDS с помощью электронного адреса (e-mail). теперь НЕТ НЕОБХОДИМОСТИ ЗАПОМИНАТЬ ДЛИННЫЕ url ДЛЯ РАБОТЫ С УДАЛЕННЫМИ РЕСУРСАМИ — ВСЕ ДЕТАЛИ МОЖНО ВЫЯСНИТЬ ПРОСТО УКАЗАВ СВОЙ E-MAIL, а Web Access теперь также поддерживает браузеры Chrome и Firefox наравне с IE.
  • Мульти-тач. RDS поддерживает полный набор жестов, которые появились в Windows 8 и для удаленных сеансов (например увеличение или открытия меню настроек)) между клиентом и хостом с разрешением до 256 касаний. Так что теперь независимо от того как вы работаете — локально или удаленно — если ваш девайс мульти-тачебельный — вы сможете работать с тач-приложениями должным образом.
  • Перенаправление USB. В Windows Server 2008 R2 SP1 мы поддерживали изохронный проброс USB только для виртуальных машин с активированным vGPU. В новой версии мы также добавили поддержку сценариев на базе сессий и физических хостов — тем самым предоставляя одинаковые возможности независимо от того, используете ли вы физический доступ, на базе сессий или же на базе ВМ.

Шаг 3. Включение и просмотр журналов аналитики и отладки

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

Вот как включить и просмотреть журналы аналитики и отладки:

  1. В компоненте «Просмотр событий» в области Действия выберите Вид, а затем выберите Отобразить аналитический и отладочный журналы.
  2. Перейдите к узлу Журналы приложений и служб, затем выберите Microsoft, Windows, Служба профилей пользователей, Диагностика.
  3. Щелкните Включить журнал, а затем нажмите кнопку Да. Это включит журнал диагностики, который начнет запись.
  4. Если требуется более подробная информация, см. для получения дополнительных сведений о создании журнала трассировки.
  5. Завершив устранение проблемы, перейдите к журналу Диагностика, щелкните Отключить журнал, выберите Вид, а затем снимите флажок Отобразить аналитический и отладочный журналы, чтобы отменить ведение журнала аналитики и отладки.

Configuring RDS User Profile Disks on Windows

First of all, it is necessary to create a shared folder on any corporate file server to store user profiles as VHDX disk.

For example, the path to our folder will be: \\rdvh1\DemoLabOficeApp.

Servers which are a part of RDS collection should have full access permission to access this shared folder.

In a single RDS collection, there can exist only one VHDX profile file for one user. If a user connects to the resources from different collections, we should create a separate profile disk for each.

We can configure RDS User Profile Disks in the collection settings of Remote Desktop Services. We can enable this mode while creating a new collection.

In our example, the collection already exists, so in the Server Manager console, we select this collection and in the upper left corner click Tasks -> Edit Properties.

Here. in User Profile Disks section we ‘Enable’ user profile disks, specify the path to the previous shared folder (\\rdvh1\DemoLabOficeApps) and a maximum profile disk size. Then we save the changes.

Once done, we make sure to change NTFS permissions for Profile Disks folder. In our case, the collection consists of one RDSH01 server, which has full control permission.

Hence, a full Control permissions is given to the RDSH01 server on the shared folder level.

When we add new RD Session Host servers to the RDS collection, the wizard automatically changes the folder permissions and gives access to the new servers.

It is very convenient, since when scaling a terminal farm we do not need to remember to set permissions for the profile folder.

Основные причины такого поведения

  • Первый вариант, это заглючила служба удаленных рабочих столов
  • Сильная загрузка сети на сервере с перемещаемыми профилями
  • Проблема с профилем пользователя. Эта проблема возникает из-за проблемы синхронизации в службе профиля пользователя (profsvc) между рабочим потоком и основной служебной программой. Когда служба профиля пользователя останавливается, служба может быть занята, пытаясь очистить профили.
  • Проблема с процессом csrss.exe. Эта проблема возникает из-за ситуации взаимоблокировки, которая возникает между процессом Csrss.exe и некоторыми приложениями (например, Microsoft Excel или Microsoft Visio).
  • Системе может не хватать ресурсов на подключение, их может выедать, все та же IIS, которую нужно ограничивать.
  • Проверьте наличие свободного места на диске C:\, видел и такое.

Обязательно нужно изучить логи Windows, на предмет ошибок

Давайте разбираться, что нужно делать в такой ситуации.

UPD: User profile as VHDX file

First, we have to go to the network shared folder with user profiles. There is a UVHD-template.vhdx file. This file is the user profile disk template.

When a user logs on to the RDS server for the first time, this template copies and renames as a VHDX file, with user SID in its name.

To match an UPD file name with the user name, we must use a separate script.

For example, we can convert the SID to an account name by using the Get-ADUser cmdlet:

What does User profile disk contain?

Right-click the VHDX file and select Mount. The UPD disk can only be used in one session on one RDS host (exclusive access). We cannot mount an UPD VHDX disk if the user is currently using it on the RDS server.

As we can see, the VHDX disk contains a set of folders and files of a standard user profile. At logon, a user gets completely transparent access to the data in the profile.

On the side of RD Session Host server, a .vhdx user’s file is mounted to the C:\users\<username> and looks like this:

Note that the UPD drive is bound to the RDS server Windows OS version. We cannot transfer (use) an UPD user profile from an RDS server from one version of Windows Server to another.

Data is written to the vhdx file in real time. When copying data to a user profile on an RDS server, the size of the vhdx file on the shared storage increments immediately.

If the user profile folder already exists in the system, the folder with an old profile renames to the <username>-BACKUP-<number>.

The VHDX disk is mounted when the user session starts on a VDI or RDS server. A list of connected UPD disks with profiles can be listed using the mountvol utility.

The three options:

By default, a User Profile Disk contains all the user profile contents. However, we can exclude certain folders from the list of synchronized directories in the RDS collection settings.

Thus, all the changes made during the user’s terminal session to the folders in the list of excluded directories are not saved into the VHDX disk on the shared folder.

The second option allows us to save only specific directories in the UPD profile.

If necessary, the last option allows us to implement the scenarios for saving the settings of the Start Screen, in appsfolder.itemdata-ms file.

In this example, we have only added the path to \AppData\Local\Microsoft\Windows folder as an additional path to be saved in the UPD.

Заключение

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: