Папка %TEMP%, содержащая идентификатор сеанса входа, неожиданно удаляется

В этой статье приводятся обходные решения для проблемы, из-за которой папка %TEMP%, содержащая идентификатор сеанса входа, удаляется в Windows Server с установленным рабочим столом.

Применимо к: Windows Server 2022, Windows Server 2019
Исходный номер базы знаний: 4506040

Симптомы

В Windows Server с установленным рабочим столом папка %TEMP%, содержащая идентификатор сеанса, удаляется, если вы вошли на компьютер более семи дней. Поэтому некоторые приложения, которым требуется доступ к %TEMP%, не работают правильно после этого времени.

Чтобы определить путь к папке %TEMP% и убедиться, что папка была удалена, выполните следующие команды. Показан пример выходных данных.

C:\Users\Administrator>set TEMP
TEMP=C:\Users\ADMINI~1\AppData\Local\Temp\1
C:\Users\Administrator>dir %TEMP%
Volume in drive C has no label.

Volume Serial Number is C861-D3EF

Directory of C:\Users\ADMINI~1\AppData\Local\Temp

File Not Found

Проблема не возникает в следующих сценариях:

  • В папку %TEMP% не включен идентификатор сеанса входа. Например, C:\Users\<User Account>\AppData\Local\Temp.
  • Папка %TEMP% не пуста.
  • Никто не входит на сервер, или любой сеанс пользователя завершается в течение семи дней.

Папка %TEMP% удаляется с помощью SilentCleanup (cleanmgr.exe) или контроля хранилища (storsvc.exe).

Такое поведение является особенностью данного продукта.

Папка %TEMP% удаляется задачей SilentCleanup (cleanmgr.exe), когда сеанс входа превышает семь дней. SilentCleanup планируется ежедневно вместе с автоматическим обслуживанием.

Если включен контроль хранилища (storsvc.exe), папка %TEMP% может быть удалена. Контроль хранилища отключен по умолчанию, но он может быть включен, когда на диске C заканчивается свободное место.

Чтобы обойти эту проблему, выполните указанные ниже действия.

  1. Удалите запись %TEMP% из значения папки (рекомендуется) или измените значение LastAccess.
  2. Отключите контроль хранилища (если включен контроль хранилища).
  3. Отключите предупреждение о нехватке свободного места на диске.
  4. Отключите контроль хранилища с помощью групповая политика (только Windows Server 2022).

Шаг 1. Удаление записи %TEMP% из значения папки или изменение значения LastAccess

Удаление записи %TEMP% (рекомендуется)

  1. Откройте редактор реестра. Последовательно выберите Пуск>Выполнить, введите regedit, затем нажмите кнопку OK.

  2. Найдите и выделите следующий подраздел реестра:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files

  3. Щелкните правой кнопкой мыши папку и выберите команду Изменить.

  4. В поле Данные значения удалите запись %TEMP% и нажмите кнопку ОК. Например:

    Значение перед редактированием:

    %TEMP%|%WINDIR%\Temp|%WINDIR%\Logs|%WINDIR%\System32\LogFiles

    Значение после редактирования:

    %WINDIR%\Temp|%WINDIR%\Logs|%WINDIR%\System32\LogFiles

  5. Закройте Редактор реестра.

Примечание.

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

Кроме того, можно изменить значение LastAccess .

Изменение значения LastAccess

Примечание.

Для Windows Server 2019 сначала установите накопительное обновление за апрель , а затем выполните следующие действия.

  1. Откройте редактор реестра. Последовательно выберите Пуск>Выполнить, введите regedit, затем нажмите кнопку OK.

  2. Найдите и выделите следующий подраздел реестра:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files

  3. Щелкните правой кнопкой мыши LastAccess и выберите Команду Изменить.

  4. В поле Значение введите значение в днях. Значение по умолчанию — 7. Максимальное значение, которое можно задать, — это количество дней с 1 января 1601 по настоящее время.

  5. Закройте Редактор реестра.

Примечание.

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

Помимо cleanmgr.exe параметров, сделайте следующие параметры для контроля хранилища.

Примечание.

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

Шаг 2. Отключение контроля хранилища (если включен контроль хранилища)

  1. Перейдите в раздел Запуск>параметров>Системное>хранилище.
  2. Отключите контроль хранилища.
  3. Выйти из параметров.

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

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

  1. Откройте редактор реестра. Нажмите кнопку Запустить>запуск, введите regedit и нажмите кнопку ОК.

  2. Найдите и выберите следующий подраздел реестра:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

  3. Перейдите в раздел Изменить и выберите Создать>значение DWORD.

  4. Введите NoLowDiskSpaceChecks и нажмите клавишу ВВОД.

  5. Щелкните правой кнопкой мыши значение NoLowDiskSpaceChecks и выберите Изменить.

  6. Введите 1 в поле Данные значения и нажмите кнопку ОК.

  7. Закройте Редактор реестра.

  8. Перезагрузите компьютер.

Шаг 4. Отключение контроля хранилища с помощью групповая политика (только Windows Server 2022)

Для Windows Server 2022 также необходимо отключить контроль хранилища с помощью групповая политика следующим образом:

  1. Откройте групповая политика Редактор. Выберите Запустить>запуск, введите gpedit.msc и нажмите кнопку ОК.

  2. Найдите следующую политику:

    Конфигурация> компьютераАдминистративные шаблоны>Системы>Контроль хранилища

  3. Измените для политики Разрешить контроль хранилища значение Отключено.

  4. Закройте групповая политика Редактор.

Справочные материалы

Дополнительные сведения о контролье хранилища см. в статье Управление дисковым пространством с помощью функции контроля хранилища.