GithubHelp home page GithubHelp logo

bmrf / tron Goto Github PK

View Code? Open in Web Editor NEW
4.6K 165.0 329.0 11.91 MB

Tron

Home Page: https://old.reddit.com/r/TronScript

License: MIT License

Batchfile 49.04% AutoIt 0.15% PowerShell 7.90% C 42.91%

tron's Introduction

NAME Tron, an automated PC cleanup script
AUTHOR vocatus on old.reddit.com/r/TronScript (vocatus.gate@gmail) // PGP: 0x07d1490f82a211a2
BACKGROUND Why the name? Tron "Fights for the User"

DO NOT DOWNLOAD TRON FROM GITHUB, IT WILL NOT WORK!! YOU NEED THE ENTIRE PACKAGE FROM r/TronScript

I got tired of running these utilities manually and decided to just script everything. Tron is a glorified collection of batch files that automate the process of cleaning up and disinfecting Windows machines (Common Questions). It is built with heavy reliance on community input, and updated regularly.

CONTENTS

  1. Usage Summary

  2. Command-Line Use

  3. Script Interruption

  4. Notes on Safe Mode

  5. Sending a Post-Run Email Report

  6. Changing Defaults

  7. Executing Custom/3rd-party Scripts

  8. Executing bundled WSUS Offline updates

  9. Pack Integrity

  10. License

  11. Problems and Support

  12. Script exit codes

  13. Full description of ALL actions

USE

  1. FIRST THINGS FIRST: REBOOT THE COMPUTER BEFORE RUNNING TRON. This is to allow any pending updates to finish. If you don't do this and the computer reboots during Tron with pending updates, it can brick the system. To re-iterate: it is very important to reboot the computer before running Tron.

  2. Download Tron. The download links are in the top post in /r/TronScript. If you download the self-extracting .exe file, run it and it will extract tron.bat and the \resources folder to the current directory. Copy both of them to the Desktop of the target machine.

  3. Tron can be run with Windows in either Safe Mode or Regular mode. Regular mode is generally recommended unless the system is severely infected.

  4. Right-click tron.bat and select "Run as Administrator"

  5. Wait anywhere from 3-10 hours (it really takes that long; do not cancel it in the middle of running)

    Note: You'll need to manually click "scan" in the MBAM window that appears part of the way through Stage 3: Disinfect. Tron will continue in the background with its other tasks while waiting for you though, so the script won't stall if you're not around to hit "scan" immediately.

  6. Reboot! Reboot the system before doing anything else.

By default the master log is at C:\logs\tron\tron.log. If you want to change this, read the section on changing defaults below.

Depending how badly the system is infected, it could take anywhere from 3 to 10 hours to run. I've personally observed times between 4-8 hours, and one user reported a run time of 30 hours. Basically set it and forget it.

If you run with the -udl switch, it will automatically email me the run logs at the end of the script. Not required but greatly appreciated if you can.

NOTE: Each sub-stage script (e.g. stage_2_de-bloat.bat) can be run individually apart from Tron. Just remember to run them as Administrator if you go this route.

COMMAND-LINE USE

Command-line use is fully supported. All switches are optional and can be used simultaneously. *

tron.bat [ [-a | -asm] -c -d -dev -e -er -m -o -p -pmb -r -sa -sac -sap -scc -scs -sd -sdb
      -sdc -sdu -se -sk -sl -sm -sor -spr -str -swu -swo -udl -v -x] | [-h]

Optional switches (can be combined):

 -a   Automatic mode (no welcome screen or prompts; implies -e)
 
 -asm Automatic mode (no prompts; implies -e; reboots to Safe Mode first)
 
 -c   Config dump (display current config. Can be used with other
      switches to see what WOULD happen, but script will never execute
      if this switch is used)

 -d   Dry run (run through script without executing any jobs)

 -dev Override OS detection (allow running on unsupported Windows versions)

 -e   Accept EULA (suppress disclaimer warning screen)

 -er  Email a report when finished. Requires you to configure SwithMailSettings.xml

 -m   Preserve default Metro apps (don't remove them)

 -o   Power off after running (overrides -r)

 -p   Preserve power settings (don't reset to Windows default)

 -pmb Preserve Malwarebytes (don't uninstall it) after Tron is complete
 
 -r   Reboot automatically (auto-reboot 15 seconds after completion)
 
 -sa  Skip ALL anti-virus scans (AdwCleaner, KVRT, MBAM, SAV)

 -sac Skip AdwCleaner scan

 -sap Skip application patches (don't patch 7-Zip)

 -scs Skip custom scripts (has no effect if you haven't supplied custom scripts)

 -scc Skip cookie cleanup (not recommended, Tron auto-preserves most common login cookies)

 -sd  Skip defrag (force Tron to ALWAYS skip Stage 6 defrag)

 -sdb Skip de-bloat (entire OEM bloatware removal process; implies -m)
 
 -sdc Skip DISM component (SxS store) cleanup
 
 -sdu Skip debloat update. Prevent Tron from auto-updating the S2 debloat lists

 -se  Skip Event Log backup and clear (don't clear Windows Event Logs)

 -sk  Skip Kaspersky Virus Rescue Tool (KVRT) scan

 -sm  Skip Malwarebytes Anti-Malware (MBAM) installation

 -sor Skip OneDrive removal regardless whether it's in use or not

 -spr Skip page file reset (don't set to "Let Windows manage the page file")

 -str Skip Telemetry Removal (just turn telemetry off instead of removing it)

 -swu Skip Windows Updates entirely (ignore both WSUS Offline and online methods)

 -swo Skip user-supplied WSUS Offline updates (if they exist; online updates still attempted)
 
 -udl Upload debug logs. Send tron.log and the system GUID dump to the Tron developer

 -v   Verbose. Show as much output as possible. NOTE: Significantly slower!

 -x   Self-destruct. Tron deletes itself after running and leaves logs intact

Misc switches (must be used alone):

 -h   Display help text

* There is probably no -upm switch

SCRIPT INTERRUPTION

If the script is interrupted e.g. from a crash or a forced reboot (often encountered during stage_2_de-bloat), simply re-run tron.bat and Tron will resume from the last stage successfully started.

It will also re-use any previously-used command-line switches when it starts back up.

More details about this function can be found in the list of all actions Tron performs at the bottom of this document.

SAFE MODE

In older versions of Tron (v10.3.1 and back), Safe Mode was recommended vs. Normal/Regular mode (Windows boot mode). The current recommendation has changed starting in v10.4.0, and I recommend first running in Normal/Regular mode, and only attempting a run in Safe Mode if that fails.

EMAIL REPORT

To have Tron send an email report at completion, edit this file:

\tron\resources\stage_7_wrap-up\email_report\SwithMailSettings.xml

Specify your SMTP server, username, and password. After specifying your settings you can use the -er switch to have Tron send the email report. The summary logs (tron_removed_files.txt and tron_removed_programs.txt) will be attached as well.

Keep in mind the username and password for the email account will be stored in PLAIN TEXT so don't leave it lying around on a system you don't trust.

CHANGE DEFAULTS (advanced)

If you don't want to use the command-line and don't like Tron's defaults, you can change the following default settings. Keep in mind command-line switches will always override their respective default option when used.

Edit this file: \tron\resources\functions\tron_settings.bat

  • To change the master directory where all of Tron's output goes, edit this line:

    set LOGPATH=%SystemDrive%\logs\tron
    
  • To change the name of the master log file, edit this line:

    set LOGFILE=tron.log
    
  • To change where Tron stores quarantined files, change this path (note: this is currently unused by Tron, setting it has no effect):

    set QUARANTINE_PATH=%LOGPATH%\quarantine
    
  • To change the location of the backups Tron makes (Registry, Event Logs, power scheme, etc), edit this line:

    set BACKUPS=%LOGPATH%\backups
    
  • To change where Tron saves raw unprocessed logs from the various sub-tools, edit this line:

    set RAW_LOGS=%LOGPATH%\raw_logs
    
  • To change where Tron saves summary logs, edit this line:

    set SUMMARY_LOGS=%LOGPATH%\summary_logs
    
  • To always run automatically (no welcome screen, implies acceptance of EULA), change this to yes:

    set AUTORUN=no
    
  • To always reboot to Safe Mode for autorun (requires that AUTORUN also be set to yes), change this to yes:

    set AUTORUN_IN_SAFE_MODE=no
    
  • To do a dry run (don't actually execute jobs), change this to yes:

    set DRY_RUN=no
    
  • To override OS detection (allow Tron to run on unsupported Windows versions), change this to yes:

    set DEV_MODE=no
    
  • To permanently accept the End User License Agreement (suppress display of disclaimer warning screen), change this to yes:

    set EULA_ACCEPTED=no
    
  • To have Tron send an email report when finished, change this to yes (requires you to configure SwithMailSettings.xml with your SMTP info):

    set EMAIL_REPORT=no
    
  • To preserve default Metro apps (don't remove them), change this to yes:

    set PRESERVE_METRO_APPS=no
    
  • To shut down the computer when Tron is finished, change this to yes:

    set AUTO_SHUTDOWN=no
    
  • To preserve the power scheme (instead of resetting to Windows defaults), change this to yes:

    set PRESERVE_POWER_SCHEME=no
    
  • To preserve Malwarebytes installation (skip removal) at the end of Tron, change this to yes:

    set PRESERVE_MALWAREBYTES=no
    
  • To configure post-run reboot, change this value (in seconds). 0 disables auto-reboot:

    set AUTO_REBOOT_DELAY=0
    
  • To skip ALL anti-virus scan engines (AdwCleaner, MBAM, KVRT), change this to yes:

    set SKIP_ANTIVIRUS_SCANS=no
    
  • To skip AdwCleaner scan, change this to yes:

    set SKIP_ADWCLEANER_SCAN=no
    
  • To skip application patches (don't patch 7-Zip) change this to yes:

    set SKIP_APP_PATCHES=no
    
    • To leave ALL cookies intact (not recommended, Tron auto-preserves most common login cookies such as Spotify, Gmail, etc), change this to yes:
    set SKIP_COOKIE_CLEANUP=no
    
  • To skip custom scripts (stage 8) regardless whether or not .bat files are present in the stage_8_custom_scripts folder, change this to yes:

    set SKIP_CUSTOM_SCRIPTS=no
    
  • To skip OEM debloat, change this to yes:

    set SKIP_DEBLOAT=no
    
  • To always skip defrag (even on mechanical drives; Tron automatically skips SSD defragmentation), change this to yes:

    set SKIP_DEFRAG=no
    
  • To skip DISM component (SxS store) cleanup, change this to yes:

    set SKIP_DISM_CLEANUP=no
    
  • To prevent Tron from connecting to Github and automatically updating the Stage 2 debloat lists, set this to yes:

    set SKIP_DEBLOAT_UPDATE=no
    
  • To skip Windows Event Log clearing, change this to yes:

    set SKIP_EVENT_LOG_CLEAR=no
    
  • To skip scanning with Kaspersky Virus Rescue Tool (KVRT), change this to yes:

    set SKIP_KASPERSKY_SCAN=no
    
  • To skip installation of Malwarebytes Anti-Malware (MBAM), change this to yes:

    set SKIP_MBAM_INSTALL=no
    
  • To skip removal of OneDrive regardless whether it's in use or not, change this to yes:

    set SKIP_ONEDRIVE_REMOVAL=no
    
  • To prevent Tron from resetting the page file to Windows defaults, change this to yes:

    set SKIP_PAGEFILE_RESET=no
    
  • To skip removal of the Windows "telemetry" (user tracking) updates, change this to yes:

    set SKIP_TELEMETRY_REMOVAL=no
    
  • To skip only bundled WSUS Offline updates (online updates still attempted) change this to yes:

    set SKIP_WSUS_OFFLINE=no
    
  • To skip Windows Updates entirely (ignore both WSUS Offline and online methods), change this to yes:

    set SKIP_WINDOWS_UPDATES=no
    
  • To automatically upload debug logs to the Tron developer (vocatus), change this to yes:

set UPLOAD_DEBUG_LOGS=no
  • To display as much output as possible (verbose), change this to yes:

    set VERBOSE=no
    
  • To have Tron delete itself after running (self-destruct), change this to yes:

    set SELF_DESTRUCT=no
    
  • There is probably no -UPM switch

EXECUTING 3RD-PARTY CUSTOM SCRIPTS:

Tron supports executing custom scripts just prior to the end-screen.

Place any batch files you want to execute just prior to Tron completion in this folder: \tron\resources\stage_8_custom_scripts

Custom scripts work like so:

  • If any .bat files exist in \stage_8_custom_scripts, Tron will execute each one sequentially by name. When they're finished, Tron will clean up and end the script as normal

  • If no .bat files exist in \stage_8_custom_scripts folder, Stage 8 is silently skipped

  • Supporting files may be placed in the folder but Tron itself will ignore anything that isn't a .bat file

  • If you want to use supporting batch files but don't want Tron executing them, use the .cmd file extension instead of .bat and Tron will ignore them

  • It is your responsibility what your scripts do. I provide no support for custom scripts other than having Tron attempt to run them

  • Use the -scs switch or edit the file \tron\resources\functions\tron_settings.bat and set SKIP_CUSTOM_SCRIPTS to yes to direct Tron to ignore custom scripts even if they are present. Can be useful if you have a set of scripts you only want to execute on certain systems and don't want to carry two copies of Tron around

EXECUTING BUNDLED WSUS OFFLINE UPDATES

Tron supports using bundled WSUS Offline update packages over the traditional online update method.

To add offline update packages to Tron:

  1. Download WSUS Offline

  2. Run it and have it download the updates you want

  3. Copy the client folder (usually at \wsusoffline\client) to \tron\resources\stage_5_patch\wsus_offline\client\

  4. Make sure that Update.cmd is present in this path: \tron\resources\stage_5_patch\wsus_offline\client\Update.cmd

  5. Run Tron, it should automatically detect and use the offline updates

If for some reason you want to skip the bundled update package on a certain system, use the -swo switch or edit tron_settings.bat, set SKIP_WSUS_OFFLINE to yes and Tron will ignore any WSUS Offline files for that run.

INTEGRITY

In each release, the file \tron\integrity_verification\checksums.txt contains SHA-256 hashes of every file included in Tron, and is signed with my PGP key (0x07d1490f82a211a2, included). You can use it to verify package integrity.

LICENSE

Tron and any included subscripts and .reg files I've written are free to use/redistribute/whatever under the MIT license. It'd be nice if you sent an email and let me know if you do something cool with it, but it's not required. All 3rd-party tools Tron calls (MBAM, TDSSK, etc) are bound by their respective licenses. It is YOUR responsibility to determine if you can use them in your specific situation.

PROBLEMS AND SUPPORT

Please look here first for a list of common issues (Tron appearing to be stalled, etc). If it doesn't answer your issue, make a top-level post to r/TronScript and myself or one of the community members will look at the issue. Additionally, you can reach me 24/7 on Keybase.

Hope this is helpful to other PC techs,

โ€“ Vocatus

If you feel overly charitable, donations are accepted at these addresses:

Bitcoin: 1Biw8gx2kD7mZf66ZdNgB9tG1pE9YA3kEd

Bitcoin Cash: 18sXTTrAViPZVQtm63zBK6aCK3XfJpEThk

SCRIPT EXIT CODES

When Tron exits, it will pass an exit code indicating the final status (success/warning/error/failure/etc).

CODE MEANING
0 Success
1 Error (usually fatal)
2 Warning (non-fatal)
3 Unsupported OS (run with -dev to override)
4 Exit pending reboot
5 User is an idiot (aka you tried running from the temp directory in spite of the instructions clearly saying not to)

FULL TRON DESCRIPTION

The best way to see what Tron does is simply crack open tron.bat or one of the stage-specific subscripts with a text editor (preferably one with syntax highlighting) or on GitHub and just read the code. Every section has comments explaining exactly what it does, and you don't need to be able to read code to understand it. Barring that, here's a general description of every action Tron performs.

tron.bat

link to code

Master script that launches everything else. It performs many actions on its own, but for any task not performed directly, we call an external utility or script. Each stage (e.g. Stage 1: Tempclean) has its own master script that Tron calls in sequence. Sub-stage scripts can be found in each stages subdirectory under the \resources folder. e.g. \tron\resources\stage_1_tempclean\stage_1_tempclean.bat

Tron-internal prep jobs

(These are executed even if Tron is canceled before running)

  1. Detect TEMP execution: Detect if we're running from the TEMP directory and prevent Tron from executing if so. TEMP is one of the first places to get wiped when Tron starts so we cannot run from there

  2. Make log directories: Create the master log directory and sub-directories if they don't exist. By default this is %SystemDrive%\Logs\tron.log

  3. Detect Windows & IE versions: Determines quite a few things in the script, such as which versions of various commands get executed

  4. Unsupported OS blocker: Throw an alert message if running on an unsupported OS, then exit. Use the -dev switch to override this behavior and allow running on unsupported Windows versions. Currently only triggers on Windows Server 2016.

  5. Disk configuration check: Check if the system drive is an SSD, Virtual Disk, or throws an unspecified error (couldn't be read by smartctl.exe) and set the SKIP_DEFRAG variable to yes_ssd, yes_vm, or yes_error respectively. If any of these conditions are triggered, Tron skips Stage 5 defrag automatically

  6. Detect free space: Detect and save available hard drive space to compare against later. Simply used to show how much space was reclaimed; does not affect any script functions

  7. Detect resume: Detect whether or not we're resuming after an interrupted run (e.g. from a reboot)

  8. Enable F8 Safe Mode selection: Re-enable the ability to use the F8 key on bootup (Windows 8 and up only; enabled by default on Server 2012/2012 R2)

  9. Check for network connection: Check for an active network connection, and skip the update checks if one isn't found

  10. Check for update: Compare the local copy of Tron to the version on the official repo (does this by reading latest version number from sha256sums.txt). If the local copy is out of date, Tron will ask to automatically download the latest copy (always recommended). If permitted, it will download a copy to the desktop, verify the SHA256 hash, then self-destruct (delete) the old version

  11. Update debloat lists: Connect to Github and download the latest version of the Stage 2 debloat lists at initial launch. Use the -sdu (SKIP_DEBLOAT_UPDATE) switch to prevent this behavior. I recommend letting Tron update the lists unless you have a good, specific reason not to

  12. Detect Administrator rights: Detect whether or not we're running as Administrator and alert the user if we're not

  13. Create RunOnce entry: Create the following registry key to support resuming if there is an interruption: HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce /v "*tron_resume" /t REG_SZ /d "%~dp0tron.bat %-resume". The * prefix on the key name forces Windows to execute it in Safe Mode.

Note: -resume is an internal switch not meant for human use at the command-line. If you use it, things will break and I will laugh at you.

  1. SMART check: Dump the SMART status of all hard disks in the system, then display an alert if any drive reports one of the following status codes: Error,Degraded,Unknown,PredFail,Service,Stressed,NonRecover

STAGE 0: Prep

link to Stage 0 code

  1. Create System Restore point: Create a pre-run system restore point. Vista and up only, client OS's only. Not supported on Server OS's, and on Windows 10 does not work if the system is in any form of Safe Mode. This is a known bug, and I spent hours trying to find a workaround but was not able to find a solution, so if you absolutely require a system restore point, recommend running in normal mode

  2. Rkill: Rkill is an anti-malware prep tool; it looks for and kills a number of known malware that interfere with removal tools. Rkill will NOT kill any process listed in \resources\stage_0_prep\rkill\rkill_process_whitelist.txt (link)

  3. Create pre-run profile: Dump list of installed programs and list of all files on the system so we can compare later and see exactly what was removed

  4. GUID dump: Dump list of all installed program GUIDs. These dumps are useful in helping the project bolster the blacklist of known-bad GUIDs

  5. Metro app list dump: Dump list of all Metro apps on the system. This is useful for helping the project bolster the blacklist of Metro apps to remove

  6. ProcessKiller: Utility provided by /u/cuddlychops06 which kills various userland processes. We use this to further kill anything that might interfere with Tron. ProcessKiller will kill everything in userland EXCEPT: ClassicShellService.exe, explorer.exe, dwm.exe, cmd.exe, mbam.exe, teamviewer.exe, TeamViewer_Service.exe, Taskmgr.exe, Teamviewer_Desktop.exe, MsMpEng.exe, tv_w32.exe, VTTimer.exe, Tron.bat, rkill.exe, rkill64.exe, rkill.com, rkill64.com, conhost.exe, dashost.exe, wget.exe . (link)

  7. Safe mode: Set system to reboot into Safe Mode with Networking if a reboot occurs. Removes this and resets to normal bootup at the end of the script. Accomplished via this command:

    bcdedit /set {default} safeboot network
    
  8. Set system time via NTP: Set the system clock to sync against the following NTP servers, in this order: 2.pool.ntp.org, time.windows.com, time.nist.gov

  9. Check and repair WMI: Check WMI interface and attempt repair if broken. Tron uses WMI for a lot of stuff including ISO date format conversion, OEM bloatware removal, and various other things, so having it functioning is critical

  10. McAfee Stinger: Anti-malware/rootkit/virus standalone scanner from McAfee. Does not support plain-text logs so we save HTML log to Tron's %LOGPATH%. Tron executes Stinger as follows:

stinger32.exe --GO --SILENT --PROGRAM --REPORTPATH="%LOGPATH%" --RPTALL --DELETE
  1. TDSS Killer: Anti-rootkit utility from Kaspersky Labs. Tron executes TDSSKiller as follows:
tdsskiller.exe -l %TEMP%\tdsskiller.log -silent -tdlfs -dcexact -accepteula -accepteulaksn
  1. Backup registry:: Use erunt to backup the registry prior to commencing scans

  2. VSS purge: Purge oldest set of Volume Shadow Service files (basically snapshot-in-time copies of files). Malware can often hide out here

  3. Reduce system restore space: Restrict System Restore to only use 7% of available hard drive space

  4. Disable sleep mode: Tron uses caffeine.exe to disable sleep mode when the script starts. At the end of the script it resets power settings to Windows defaults. Use the -p switch to prevent resetting power settings to Windows default.

STAGE 1: Tempclean

link to Stage 1 code

  1. Internet Explorer cleanup: Executes only on Internet Explorer v7 and up. Runs the following built-in Windows tool to clean and reset Internet Explorer:
rundll32.exe inetcpl.cpl,ClearMyTracksByProcess 4351
  1. CCLeaner: CCLeaner utility by Piriform. Used to clean temp files before running AV scanners. Note that CCleaner wipes %AppData% Local Storage. Edit ccleaner.ini and change (App)Local Storage*=True to (App)Local Storage*=False if you don't want this behavior. Also note that Tron automatically preserves most common login cookies (Chase.com, gmail.com, etc). Use the -scc switch to leave ALL cookies intact (not recommended)

  2. TempFileCleanup.bat: Script I wrote to clean some areas that other tools seem to miss

  3. USB Device Cleanup: Uninstalls unused or not present USB devices from the system (non-existent thumb drives, etc etc). Uses drivecleanup.exe from Uwe Sieber

  4. Cleanup duplicate downloads: Searches for and delete duplicate files found in the Downloads folders of each user profile (ChromeInstaller(1).exe, ChromeInstaller(2)exe, etc). Does not touch any other folders. Uses a UTF-8-friendly port Sentex's original Find Dupe utility

  5. Clear Windows event logs: Back up Windows event logs to %LOGPATH% directory, then clear all entries

  6. Clear Windows Update cache: Purge uninstaller files for already-installed Windows Updates. Typically frees up quite a bit of space. Accomplished via this command:

    rmdir /s /q %windir%\softwaredistribution\download
    
  7. Flush BranchCache cache: Tron executes the command netsh branchcache flush to flush any cached data in the BranchCache (win7 and up only)

STAGE 2: De-bloat

link to Stage 2 code

  1. OEM de-bloat (by name): Use WMI to attempt to uninstall any program listed in this file:
\tron\resources\stage_2_de-bloat\oem\programs_to_target_by_name.txt
  1. OEM de-bloat (by GUID): Use WMI to attempt to remove specific list of GUIDs listed in this file:
\tron\resources\stage_2_de-bloat\oem\programs_to_target_by_GUID.txt
  1. Toolbar & BHOs (by GUID): Use WMI to attempt to remove specific list of GUIDs listed in this file:
\tron\resources\stage_2_de-bloat\oem\toolbars_BHOs_to_target_by_GUID.txt
  1. Metro de-bloat: Remove many built-in Metro apps that aren't commonly used (does NOT remove things like Calculator, Paint, etc) then purges them from the cache (can always fetch later from Windows Update). On Windows 8/8.1, removes all stock "Modern" apps. On Windows 10 and up, only removes a certain specific Modern apps. You can see the full list of Metro apps removed here (Microsoft) and here (OEM/3rd party). Use the -sdb switch (skip all de-bloat) or -m switch (skip only Metro de-bloat) to skip this action. Like the GUID lists above, you can also customize these files to add or remove apps from the target list. Note that the Metro de-bloat PowerShell scripts also support standalone execution, if for example you JUST want to remove Metro bloat from a machine.

  2. Remove OneDrive integration: Remove forced OneDrive integration (Windows 10 only). Tron first checks if any files exist in the default OneDrive folder (%USERPROFILE%\OneDrive\) and skips removal if any are found. As a additional safety precaution, Tron leaves the OneDrive folder intact regardless whether OneDrive is removed or not. Use the -sor switch to skip OneDrive removal entirely.

STAGE 3: Disinfect

link to Stage 3 code

  1. Clear CryptNet SSL cache: Wipe the Windows CryptNet SSL certificate cache by executing this command: certutil -URLcache * delete

  2. Malwarebytes Anti-Malware: Anti-malware scanner. Because there is no command-line support for MBAM, we simply install it and continue with the rest of the script. This way a tech can click Scan whenever they're around, but the script doesn't stall waiting for user input. Use the -sa or -sm switches to skip this component. Use the -pmb switch to NOT uninstall it at the end of the script

  3. Malwarebytes AdwCleaner: Command-line anti-virus scanner. Use the -sa or -sac switches to skip this component

  4. KVRT: Kaspersky Virus Removal Tool. Use the -sa or -sk switches to skip this component

STAGE 4: Repair

link to Stage 4 code

  1. MSI installer cleanup: Use the Microsoft msizap.exe utility to remove orphaned MSI installer files from the installer cache

  2. System File Checker: Microsoft utility for checking the filesystem for errors and attempting to repair if found. Tron runs this on Windows Vista and up only (XP and below require a reboot)

  3. DISM image check & repair: Microsoft utility for checking the Windows Image Store (sort of a more powerful System File Checker). Windows 8 and up only

  4. chkdsk: Checks disk for errors and schedules a chkdsk with repair at next reboot (marks volume dirty) if errors are found

  5. Disable Windows "telemetry": Disable Windows "telemetry" (user tracking), Windows 7 and up only. Tron removes the "bad" updates Microsoft pushed to Windows 7/8/8.1 systems after the Windows 10 release. These updates backport the surveillance/spyware functions that are by default present in Windows 10. See the code (Win7/8/8.1, Win10) to see exactly which KB's are removed. Tron also stops and deletes the DiagTrack ("Diagnostics Tracking Service") service. If the system is running Windows 10, Tron does a more in-depth disabling of the Windows telemetry features, including automatically applying all the immunizations from the Spybot Anti-Beacon and O&O ShutUp10 tools. Go over the code in \tron\resources\stage_4_repair\disable_windows_telemetry\ to see exactly what is removed and disabled. NOTE: This section can take a while to run, DO NOT CANCEL IT. Use the -str switch to just turn telemetry off instead of removing it

  6. Disable Windows 10 upgrade nagger: Disables the Windows 10 upgrade nagger on Windows 7/8/8.1 by flipping the appropriate registry switches. Users can still manually upgrade the machine if they desire, but it will no longer nag via the system tray, auto-download, or auto-install Windows 10 without their permission

  7. Network repair: Tron performs minor network repair. Specifically it runs these commands: ipconfig /flushdns, netsh interface ip delete arpcache, netsh winsock reset catalog

  8. File extension repair: Tron repairs most default file extensions with a batch file that loops through a series of registry files stored in \tron\resources\stage_4_repair\repair_file_extensions\

STAGE 5: Patch

link to Stage 5 code

Tron updates these programs if they exist on the system. If a program does not already exist on the system, it is not installed:

  1. 7-Zip: Open-source compression and extraction tool. Use the -sap switch to skip this action

  2. Windows updates: Runs Windows update via this command: wuauclt /detectnow /updatenow. Use the -swu switch to skip this action. If bundled WSUS Offline updates are detected, Tron executes those instead. Use the -swo switch to force skipping WSUS Offline updates even if they're present in the relevant directory. See Executing bundled WSUS Offline updates above for more information on using offline update packages with Tron

  3. DISM base reset: Recompile the "Windows Image Store" (SxS store). This typically results in multiple GB's of space freed up. Windows 8 and up only. Any Windows Updates installed prior to this point will become "baked in" (uninstallable). Use the -sdc switch to skip this action

STAGE 6: Optimize

link to Stage 6 code

  1. Page file reset: Reset the system page file settings to "let Windows manage the page file." Accomplished via this command:

    %WMIC% computersystem where name="%computername%" set AutomaticManagedPagefile=True

    Use the -spr switch to skip this action

  2. Defraggler: Command-line defrag tool from Piriform that's a little faster than the built-in Windows defragmenter. Defrag is automatically skipped if the system drive is an SSD, or if any SMART errors are detected. Use the -sd switch to force Tron to ALWAYS skip defrag

STAGE 7: Wrap-up

stage-specific code is in tron.bat

  1. generate summary logs: Generate before and after logs detailing which files were deleted and which programs were removed. These are placed in <LOGPATH>\tron_summary_logs. Additionally, if -er switch was used or EMAIL_REPORT variable was set, these logs will be attached to the email that is sent out

  2. email_report: Send an email report with the log file attached when Tron is finished. Requires you to specify your SMTP settings in \resources\stage_7_wrap-up\email_report\SwithMailSettings.xml

  3. upload debug logs: Upload 'tron.log' and the system GUID dump (list of all installed program GUIDs) and Metro app list dump to the Tron developer (vocatus). Please use this option if possible, log files are extremely helpful in developing Tron! NOTE: tron.log can contain personal information like names of files on the system, the computer name, user name, etc, so if you're concerned about this please look through a Tron log first to understand what will be sent. I don't care what files are on random systems on the Internet, but just something to be aware of

  4. Remove Malwarebytes: Automatically remove the Malwarebytes installation. Use the -pmb switch to skip this and leave it on the system

STAGE 8: Custom Scripts

stage-specific code is in tron.bat

  1. Execute custom scripts: Tron will execute any .bat files placed in the \tron\resources\stage_8_custom_scripts directory. See Executing Custom/3rd-party Scripts above for more information

STAGE 9: Manual tools

Tron does not run these automatically because most do not support command-line use, or are only useful in special cases.

  1. ADSSpy: Scans for hidden NTFS Alternate Data Streams

  2. aswMBR: Rootkit scanner

  3. autoruns: Examine and remove programs that run at startup

  4. ComboFix: The "scorched-earth policy" of malware removal. Only works on Windows XP through Windows 8 (no Windows 8.1 or above)

  5. Junkware Removal Tool: Temp file and random junkware remover

  6. Net Adapter Repair: Utility to repair most aspects of Windows network connections

  7. Remote Support Reboot Config: Tool to quickly configure auto-login and other parameters for running Tron via a remote connection. Thanks to reddit.com/user/cuddlychops06

  8. Safe Mode Boot Selector.bat: Batch file to quickly select bootup method to use (Safe Mode, Network, etc). Thanks to reddit.com/user/cuddlychops06

  9. ServicesRepair.exe: ESET utility for fixing broken Windows services

  10. Tron Reset Tool: Tool to quickly reset Tron if it gets interrupted or breaks while running

tron's People

Contributors

asterita avatar bknickelbine avatar bobbie25 avatar bromeego avatar carbohydratesn avatar chocobomaster avatar colepnc avatar conformist-mw avatar cust0dian avatar debeet avatar fr0stedfl4ke avatar geeklogan avatar jamaa avatar justinhachemeister avatar kamakazechickn avatar kezxo avatar kronflux avatar madbomb122 avatar mistersheeple avatar nemchik avatar rasa avatar rb14060 avatar redbaron2 avatar refnil avatar robfreiburger avatar solofausto avatar staticextasy avatar tylerscomputerskc avatar vocatus avatar yodadacoda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tron's Issues

[Suggestion] add "Bulk Crap Uninstaller"

I've been using this program in the past for manual removal of Crapware and unneeded programs.

In my opinion it would be nice if BCUninstaller would be in the manual tools folder so other people can enjoy using it as well.

Bulk Crap Uninstaller (or BCUninstaller) is a free (as in speech) program uninstaller. It excels at removing large amounts of applications with minimal user input. It can clean up leftovers, detect orphaned applications, run uninstallers according to premade lists, and much more! Even though BCU was made with IT pros in mind, by default it is so straight-forward that anyone can use it.
BCU is fully compatible with Windows Store Apps, Steam, Windows Features and has special support for many uninstalling systems (NSIS, InnoSetup, Msiexec, and many other).

Link: https://github.com/Klocman/Bulk-Crap-Uninstaller

Add some more

RogueKiller (CMD version?), Ucheck for software updates automation.

Skip proprietary programs when running

I'd like to run only the bits that don't want a commercial license.

Right now I can get most of it through the use of the following switches:
-sm, -sk, -ss (basically, -sa)

What this patch[1] currently does:
Add a switch for SKIP_PROPRIETARY -- might want to change to SKIP_NONCOMMERCIAL
When SKIP_PROPRIETARY is yes, run the built in windows defragger, skip the antivirus scans, and (when re-enabled) skip CCleaner.

What I'm trying to do: add the ability to skip programs that want a license to run in a commercial setting while still (in some cases) getting things done.

Before I get much further into the weeds, I'd like to know if this is something that would be accepted.

Things missing in patch [1]:

  • Ability to re-enable programs that you have a license for
  • Many, many programs that probably want a commercial license don't have the surrounding if's
  • Indicate that flag is on a best-effort basis
  • Antivirus like Clam AV [3] that can run with this flag set

Stages that probably don't have to be changed:

  • TempClean (changed in patch)
  • De-bloat
  • Patch
  • Optimize (changed in patch)
  • Wrap-up

Stages that probably have to be changed:

  • Prep (I've done some work in the patch)
  • Disinfect (changed in patch, needs more work)
  • Repair (telemetry removal?)

[1] https://github.com/tsmock/tron/tree/proprietary
[2] https://www.reddit.com/r/TronScript/comments/3dicb6/flag_that_doesnt_include_licensed_programs/
[3] https://www.clamav.net/

Debloat Step does not account for spaces in the names of programs to remove

Just tested this on my computer and when it ran through this step, the entries in the file "programs_to_target_by_name.txt" that contain spaces are considered only to be the first item. The syntax
for /f %%i in (filename) do ( echo %%i )
only echos the first word of the line. Using
for /f "tokens=*" %%i in (filename) do ( echo %%i )
captures the whole line, but this does not allow to test the beginning of the line for your :: and set cases as they stand. You can echo the variable and pipe that to findstr and see if it contains the :: or set, perhaps

Ran into this as an issue because when testing for "AVG PC TuneUp%%" it began to uninstall "AVG" as that was the match it found, and corrupted the install, with the computer/AVG forcing a reboot

Launches Malwarebytes but doesn't start scan

Not sure if this is an issue or a limitation. If it's an issue (close otherwise):
Stage 2 launches MWB, but does not start scanning. The CMD window shows that it's starting MWB, then says Done immediately after launching and moves on.

Running Tron 3.5 (4 hours in) on a bitcoin-mining rootkit (nasty) infected computer (Win 7 Enterprise).

Browsing History and Last Activity [Enhancement]

After using tron a few times I've come to the conclusion that it would be nice to be able to pull the browser histories (via nirsoft's browsinghistoryview.exe) and the last activity (via lastactivityview.exe) from the machine before clearing them out in stage 1. These could/would be helpful in determining if the issue is due to bad user habits that require some retraining or some other nefarious activity.

Add movefile after rmdir

The command rmdir /s /q "%userprofile%\AppData\Local\Microsoft\OneDrive" produced these errors:

AppData\Local\Microsoft\OneDrive\173681~1.031\amd64\FileSyncShell64.dll - Access is denied.
AppData\Local\Microsoft\OneDrive\173681~1.031\amd64\LoggingPlatform64.dll - Access is denied.
AppData\Local\Microsoft\OneDrive\173681~1.031\amd64\msvcp120.dll - Access is denied.
AppData\Local\Microsoft\OneDrive\173681~1.031\amd64\msvcr120.dll - Access is denied.

This could be addressed by using MoveFile, so https://github.com/bmrf/tron/blob/master/resources/stage_2_de-bloat/stage_2_de-bloat.bat#L366-L368 would become:

rmdir /s /q "%LocalAppData%\Microsoft\OneDrive" >> "%LOGPATH%\%LOGFILE%" 2>&1
rmdir /s /q "%ProgramData%\Microsoft OneDrive" >> "%LOGPATH%\%LOGFILE%" 2>&1
rmdir /s /q "%SystemDrive%\OneDriveTemp" >> "%LOGPATH%\%LOGFILE%" 2>&1
path\to\movefile "%LocalAppData%\Microsoft\OneDrive" "" >> "%LOGPATH%\%LOGFILE%" 2>&1
path\to\movefile "%ProgramData%\Microsoft OneDrive" "" >> "%LOGPATH%\%LOGFILE%" 2>&1
path\to\movefile "%SystemDrive%\OneDriveTemp" "" >> "%LOGPATH%\%LOGFILE%" 2>&1

I would submit a patch, but MoveFile isn't in tron yet (but Sysinternal's Autoruns is).

Stage5: Patch - Adobe - plugin filenames

The filenames that are shipped with the current release of tron don't match the ones in resources\stage_5_patch\adobe\flash_player\Adobe Flash Player Installer.bat

git expects install_flash_player_26*, release v10.4.8 expects install_flash_player_27* but has 28 in the filename, and thus probably won't install correctly.

Reference:

:: Perform removal and fresh installation of those existing versions
if %FLASH_ACTIVEX_DETECTED%==yes (
wmic product where "name like 'Adobe Flash Player%%ActiveX'" uninstall /nointeractive >> "%LOGPATH%\%LOGFILE%" 2>NUL
msiexec /i "install_flash_player_26_active_x.msi" %FLAGS%
)
if %FLASH_CHROME_DETECTED%==yes (
wmic product where "name like 'Adobe Flash Player%%PPAPI'" uninstall /nointeractive >> "%LOGPATH%\%LOGFILE%" 2>NUL
msiexec /i "install_flash_player_26_ppapi.msi" %FLAGS%
)
if %FLASH_FIREFOX_DETECTED%==yes (
wmic product where "name like 'Adobe Flash Player%%Plugin'" uninstall /nointeractive >> "%LOGPATH%\%LOGFILE%" 2>NUL
wmic product where "name like 'Adobe Flash Player%%NPAPI'" uninstall /nointeractive >> "%LOGPATH%\%LOGFILE%" 2>NUL
msiexec /i "install_flash_player_26_plugin.msi" %FLAGS%
)

Stage 3 operation locks in telemetry updates

Line 1126 of tron.bat, following command is run:

Dism /Online /Cleanup-Image /StartComponentCleanup

All existing service packs and updates cannot be uninstalled after this command is completed. As this is a stage 3 operation, and telemetry removal is stage 4, this means that any telemetry updates currently installed will be locked into the system until format.

Caffeine fails to start

The application has failed to start because its side-by-side configuration is incorrect.
Please see the application event log or use the command-line sxstrace.exe tool for more detail.

This occurs when running tron from both safe-mode and normal boot, and when running the .exe manually.

disable windows telemetry causing no Internet Icon

Something in the telemetry removal is causing a not internet icon.. i think it's a setting in o&o shutup or spybot anti-beacon. (Not able to test which one is causing it atm, but if i find out i'll let you know)

the registry entry that gets changed is

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet]
"EnableActiveProbing"=dword:00000001

^it gets changed to a 0, when it's a 0 it does not check for the internet which does cause problems with some programs

Spanish translation

Hello, I would like to collaborate with the Spanish translation, is it done?

[BUG] Windows CBS folder is not cleaned with TempFileCleanup.bat

:: JOB: Windows CBS logs
:: these only exist on Vista and up, so we look for "Microsoft", and assuming we don't find it, clear out the folder
echo %WIN_VER% | findstr /i /c:"server" >NUL && del /F /Q %WINDIR%\Logs\CBS\* 2>NUL

In file TempFileCleanup.bat in lines 233-235 the CBS logs cleanup is described.

In line 234 it states, that it looks for Vista OS or newer (without Microsoft in OS name) and deletes CBS folder contents.
However line 235 checks for name "server" in the OS name. As it is stated in the comments text, perhaps it should check for winver not containing word Microsoft?

On Windows 10 Pro C:\Windows\Logs\CBS folder was not cleaned.

Commit messages

This is really the same as pplude/TronScriptEvo#4 but to sum it up, please be more specific with the commit messages. Trying to find when something changed is MUCH harder when commit messages only show the version number.

The GUID commented out items show.. (with how to fix)

in the GUID files programs_to_target_by_GUID.txt there are GUIDS that are commented out need to have a space after the :: or it will still show them/attempt to remove them too..

i would also have a space after the section spectator thing too.. the prep title thing and the guid list thing too

Example
::{07F2005A-8CAC-4A4B-83A2-DA98A722CA61} (Currently)
:: {07F2005A-8CAC-4A4B-83A2-DA98A722CA61} (Should be)

Flag to skip removing duplicate files

Basically I'd like a flag to forbid Stage 1 steps 4/6 to remove anything inside the C:\Users directory. I'm not sure if it's best to just have a flag to just skip the entire thing, or if it's worth having ability to choose

  • Downloads
  • Internet Browser
  • Windows Updates
  • And so on...

Thanks,
Michael

Add manual process kill exceptions

Can we add manual settings to not kill certain processes for Terminal server/remote admin sessions? It would be nice to add a flag -e teamviewer.exe screenconnect.exe kaseya.exe Mass killing of processes on a terminal server can be dangerous especially with a few hundred users connected.
Thanks

[Suggestion] Add flags for specific bloat removal, separate

Two ideas, which would drastically improve usefulness in regards to new computer setups, as opposed to only repair situations.

  1. Add flags to run specific sections of bloat removal(for example, I wouldn't need to run toolbar removals, since it's a brand new unit, and in 99.99999999% of cases, there are no included toolbars. In fact, toolbars on Windows 10 are rare in general.
    I would, however, benefit from the Metro removals and the GUID removals(for the OEM included software)

  2. Separate software into separate lists - One for general and one for OEM included software. Reasons are the same as above - a fresh HP or Dell unit(for example) would have some OEM garbage on it, but would not have any general unwanted software.
    Granted, this would take some time, and community involvement in identifying what's what. But in the long run, would make an excellent addition to part 1 of this suggestion.

Add switches for disabling TempFileCleanup.bat, SFC and the Repair File Extensions Stage

Hey there.

Firstly, thanks to vocatus and the community for a great tool. I've spent the last day or so going through it in detail and it looks incredibly promising. However, I've since noticed a few things I'd like to prevent from running; these are the System File Checker, the execution of TempFileCleanup.bat, and the Repair File Extensions step.

Looking into the source code of TempFileCleanup.bat tells me that some things it's doing are a little too aggressive for my liking, from deleting browser temp files and useful logs, to deleting default Windows 7 backgrounds, to emptying search caches and the Recycle Bin.

Likewise with Repairing File Extensions; I really don't want to undo years of assigning extensions to certain programs by having everything restored to factory settings, especially when I'm certain nothing about the extensions are broken. This again feels more aggressive than it needs to be, especially without a switch to disable the behaviour.

I've been unable to find switches in the documentation to disable the above steps. Is it possible that these can be added to Tron?

For now, I'm making do with editing the batch files to remove/alter the respective stages directly, but this is a short-term solution and it would be really great to be maintain a single copy of Tron and use command-line switches to disable any of the above behaviours as needed.

Thank you.

Stuck on stage 3

So I just tried this out today and it seems like it skipped the first 2 stages and now its stuck on stage 3

The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the file specified.
2015-06-29 20:08:18.16 ! Incomplete run detected. Resuming at stage_3_disinfect using flags "0"...
The system cannot find the drive specified.
                      Disk space reclaimed:       0 MB *
                      Logfile: C:\Logs\tron\tron.log

 * If you see negative disk space don't panic. Due to how some of Tron's
   functions work, actual disk space reclaimed will not be visible until
                      Disk space reclaimed:       0 MB *
                      Logfile: C:\Logs\tron\tron.log

 * If you see negative disk space don't panic. Due to how some of Tron's
   functions work, actual disk space reclaimed will not be visible until
                      Disk space reclaimed:       0 MB *
                      Logfile: C:\Logs\tron\tron.log

 * If you see negative disk space don't panic. Due to how some of Tron's
   functions work, actual disk space reclaimed will not be visible until

And it just continues with that.
If you need more info let me know.

Remove "Tron Quotes.txt" from distribution packages.

In the most recent tron builds there is a Text file containing quotes from reddit users that are completely unprofessional. I keep a copy of tron on a flash drive and recently updated it. Today we were training a new hire and some one opened the file only to be greeted by a fair number of Inappropriate quotes.

Stage 2 Phase 3 shutdown

Every time I run stage 2 and it gets to phase 3 it says "error: Discription = Shutting Down" There are no error codes or anything to let me know why it's doing this. I'm going to skip de-bloat for now so it will finish but I'd really like to see this working. Let me know if there is anything I can do to expedite this issues resolution.

2016-11-27

Reboot info safe mode: out of date?

The README says this:

Detect Safe Mode: Detect whether or not we're in Safe Mode and notify the user if we're not. If not, Tron will prompt to automatically reboot into Safe Mode with Networking.

However, it also says that this no longer occurs. Should this be updated?

New tool for your use, I mentioned it on the subreddit a couple months back

This is much faster when it comes to removing applications than the way it is being done (when by name.)

The current way to do it runs a WMI command for every entry in the text file, which takes a lot of time. I wrote this so that instead, it grabs the full list of installed applications, and sorts them from the list, and only runs removal commands on those entries in particular.

It's implementation will require you to re-format your list I think, but it will be well worth it for overall time saved on slower machines.

https://www.mediafire.com/?c21vc4dsxp810wo

I can also write an application that will do fast GUID sorting and removal, if you wish.

Currently wants .net 4.5.1, but I can compile it for .net 4 as well.

Program stuck

Hi,

I'm trying to run your program.
But it stucks in the beginning.
In the log file its showing below code 1000+ times

2015-05-03 22:51:44,42 Resetting Windows power settings to defaults...
2015-05-03 22:51:44,43 Done.
Disk space reclaimed: 0 MB *
Logfile: C:\Logs\tron\tron.log

 * If you see negative disk space don't panic. Due to how some of Tron's 
   functions work, actual disk space reclaimed will not be visible until 
                      Safe Mode: yes NETWORK 

2015-05-03 22:51:45,65 Launch job 'Dism Windows image check (Win8/2012 only)'...
2015-05-03 22:51:45,65 Done.
2015-05-03 22:51:45,66 Done.
2015-05-03 22:52:11,25 Resetting Windows power settings to defaults...
2015-05-03 22:52:11,25 Done.
Disk space reclaimed: 0 MB *
Logfile: C:\Logs\tron\tron.log

Command-line Arguments not utilized in unsupported system versions

Prerequisites

  • Put an X between the brackets on this line if you have done all of the following:
    • Reproduced the problem with the latest version.
    • Attempted to debug the issue.
    • Checked the documentation to see if a solution already exists.
    • Checked that your issue is not already filed.

Description

Tried to run this on a SQL Server machine and received the error:

Tron does not support "%WIN_VER%" (yet).`
If you want to override and run anyway, re-run
Tron from the command-line with the -dev flag.

Ran Tron with -dev but the message persists.

Steps to Reproduce

  1. Run Tron on unsupported system version.
  2. Pass -dev to Tron.
  3. Message about Tron not supporting system version persists.

Expected behavior: [What you expect to happen]

Applying the -dev flag should be respected to override the supported version if the help message provides this method as a solution.

Actual behavior: [What actually happens]

Applying the -dev flag is not respected, and works as though it had not been provided.

Reproduces how often: [What percentage of the time does it reproduce?]

100%

Versions

You can get this information from the library being used that is causing the issue. Also, please include the OS and what version of the OS you're running.

Version Information:

set SCRIPT_VERSION=1.1.2
set SCRIPT_DATE=2018-03-15

Operating System:
Windows Server 2016

Additional Information

Any additional information, configuration or data that might be necessary to reproduce the issue.

Additional settings are not being respected because the prerun_checks_and_tasks function is called before parse_cmdline_args.

I am submitting a pull request, but wanted an issue to tag it with.

Defraggler with df.exe

Based on this article defraggler should be run using df.exe, not defraggler.exe. I can make a PR to correct this, but I wanted to open it up to discussion in case anyone else has more experience with this tool and maybe I'm missing something.

I have tested Tron's syntax and all it does is open the Defraggler interface, but replacing defraggler.exe with df.exe and including the same command line switches seems to work just fine.

russian readme update

Hi, i am the real author of original translation readme to russian.
I asked user conformist to upload it to the github, coz i did not has an account back in time,
Now i do have an account, and see that Tron project is updating, and readme as well, but i have not see the updates and changes, do not know how much is changed from my tranlation.
My question is, do i need update russian readme?

\resources folder

readme says to copy tron bat and resources folder to target machine. where is this resources folder at? It is not in the provided zip. Is it something I have compose my self or am I missing a link some where?

typo in tron.bat (Tron v3.3.1)

check line 334 of tron.bat

echo Tron will still function find, but if you still have
should be
echo Tron will still function fine, but if you still have

Windows Installer does not work in Safe Mode, so OEM debloat fails

Following the procedure outlined here allows Tron to uninstall things as expected under Safe Mode/Safe Mode with Networking. Otherwise uninstallation fails on the vast majority of items that would otherwise be removed.

Tested on two HP Elitebooks running Windows 7 and a Toshiba laptop running Windows 10, problem occurred in all three cases.

I think adding

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\MSIServer" /VE /T REG_SZ /F /D "Service"

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\MSIServer" /VE /T REG_SZ /F /D "Service"

somewhere in Stage0, or in Stage2 prior to calling the debloat scripts would probably resolve this.

[Feature request] Add Event Log repair

As detailed here, sometimes the keys in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\ can get corrupted/deleted. It would be nice if Tron could automatically fix these types of issues.

Have Tron download tools?

Would it be possible to have Tron download the external tools that it uses, rather than packaging them together with the bat files?

Additions for local tracking and other Windows automation

Let me know if its okay for me to add the info here,
I dont know a scripting language well enough to contribute code but I can say for example something like an evironmental variable

devmgr_show_nonpresent_devices=1

Should be added in System properties under System variables. This shows extra things in Device Manager including potentially old rootkits or if someone has plugged in and removed a USB.

If its okay I have a good amount of info to add but just not in code form.

Tron should have a "Identity" Disc script

@vocatus
I believe that like all good "programs" Tron should have a "Identity" Disc. This can be a script of frequently used 'tools' that Tron can use to fight for the Users.
One such 'tool' could be:
:: Pause X
:tron_wait_x
ping -n %1 localhost >nul
goto :EOF

This could be called from the different batch files.
Instead of having in the script
ping 127.0.0.1 -n 180 > nul 2>&1
you could have
call "functions\tron_disc.bat" tron_wait_x 180

Another tool could be determining "Bitness" of the system.
Set "_Bitness=64"
IF "%PROCESSOR_ARCHITECTURE%" == "x86" (
IF NOT DEFINED PROCESSOR_ARCHITEW6432 Set "_Bitness=32" )

Then all scripts that require the information could just check for the "%_Bitness%" variable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.