Skip to content

Latest commit

 

History

History
119 lines (94 loc) · 6.62 KB

CHANGELOG.md

File metadata and controls

119 lines (94 loc) · 6.62 KB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[Open]

To Add

  • add the following feature
    • We found paths like c:\users\<username>\AppData\Roaming\abdata\abfsal\abdfsal_v* where there are multiple directories with the name abdfsal_v*
    • Implement a simple configuration logic to keep only the last two directories of the matches (ordered by time) but remove the other matching directory names
  • add or replace logging of "starting " with "$($PSCmdlet.MyInvocation.MyCommand.Name)". see
    • Refactor Write-LogMessage by using the Write-Verbose etc. message types
  • add usage of transcript
  • add translation files
  • added default value $false to each optional parameter $beVerbose
  • add user remove logic from windows_remove_old_users
  • add configuration section with a list of processes to stop before starting the cleanup
  • add configuration section with a list of processes to start after starting the cleanup

To Change

  • Implement usage of Resolve-Path
  • fix not working calculated values of free'ed up disk space by using Measure-Object
  • read this
  • Evaluate how easy it is to use the collection of paths and create full qualifyed paths out of it
    • This way we would be able to log and process real paths instead of paths with wild cards
    • e.g. C:\foo\*.bar\* would became C:\foo\baz.bar and maybe more
  • Refactor Log-Message and the other Log-* functions
    • Split it into "Log-Message" and "Output-Message" to ease up log with log level verbose but display only with information
    • Maybe create a "outputVerboseLevel" similar to "logLevel" setting
    • or ...
      • Create object Logger and Messenger
      • Create MessengerCollection
      • Pass the MessengerCollection to each function
  • Version 2
    • be open for all know operation systems (windows or unix/linux like)
    • detect operation system
      • create case blocks in the global configuration file
      • adapt path handling and so one, if needed
    • check if this is a thing

[Unreleased]

Added

  • Added dedicated Logger class
  • Added more cache paths of applications
  • Added Clear-Host at the end of the last Start-PathTruncations to refresh screen and remove the last progress bar
  • Added exit statement if global configuration file can not be loaded
  • Added informational log statement if local configuration file can not be loaded
  • Added method Write-ErrorLogAndExit and implemented usage to remove duplicated code
  • Added backwarts compatibility in global configuration to support $IsWindows on powershell below version 7
  • Added support for Lotus/IBM/HCL Notes
  • Added logging if Remove-Item is not able to remove the item
  • Started section documentation and added example image to show something

Changed

  • Refactored TruncableObject by replacing object by a real class
  • Changed output of $user path. Instead of keeping $user, now user path is displayed
  • Refactored way how we write logs by replacing Write-[Info|Debug|Error]Log with Logger.[Info|Debug|Error] calls
  • Found and fixed a bug when dealing with files for paths like \foo\bar\*
    • The path with the * was used so there was never a chance this exact file (matching item) could be removed
    • This fixes also not deleted files in the section of duplicate checks

0.11.0 - released at 20210915

Added

  • Added display of progress bar if $beVerbose = $false
  • Added asking ":: Remove lock file (y/N)" if lock file exists
  • Added optional local host configuration local-<hostname>-Configuration.ps1
  • Added configuration value $deleteRecycleBin with default value $false
    • Depending on the major os version, it runs rd or Clear-RecycleBin
  • Added configuration value $startDiskCleanupManager with default value $true
    • If set to $true, cleanmgr /sagerun:1 /verylowdisk will be executed
  • Added more paths plus handling of wsus service
  • Added statistic output as information message on last line
    • Runtime
    • Number of free-ed up disk space
    • Number of removed files
  • Added function Create-DiskInformation
  • Added the check to only run duplicate check if there are at least two entries in the collection

Changed

  • Changed function names to aligne with approved verbs
  • Changed lock file name from CleanUpSystem.lock to <hostname>-CleanUpSystem.lock to enable multiple run on multiple hosts from same source
  • Refactored method naming to fit the style of powershell
    • IMPORTANT, you have to replace the Create-TruncableObject method calls in your local configuration with New-TruncableObject

0.10.0 - released at 20210413

Added

  • Added this changelog
  • Added changelog to do list
  • Added info log about the amount of files to be removed
  • Added check if "days to keep" is 0
    • If the value is 0 we will use the "just give me all items from this path" instead of "just give me items for fitting date" mechanism
    • If the value is 0, we will call Remote-Item on the path without using the result from "Get-Childitem"

Changed

  • Commented out pre configured path c:\Windows\Temp - Microsoft tells different stories if it is save to remove the content of this path
  • Removed -File in the Get-Childitem list
  • Moved pre configured path c:\Users\$user\Downloads from globalConfiguration.ps1 to localConfiguration.ps1.dist

0.9.0 - released at 20210408

Added

  • Initial release