Что было. Ферма узлов сеансов RDS с дисками профилей пользователей (.vhdx на общей папке файлового сервера). После обрывов сессий (сеть, зависший клиент, перезагрузка узла) файл профиля остаётся «занятым»: при следующем входе пользователь получает временный профиль, а в журнале Application событие 1511/1515 от User Profile Service и от TerminalServices-RDPClient ошибки монтирования диска.
Почему. При аккуратном выходе узел сеансов отмонтирует диск профиля и освобождает файл. При жёстком обрыве дескриптор может остаться открытым на узле, а блокировка на файловом сервере не снимается. Следующий узел (или тот же после перезагрузки) не может смонтировать диск с эксклюзивным доступом и подставляет временный профиль.
Что предложили (принятый ответ).
- Снять блокировку сейчас. На файловом сервере найти открытые файлы: «Управление компьютером → Общие папки → Открытые файлы», либо
Get-SmbOpenFile | Where-Object Path -like '*UVHD-*', и закрытьClose-SmbOpenFile -FileId <id>. Если файл смонтирован на самом файловом сервере или узле,Get-VHD -Path \\server\UPD\UVHD-<SID>.vhdxиDismount-VHD -Path …. Пользователю после этого выйти из временной сессии и войти заново. - Не дать сессиям висеть. Политики завершения отключённых сессий (15–60 минут) и лимита простоя, чтобы висящие сессии не держали диски сутками.
- Обновления. Накопительные обновления и на узлах сеансов, и на файловом сервере: стабильность драйвера дисков профилей и SMB чинили не раз.
- Файловый сервер. Проверить, что общая папка доступна одинаково с каждого узла (один путь, одинаковые права
Полный доступдля компьютерных учётных записей узлов), в кластере проверить владельца тома.
Что мы добавим.
- Скрипт по расписанию на файловом сервере, который каждые 5 минут ищет открытые
UVHD-*.vhdx, для которых нет активной сессии в коллекции (Get-RDUserSession), и закрывает их; это снимает 90 % ручных обращений. - Не хранить диски профилей на том же диске, что и системный диск файлового сервера; задержки ввода-вывода превращаются в блокировки.
- Временный профиль сам по себе безопасен для данных пользователя: его диск не тронут, просто не подключён. Не нужно ничего «восстанавливать», достаточно снять блокировку.
Команда описана в документации PowerShell.