本文提供了有关在安装了桌面体验的 Windows Server 中删除包含登录会话 ID 的 %TEMP% 文件夹的问题的解决方法。
适用于: Windows Server 2022、Windows Server 2019
原始 KB 数: 4506040
现象
在安装了桌面体验的 Windows Server 中,如果已登录到计算机超过七天, 则会删除包含会话 ID 的 %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% 文件夹不包括登录会话 ID。 例如,
C:\Users\<User Account>\AppData\Local\Temp
。 - %TEMP% 文件夹不为空。
- 没有人登录到服务器,或者任何用户会话在七天内结束。
%TEMP% 文件夹由 SilentCleanup (cleanmgr.exe) 或存储感知 (storsvc.exe) 删除
此行为是特意这样设计的。
当登录会话超过七天时,SilentCleanup 任务 (cleanmgr.exe) 将删除 %TEMP% 文件夹。 SilentCleanup 计划每天与自动维护一起。
启用存储感知(storsvc.exe)后, 可能会删除 %TEMP% 文件夹。 存储感知默认处于禁用状态,但当 C 驱动器耗尽可用空间时,可能会启用它。
若要解决此问题,请执行以下步骤:
- 从文件夹值中删除 %TEMP% 条目(建议)或修改 LastAccess 值。
- 禁用存储感知(如果已启用存储感知)。
- 禁用低可用磁盘空间警告。
- 使用组策略禁用存储感知(仅限 Windows Server 2022)。
步骤 1:从文件夹值中删除 %TEMP% 条目或修改 LastAccess 值
删除 %TEMP% 条目(建议)
打开“注册表编辑器”。 依次选择“开始”>、“运行”,键入“regedit”,然后选择“确定”。
找到并选择以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files
右键单击“ 文件夹”,然后选择“ 修改”。
在 “值”数据 框中,删除 %TEMP% 条目,然后选择“ 确定”。 例如:
编辑前的值:
%TEMP%|%WINDIR%\Temp|%WINDIR%\Logs|%WINDIR%\System32\LogFiles
编辑后的值:
%WINDIR%\Temp|%WINDIR%\Logs|%WINDIR%\System32\LogFiles
退出 注册表编辑器。
注意
进行此配置后,必须手动删除 %TEMP% 文件夹以避免耗尽可用空间。
也可以修改 LastAccess 值。
修改 LastAccess 值
注意
对于 Windows Server 2019,请先安装 4 月累积更新 ,然后执行以下步骤。
打开“注册表编辑器”。 依次选择“开始”>、“运行”,键入“regedit”,然后选择“确定”。
找到并选择以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files
右键单击 LastAccess,然后选择“ 修改”。
在 “值”数据 框中,键入一个以天为单位的值。 默认值为 7。 可以设置的最大值是从 1601 年 1 月 1 日起到现在的天数。
退出 注册表编辑器。
注意
进行此配置后,LastAccess 值控制cleanmgr.exe删除所有临时文件夹中的文件的时间段。 如果 LastAccess 值设置得太高,则可能耗尽可用空间。
除了 cleanmgr.exe 设置之外,还对存储感知进行以下设置。
注意
为存储感知配置后,请注意不要耗尽 C 驱动器上的可用空间。
步骤 2:禁用存储感知(如果已启用存储感知)
- 转到“启动>设置>系统>存储”。
- 关闭 存储感知。
- 退出 设置。
步骤 3:禁用低可用磁盘空间警告
当 C 驱动器耗尽可用磁盘空间时,可能会启用存储感知。 可以使用以下步骤禁用低可用磁盘空间警告:
打开“注册表编辑器”。 选择“开始>运行”,键入 regedit,然后选择“确定”。
找到并选择以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
转到“编辑”,然后选择“新建>DWORD 值”。
输入 NoLowDiskSpaceChecks ,然后按 Enter。
右键单击 NoLowDiskSpaceChecks 值,然后选择“ 修改”。
在“值数据”框中键入 1,然后选择“确定”。
关闭注册表编辑器。
重新启动计算机。
步骤 4:仅使用组策略禁用存储感知(仅限 Windows Server 2022)
对于 Windows Server 2022,还需要使用组策略禁用存储感知,如下所示:
打开 组策略编辑器。 选择“开始>运行”,键入 gpedit.msc,然后选择“确定”。
找到以下策略:
计算机配置>管理模板>系统>存储感知
编辑“允许存储感知”策略已禁用。
关闭 组策略编辑器。
参考
有关存储感知的详细信息,请参阅 使用存储感知管理驱动器空间。