SurgicalAutodeskCleaner
2.9.0-beta
A professional, enterprise-grade PowerShell module for surgical extraction and total system purging of Autodesk software.
Compatible with PowerShell 5.1 and 7.0+. Note: Interactive Mode (TUI) is best experienced in PowerShell 7+.
Features:
- Start-SACInteractive (Alias: Start-SAC): Full interactive main menu with a conditional "View Last Run Logs" viewe
Compatible with PowerShell 5.1 and 7.0+. Note: Interactive Mode (TUI) is best experienced in PowerShell 7+.
Features:
- Start-SACInteractive (Alias: Start-SAC): Full interactive main menu with a conditional "View Last Run Logs" viewe
A professional, enterprise-grade PowerShell module for surgical extraction and total system purging of Autodesk software.
Compatible with PowerShell 5.1 and 7.0+. Note: Interactive Mode (TUI) is best experienced in PowerShell 7+.
Features:
- Start-SACInteractive (Alias: Start-SAC): Full interactive main menu with a conditional "View Last Run Logs" viewer. Supports remote WinRM dispatch, pending reboot checking, and service hardening.
- Start-SACCleanup: Surgical background removal tool with reboot deletion queue for locked files, targeted Autodesk-only temp folder clearing, and wide product support.
- Start-SACPurge: Scorched-earth registry and file system master purge with explicit AGS/Genuine service removal, general temp clearing, and Desktop Connector caches wipe.
- Start-SACScan: Generates CSV pre-flight scan reports of targeted deletions.
- Reset-SACUserProfile: Resets per-user Autodesk AppData (rename Roaming, delete Local) and removes root user caches (ACCDocs, BIM 360) for a clean-start experience.
- Reset-SACLicensing: Wipes CLM, AdskLicensing, and SSO token cache to force clean re-authentication.
- Restore-SACUserProfile: Lists, restores, or purges Roaming profile backups created by Reset-SACUserProfile.
- Invoke-SACRemote: Dispatches SAC tasks to remote endpoints via WinRM.
- Repair-SACODIS: Uninstalls, cleans/renames directory states, downloads the latest version, and silently reinstalls Autodesk On-Demand Install Service (ODIS) to fix installer failures.
Example RMM usage: Start-SACCleanup -TargetProducts "AutoCAD", "Revit" -TargetYears 2019, 2020 -Silent
DeepWiki Documentation: https://deepwiki.com/DailenG/SurgicalAutodeskCleaner
[](https://deepwiki.com/DailenG/SurgicalAutodeskCleaner)
Show more
Compatible with PowerShell 5.1 and 7.0+. Note: Interactive Mode (TUI) is best experienced in PowerShell 7+.
Features:
- Start-SACInteractive (Alias: Start-SAC): Full interactive main menu with a conditional "View Last Run Logs" viewer. Supports remote WinRM dispatch, pending reboot checking, and service hardening.
- Start-SACCleanup: Surgical background removal tool with reboot deletion queue for locked files, targeted Autodesk-only temp folder clearing, and wide product support.
- Start-SACPurge: Scorched-earth registry and file system master purge with explicit AGS/Genuine service removal, general temp clearing, and Desktop Connector caches wipe.
- Start-SACScan: Generates CSV pre-flight scan reports of targeted deletions.
- Reset-SACUserProfile: Resets per-user Autodesk AppData (rename Roaming, delete Local) and removes root user caches (ACCDocs, BIM 360) for a clean-start experience.
- Reset-SACLicensing: Wipes CLM, AdskLicensing, and SSO token cache to force clean re-authentication.
- Restore-SACUserProfile: Lists, restores, or purges Roaming profile backups created by Reset-SACUserProfile.
- Invoke-SACRemote: Dispatches SAC tasks to remote endpoints via WinRM.
- Repair-SACODIS: Uninstalls, cleans/renames directory states, downloads the latest version, and silently reinstalls Autodesk On-Demand Install Service (ODIS) to fix installer failures.
Example RMM usage: Start-SACCleanup -TargetProducts "AutoCAD", "Revit" -TargetYears 2019, 2020 -Silent
DeepWiki Documentation: https://deepwiki.com/DailenG/SurgicalAutodeskCleaner
[](https://deepwiki.com/DailenG/SurgicalAutodeskCleaner)
This is a prerelease version of SurgicalAutodeskCleaner.
Installation Options
Owners
Copyright
(c) 2026 Dailen. All rights reserved.
Package Details
Author(s)
- Dailen
Tags
Autodesk Cleanup Purge Uninstall Licensing UserProfile Dailen
Functions
Start-SACCleanup Start-SACPurge Start-SACInteractive Start-SACScan Reset-SACUserProfile Reset-SACLicensing Restore-SACUserProfile Invoke-SACRemote Repair-SACODIS
Dependencies
This module has no dependencies.
FileList
- SurgicalAutodeskCleaner.nuspec
- .gitignore
- .claude\settings.local.json
- Images\SAC_Main_Menu.png
- Private\Invoke-SACRobocopyPurge.ps1
- Public\Reset-SACUserProfile.ps1
- .git\hooks\commit-msg.sample
- .git\hooks\prepare-commit-msg.sample
- .git\objects\01\e9aae35a9f59a72f9d0049619439c9445d5485
- .git\objects\1a\5326c569955fd249d6ecdc647e417723aea15f
- .git\objects\29\7f0df1b6f120fe5711f1c420f21822a234c78c
- .git\objects\3a\794e5d51dd2d1fded894f580defa4a9632973b
- .git\objects\47\a13e1c72c4bdb7e24ebd9381fa2d892e298dd6
- .git\objects\53\bf087e860b6b7515b19125665d59785a24db80
- .git\objects\66\53b101052a32fc9e2a7afe1c3feea6b658abde
- .git\objects\79\50161a597d04cb864006519d600cb835a6d77e
- .git\objects\94\cd678729d71328bce3f964322a9f79cf266e3f
- .git\objects\ab\1f6837ff4ab771db31cd8e6b3c20178ff6d41c
- .git\objects\bf\aff33c13da565c86973bc7c379b3ac383bb194
- .git\objects\d9\68c9e9aac2ffa443c2e881d68cb05e2c884002
- .git\objects\f2\5c4c464492339b9dd79d184dc213f97e4d8e25
- .git\objects\pack\pack-661254ea4fb123bc85eb2ff3dc2a1dd4bb4094ea.pack
- .git\objects\info\commit-graphs\commit-graph-chain
- AGENTS.md
- .git\COMMIT_EDITMSG
- Images\SAC_ProductList.png
- Private\Invoke-SACTempAutodeskCleanup.ps1
- Public\Restore-SACUserProfile.ps1
- .git\hooks\fsmonitor-watchman.sample
- .git\hooks\push-to-checkout.sample
- .git\objects\04\e962f03995f9ea4796d836e4cb4d16c297eb6d
- .git\objects\1b\d6b5d571d0c64f5b4f405e6c846f2915f9134a
- .git\objects\29\e5c8aef978a6eb62a3aeff883b76372a1b40db
- .git\objects\41\790a07786f85b35b46033e7199fea83baaf85c
- .git\objects\49\c773793ed5605bbde35835ad49757de341faf2
- .git\objects\54\1d5300f17c20a266631c035d4b9660d6d77b50
- .git\objects\6e\c76bf7cd85083717d02a83d5314bfbe0a2f35c
- .git\objects\79\d9807b95253acebada289011956561972a6dbe
- .git\objects\95\fd9aa20167e099e9a0b1822385ab8634958624
- .git\objects\ac\4a014bbfe21b2760674848a37a92fec7f2b8ee
- .git\objects\c0\2ca87188bf4daec617837ca02dc8626845b071
- .git\objects\e3\07be7966cc50d3185ceb2c41d2a34997c87b8b
- .git\objects\fa\03f17a57a7b2f00382bfbacd9ed5c83880ec0c
- .git\objects\pack\pack-661254ea4fb123bc85eb2ff3dc2a1dd4bb4094ea.rev
- .git\objects\info\commit-graphs\graph-45647154009d5824b3db8bc7a7deed24adf96167.graph
- CLAUDE.md
- .git\config
- Images\SAC_YearList.png
- Private\Register-SACPostRebootCleanup.ps1
- Public\Start-SACCleanup.ps1
- .git\hooks\post-update.sample
- .git\hooks\sendemail-validate.sample
- .git\objects\06\4b550ff9b69d710ffbd5dd3f0ec0e24f0913a1
- .git\objects\1c\4e4a1a7ff56a4973644c5f42568503c070cc3d
- .git\objects\2b\fd567f1441cd771152dff199fc3f34cca5b504
- .git\objects\42\1e2b023cf5de20fd9edc97e5f9d05b110319ae
- .git\objects\4a\62c98165802510e038d48d8b6c7b26cab1b132
- .git\objects\54\f307d4f7406c3b4895ae2220e431b0f6e2e7ea
- .git\objects\6f\acc5f5c565eb6d0f1568b51a7fd7559b62d454
- .git\objects\7e\c9aeca2a972b5995847df5db1d929a31e7a91e
- .git\objects\98\cbdade42ab3b9b6d990ee678d81814847095cb
- .git\objects\ac\cc8d1e8975157f36508df49d49714e24b21908
- .git\objects\c3\9381ebb0358c6e44e4839e87c6761fd037c230
- .git\objects\e5\489bb00e47af4ee71c0731962648eeb768428e
- .git\objects\fa\1a43e5616d242137a56058df1793a8bb36c6d6
- .git\objects\pack\pack-aa220feb43081289628e93cfc3a33edc3ea8b1fd.idx
- .git\refs\remotes\origin\HEAD
- LICENSE
- .git\description
- Private\Clear-SACTempFolders.ps1
- Private\Test-SACPendingReboot.ps1
- Public\Start-SACInteractive.ps1
- .git\hooks\pre-applypatch.sample
- .git\hooks\update.sample
- .git\objects\07\c5eea0b624863b560177a800f8baf3edadc877
- .git\objects\1f\91f38f788350d8efe22c62721eab264c1be8f8
- .git\objects\2e\465edd3b47509c6fe1dc1466cfbc752549f934
- .git\objects\42\d5366a8cea12a03df833a6b63b7696a26aab22
- .git\objects\4b\0c8b63a3352410d677d39eeecc23a41f42e6f0
- .git\objects\55\901c2d2efce83dd67efdce463d8300c29ff705
- .git\objects\72\9c406b85bef8b66a83ac4d1a8b651d9b8ab4c4
- .git\objects\81\e75b17b3e459c793c9d06c26a178c29810160b
- .git\objects\99\c3b4b73c729b55545476993b4c20c19a164bcd
- .git\objects\b6\0be12a18360ab3eaeae92d76827e55bd13c590
- .git\objects\c4\f8ec8f1f7b8926fc378c826bf56831eb979df5
- .git\objects\e5\58c6b4dfee59c9cfee6d4f6289a4a6ecb89f7e
- .git\objects\fb\1c9bb6a6ae70399891a9bce46b967b2d364f02
- .git\objects\pack\pack-aa220feb43081289628e93cfc3a33edc3ea8b1fd.pack
- .git\logs\refs\remotes\origin\HEAD
- README.md
- .git\FETCH_HEAD
- Private\Connect-SACTarget.ps1
- Private\Test-SACRemoteSession.ps1
- Public\Start-SACPurge.ps1
- .git\hooks\pre-commit.sample
- .git\info\exclude
- .git\objects\08\ddb1108d5d956f774dd7e63932d1b3a1b021e5
- .git\objects\22\d7d59ec4e0e6449ed3a51a13c749901a97cc5d
- .git\objects\2f\1fa711ed46b97caf430d74aaf4deaf9be6d550
- .git\objects\43\c6d1bbc55482ece40d169ba49773ae0086492c
- .git\objects\4b\d4ec1aeff0170d90b6db711532f96fbdd0297e
- .git\objects\57\94ce333bfe031250dc3fad0b1e6df4c53e4457
- .git\objects\73\3ecbf6334463d0a32cc800053b7b2ab19d65eb
- .git\objects\83\4ea298acf43a1829fe5ee1c9f5d2dff3f5dd85
- .git\objects\9e\6c64d53e3d88bf88d3cd61a0fdf999ecd92f35
- .git\objects\b7\d74e4c4a39cc89c741e376930934a4870b10ef
- .git\objects\c8\eef6d4c40e6e59b85327ee1889de6614095a4e
- .git\objects\e8\5d4b99a62cce692649dcda076594e6c5f21dab
- .git\objects\info\packs
- .git\objects\pack\pack-aa220feb43081289628e93cfc3a33edc3ea8b1fd.rev
- .git\logs\refs\remotes\origin\master
- .git\HEAD
- Private\Invoke-SACHiddenInstallerState.ps1
- Private\Watch-SACProcessTree.ps1
- Public\Start-SACScan.ps1
- .git\hooks\pre-merge-commit.sample
- .git\info\refs
- .git\objects\0a\f6d6d584e81aad2f3570f4655a745412a764e5
- .git\objects\22\ddbf4680116851381c77d3a09b84f74f9b63da
- .git\objects\31\77820becb31ddee009aa38cd488185628b6b81
- .git\objects\43\fd1669f86570021ff0af98d34ea39fd2a50508
- .git\objects\4d\be685cacfd1de67a819d44400d24de61748a4a
- .git\objects\57\ac3bf6fa6fc91b2ed43fdfec4836ad9e6592a4
- .git\objects\74\24e4979b46200857ed7196eaaa95a5811a164f
- .git\objects\84\15193236933fa947149bd6056b8fa892f8ab84
- .git\objects\9f\b996b3b3ff8e8002c21b1c498f002b5260a736
- .git\objects\b9\5d86f99f4e986fe4a4a4a36a4dc030cf58147c
- .git\objects\d2\83891af07663d77bea165c4bf7bacdacde460d
- .git\objects\e9\0fcb3d7811fc243529a6d600b594ececc1d251
- .git\objects\pack\multi-pack-index
- .git\logs\refs\heads\master
- .git\logs\refs\remotes\origin\v2.0.0-beta
- SurgicalAutodeskCleaner.psd1
- .git\index
- Private\Invoke-SACLogger.ps1
- Public\Invoke-SACRemote.ps1
- Tests\SurgicalAutodeskCleaner.Tests.ps1
- .git\hooks\pre-push.sample
- .git\logs\HEAD
- .git\objects\14\299ad08a54875209227487636c6ceefade053c
- .git\objects\24\a585293f2a6aab240d752919c767aa9b104145
- .git\objects\32\e4f03b7839c5604f05ef611f20622b36a949d6
- .git\objects\45\4a431913355668528092f40c52c07d7dc3aa6e
- .git\objects\4f\68fb049f42256008ad91f37bf0185e88d2344e
- .git\objects\60\b989b2d907ad41dfe5229e6f2e7503f2807b37
- .git\objects\74\4fdb5891c3ba4fb384e896e9a6fdc8ec96220e
- .git\objects\86\5d3b513529f8a29d7c99edc749f0da4f562f4c
- .git\objects\a4\ed0364fb9cfcecc8fd4beb335855b3474db0ee
- .git\objects\b9\9873b685205957c44912f7aa1164cb876b31f9
- .git\objects\d3\f123a1b259526c01f156d5f13497d507e6c260
- .git\objects\e9\fb8824738cf460538d8fcb1704ab8609e73e7e
- .git\objects\pack\pack-661254ea4fb123bc85eb2ff3dc2a1dd4bb4094ea.idx
- .git\logs\refs\heads\v2.0.0-beta
- .git\logs\refs\remotes\origin\v2.3
- SurgicalAutodeskCleaner.psm1
- .git\ORIG_HEAD
- Private\Invoke-SACPause.ps1
- Public\Repair-SACODIS.ps1
- .git\gk\config
- .git\hooks\pre-rebase.sample
- .git\objects\01\7fbdeffe9d3f3c508ff14bacb30661074ca4ed
- .git\objects\1a\21875790a64db7f11343e65079941b4802a61d
- .git\objects\26\c8fa2b338c926a9cc6b7eade26a5848cd754e1
- .git\objects\33\243ee7b699564d773a2560289248d030a846a5
- .git\objects\45\86e2c6fa36f586ed639743aa614a61683cca18
- .git\objects\50\85e956c1430f5916dd162df2066075e7935fb7
- .git\objects\64\84cf6a9c819b6bc3ab412cf00427ae7aafbfdb
- .git\objects\75\75c5af7bd879de1251e2dd1ed12f185c8fdd2f
- .git\objects\8a\7c2d1756d3bfa7e9da578b95038f51c0258465
- .git\objects\a8\e9db756b68b3e2b84023b077e5975295eb9fd5
- .git\objects\bc\3d1e98cdb86a32c3f560684bab294c73407527
- .git\objects\d6\70ea423c302c0637c67c71982cc6b9e421ccd0
- .git\objects\f0\0dcf26cfc7ace96910c89f3557bce1391b901d
- .git\objects\pack\pack-661254ea4fb123bc85eb2ff3dc2a1dd4bb4094ea.mtimes
- .git\logs\refs\heads\v2.3
- .git\refs\codex\turn-diffs\captures\1781451539276\11db7326-7bd1-451e-9d38-5b786470ab18\base
- TODO.md
- .git\packed-refs
- Private\Invoke-SACPendingDelete.ps1
- Public\Reset-SACLicensing.ps1
- .git\hooks\applypatch-msg.sample
- .git\hooks\pre-receive.sample
- .git\objects\01\9444189cace85377f065ee47234976cc6c0f7b
- .git\objects\1a\252dde599a57510d95cdff41876db98fbbdfbe
- .git\objects\28\f20e6495d07885118b82e4a43abf714313dfe9
- .git\objects\34\702ea6fea51e062459d4c921298bf4363db920
- .git\objects\45\c5e655cb1625f0e3e2b9d5010c55fff4a6992d
- .git\objects\52\a1ba58348f76a1c9a7ccd3729edd7e6c5a9c65
- .git\objects\66\140089756f70f5b96b5f4bd90c5bf03dc90ca9
- .git\objects\77\34bb5ae5a2892063fdeb0a6438dd10d1b74e94
- .git\objects\8c\a09c7cdaac46014c74c6854064156db670fa6d
- .git\objects\aa\0abf1514142050cfe458066007a8ca694e6230
- .git\objects\bd\371ba5f7779b308af741a4b36d15a5502e7d00
- .git\objects\d6\72855c6e0027fb0143dbb1e5cb0a1911e3241c
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 2.9.0-beta (current version) | 4 | 6/14/2026 |
| 2.8.1 | 25 | 5/29/2026 |
| 2.8.0 | 17 | 5/20/2026 |
| 2.7.1 | 4 | 5/20/2026 |
| 2.7.0 | 4 | 5/20/2026 |
| 2.6.2 | 6 | 5/19/2026 |
| 2.6.1 | 5 | 5/19/2026 |
| 2.6.0 | 3 | 5/19/2026 |
| 2.5.0-beta | 5 | 5/15/2026 |
| 2.4.1 | 36 | 5/15/2026 |
| 2.4.0 | 7 | 5/13/2026 |
| 2.3.4-beta | 3 | 5/13/2026 |
| 2.3.3-beta | 2 | 5/13/2026 |
| 2.3.2-beta | 2 | 5/13/2026 |
| 2.3.1-beta | 2 | 5/13/2026 |
| 2.3.0-beta | 3 | 5/13/2026 |
| 2.2.2-beta | 3 | 5/13/2026 |
| 2.2.0-beta | 3 | 5/13/2026 |
| 2.1.0-beta | 4 | 5/13/2026 |
| 2.0.0-beta | 3 | 5/12/2026 |
| 1.3.2 | 20 | 5/11/2026 |
| 1.3.1 | 5 | 5/10/2026 |
| 1.3.0 | 5 | 5/10/2026 |
| 1.2.9 | 4 | 5/10/2026 |
| 1.2.8 | 6 | 5/9/2026 |
| 1.2.7 | 5 | 5/9/2026 |
| 1.2.6 | 3 | 5/9/2026 |
| 1.2.5 | 4 | 5/9/2026 |
| 1.2.4 | 4 | 5/9/2026 |
| 1.2.3 | 5 | 5/9/2026 |
| 1.2.2 | 3 | 5/9/2026 |
| 1.2.1 | 3 | 5/9/2026 |
| 1.2.0 | 4 | 5/9/2026 |
| 1.1.2 | 3 | 5/9/2026 |
| 1.1.1 | 3 | 5/9/2026 |
| 1.1.0 | 4 | 5/9/2026 |
| 1.0.6 | 4 | 5/9/2026 |
| 1.0.5 | 3 | 5/9/2026 |
| 1.0.4 | 4 | 5/9/2026 |
| 1.0.3 | 3 | 5/9/2026 |
| 1.0.2 | 4 | 5/9/2026 |
| 1.0.1 | 4 | 5/9/2026 |
| 1.0 | 4 | 5/9/2026 |