PowerShell module for cleaning disk space.
To learn about available cmdlets head to: docs/Public Cmdlets
# Install the module (PowerShell 5.1+ / PowerShell 7+)Install-Module-Name WindowsDiskCleanup -Scope CurrentUser
# Import the module into the current sessionImport-Module WindowsDiskCleanup
# List all commands provided by the moduleGet-Command-Module WindowsDiskCleanup
# Dry run - show which IIS log files would be removed older than 100 daysRemove-IISLog-Days 100-DryRun
# Remove old versions of one package, keeping the latest available versionRemove-NugetPackageVersion-PackageName 'sitecore.cms.core.content'-Days 30-DryRun
# Remove old versions for all packages in C:\nuget (keep latest version for each package)Remove-NugetPackageVersion-NugetFolder 'C:\nuget'-Days 30-DryRun
# Remove old versions for all packages matching a wildcardRemove-NugetPackageVersion-PackageName 'sitecore.cms.*'-NugetFolder 'C:\nuget'-Days 30-DryRun
# Custom cleanup$cleanupTargets=@(
@{ Path='C:\Packages\Artifacts'; Days=900 }
@{ Path='C:\Resources'; Days=365 }
)
foreach ($targetin$cleanupTargets) {
Write-Host"[CLEANUP][$($target.Path)]"$items=Get-ChildItem$target.Path$items|Remove-OldItem-Days $target.Days-DryRun
$items|Remove-OldItem-Days $target.Days
}Alternatively, you can run complete cleanup with default settings:
cls;.\main.ps1 -DryRunRun complete cleanup with NuGet package retention:
cls;.\main.ps1 -DryRun -NugetPackages @('sitecore.cms.core.content') -NugetDays 30-NugetFolder 'C:\nuget'Clean all packages in the NuGet folder (no package list required):
cls;.\main.ps1 -DryRun -NugetDays 30-NugetFolder 'C:\nuget'MIT License © Alan Płócieniak