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
This commit is contained in:
2026-05-08 19:54:24 -07:00
parent 935b6995e5
commit cc976863fc
3 changed files with 225 additions and 0 deletions

View File

@@ -38,6 +38,7 @@
- [Syncro — warranty has its own product, never patch dollar amounts](feedback_syncro_warranty_product.md) — Warranty/no-charge work uses product `1049360` (Labor- Warranty work, $0). Do NOT use Remote/Onsite + `billable: false` — Syncro silently overrides the flag. Do NOT patch `price_retail` to convert one labor product into another; pick the correct product and re-run. Hit on #32225 2026-05-06.
- [SQL instance role — verify by connections, not name](feedback_sql_instance_role_by_connection.md) — Standard installed under default `SQLEXPRESS` instance name is real. Prove role with `sys.dm_exec_sessions` + `Get-NetTCPConnection -OwningProcess` before recommending stop/uninstall. IMC1 2026-05-05/06 near-miss.
- [Syncro — confirm appointment owner explicitly](feedback_syncro_appointment_owner.md) — When creating tickets with appointments, always ask "who is the appointment owner?" in the preview. Don't auto-default to ticket's assigned tech. Don't add additional attendees without explicit confirmation. Howard caught on Kittle ticket #32263 2026-05-08.
- [Clear-RecycleBin fails silently as SYSTEM](feedback_clear_recyclebin_system_context.md) — RMM-dispatched cleanup scripts cannot use `Clear-RecycleBin -Force`; the cmdlet uses Shell COM and silently no-ops without an interactive desktop. Enumerate `C:\$Recycle.Bin\<SID>\*` directly. Hit on ASSISTMAN-PC 2026-05-08.
## Machine
- [ACG-5070 Workstation Setup](reference_workstation_setup.md) - Windows 11 Pro clean install 2026-03-30, replaced CachyOS. All tools installed.

View File

@@ -0,0 +1,13 @@
---
name: Clear-RecycleBin fails silently as SYSTEM
description: 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.
type: 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.