本文提供因應措施,說明在已安裝桌面體驗的 Windows Server 中刪除包含登入會話標識碼的 %TEMP% 資料夾的問題。
適用於: Windows Server 2022、Windows Server 2019
原始 KB 編號: 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) 或 Storage Sense 刪除 (storsvc.exe)
這是依照設計的行為。
當登入會話超過七天時,SilentCleanup 工作會刪除 %TEMP% 資料夾(cleanmgr.exe)。 SilentCleanup 會排程每日與自動維護。
啟用 Storage Sense (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 設定之外,請針對記憶體感知進行下列設定。
注意
設定 Storage Sense 之後,請小心不要在 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,然後選取 [確定]。
找出下列原則:
計算機設定系統管理>範本>系統>儲存感知
編輯 [允許儲存感知原則停用]。
關閉 組策略編輯器。
參考
如需記憶體感知的詳細資訊,請參閱 使用記憶體感知管理磁碟驅動器空間。