Files
claudetools/.claude/memory/feedback_clear_recyclebin_system_context.md
Howard Enos cc976863fc sync: auto-sync from HOWARD-HOME at 2026-05-08 19:54:23
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-08 19:54:23
2026-05-08 19:54:24 -07:00

1.7 KiB

name, description, type
name description type
Clear-RecycleBin fails silently as SYSTEM Clear-RecycleBin -Force is a no-op when invoked from a SYSTEM-context process (RMM agents, scheduled tasks running as LocalSystem). Returns success but reclaims nothing. Use direct enumeration of C:$Recycle.Bin<SID> instead. feedback

Clear-RecycleBin -Force returns silently without erroring when called from a process that has no interactive desktop session — i.e. SYSTEM-context contexts like the GuruRMM agent, Datto RMM agent, scheduled tasks running as LocalSystem, or any service. The cmdlet wraps the Shell COM IFileOperation API which requires an interactive Shell; SYSTEM has none, so the call exits as a no-op. No exception, no warning, no event log entry. The folder size before and after is identical.

Why: Hit during ASSISTMAN-PC cleanup 2026-05-08 (Cascades). First cleanup pass reported "Recycle Bin status=cleared" but Get-FolderSizeMB showed 12,272 MB before and 12,272 MB after. 12 GB of reclaimable space sitting untouched.

How to apply: When writing temp-file / cleanup scripts that will be dispatched via an RMM (GuruRMM, Datto RMM, ScreenConnect Backstage, scheduled tasks as SYSTEM), do not use Clear-RecycleBin. Instead enumerate C:\$Recycle.Bin\<SID>\* directly across each user SID folder and Remove-Item -Recurse -Force on each child, skipping desktop.ini. Working pattern saved at C:\Users\Howard\AppData\Local\Temp\assistman-rb-clean.ps1 (and embedded in the 2026-05-08 ASSISTMAN-PC session log).

If the script needs to run in either context (interactive or SYSTEM), still prefer direct enumeration — it works in both, while Clear-RecycleBin only works in interactive sessions. One code path, no branching.