From 45427cea18a8a0cdde85b78ac60bf7c482a9b567 Mon Sep 17 00:00:00 2001 From: dyoder Date: Mon, 7 Sep 2020 20:18:06 -0400 Subject: [PATCH] update --- Cleanup-AppXTempFiles.ps1 | 9 ------- Cleanup-SystemAppXTempFiles.ps1 | 10 +++++++ ...LogFiles.ps1 => Cleanup-SystemLogFiles.ps1 | 0 Cleanup-TempFiles.ps1 | 4 +-- Tools.ps1 | 26 +++++++++++++++++++ 5 files changed, 38 insertions(+), 11 deletions(-) delete mode 100644 Cleanup-AppXTempFiles.ps1 create mode 100644 Cleanup-SystemAppXTempFiles.ps1 rename Cleanup-LogFiles.ps1 => Cleanup-SystemLogFiles.ps1 (100%) diff --git a/Cleanup-AppXTempFiles.ps1 b/Cleanup-AppXTempFiles.ps1 deleted file mode 100644 index 39f3382..0000000 --- a/Cleanup-AppXTempFiles.ps1 +++ /dev/null @@ -1,9 +0,0 @@ -## This script will remove runaway AppX temp files that can consume 100's of GB on an endpoint -## Only run this script on Windows 8 or higher endpoints -$WindowsVersion = [double]("{0}.{1}" -f ([System.Environment]::OSVersion.Version).Major,([System.Environment]::OSVersion.Version).Minor) -If ( $WindowsVersion -ge 6.2 ) -{ - Get-ChildItem -Path "${Env:SystemRoot}\Temp" | Where { $_.Name -like "AppXDeploymentServer_*.evtx" }| Remove-Item -Force - Get-ChildItem -Path "${Env:SystemRoot}\Temp" | Where { $_.Name -like "AppxErrorReport_*.txt" } | Remove-Item -Force - Get-ChildItem -Path "${Env:SystemRoot}\Temp" | Where { $_.Name -like "AppXPackaging_*.evtx" }| Remove-Item -Force -} \ No newline at end of file diff --git a/Cleanup-SystemAppXTempFiles.ps1 b/Cleanup-SystemAppXTempFiles.ps1 new file mode 100644 index 0000000..efee403 --- /dev/null +++ b/Cleanup-SystemAppXTempFiles.ps1 @@ -0,0 +1,10 @@ +## This script will remove runaway AppX temp files that can consume 100's of GB on an endpoint +## Only run this script on Windows 8 or higher endpoints +#$WindowsVersion = [double]("{0}.{1}" -f ([System.Environment]::OSVersion.Version).Major,([System.Environment]::OSVersion.Version).Minor) +If ( (IsWindowsVersion -ge "6.2") ) +{ + Write-Output "Cleaning files!" + #Get-ChildItem -Path "${Env:SystemRoot}\Temp" | Where { $_.Name -like "AppXDeploymentServer_*.evtx" }| Remove-Item -Force + #Get-ChildItem -Path "${Env:SystemRoot}\Temp" | Where { $_.Name -like "AppxErrorReport_*.txt" } | Remove-Item -Force + #Get-ChildItem -Path "${Env:SystemRoot}\Temp" | Where { $_.Name -like "AppXPackaging_*.evtx" }| Remove-Item -Force +} \ No newline at end of file diff --git a/Cleanup-LogFiles.ps1 b/Cleanup-SystemLogFiles.ps1 similarity index 100% rename from Cleanup-LogFiles.ps1 rename to Cleanup-SystemLogFiles.ps1 diff --git a/Cleanup-TempFiles.ps1 b/Cleanup-TempFiles.ps1 index e049380..8400eee 100644 --- a/Cleanup-TempFiles.ps1 +++ b/Cleanup-TempFiles.ps1 @@ -1,5 +1,5 @@ -[CmdletBinding()] -param([int]$OlderThan=7) +## Only delete files older than the following number of days +$OlderThan=7 ## Create a new timespan to compare with last write date of the target directory $timedelta = New-TimeSpan -Days $OlderThan diff --git a/Tools.ps1 b/Tools.ps1 index b92a1de..e498e17 100644 --- a/Tools.ps1 +++ b/Tools.ps1 @@ -55,4 +55,30 @@ If ( $VersionArray.Count -le $Sets ) { $Sets = $VersionArray.Count } For ($i = 0; $i -le ($Sets - 1); $i++) { $Return = '{0}.{1}' -f $Return, $VersionArray[$i] } Return [version]$Return.Trim('.') +} + +## Function to compare current Windows version with a supplied version +Function IsWindowsVersion +{ +param( + [Parameter(Mandatory=$true,ParameterSetName='gt')] + [string]$gt, + [Parameter(Mandatory=$true,ParameterSetName='ge')] + [string]$ge, + [Parameter(Mandatory=$true,ParameterSetName='lt')] + [string]$lt, + [Parameter(Mandatory=$true,ParameterSetName='le')] + [string]$le, + [Parameter(Mandatory=$true,ParameterSetName='eq')] + [string]$eq +) +[version]$WindowsVersion = [System.Environment]::OSVersion.Version +switch ($PSCmdlet.ParameterSetName) +{ + 'gt' { If ( $WindowsVersion -gt (Get-Version $gt) ) { Return $true } Else { Return $false } } + 'ge' { If ( $WindowsVersion -ge (Get-Version $ge) ) { Return $true } Else { Return $false } } + 'lt' { If ( $WindowsVersion -lt (Get-Version $lt) ) { Return $true } Else { Return $false } } + 'le' { If ( $WindowsVersion -le (Get-Version $le) ) { Return $true } Else { Return $false } } + 'eq' { If ( $WindowsVersion -eq (Get-Version $eq) ) { Return $true } Else { Return $false } } +} } \ No newline at end of file