powershell删除C盘无用文件
发布时间 2023-07-14 16:42:27作者: Peter_Yi
$FileAge = $(Get-Date).AddDays(-60)
# $server = ( Get-Content D:\ServerList.txt)
write-host "$server -- Ping Success" -ForegroundColor Green
$Pingstatus = "Success"
$LogDate = get-date -format "MM-d-yy-HH"
#log file Path
# Start-Transcript -Path D:\131460\Temp\$LogDate.log
#Show C:\ Drive space information before Cleanup
$BeforeClenaup= Get-WmiObject Win32_LogicalDisk | Where-Object {$_.DeviceID -eq "c:"} | Select-Object SystemName,
@{ Name = "Drive" ; Expression = { ( $_.DeviceID ) } },
@{ Name = "Size (GB)" ; Expression = {"{0:N1}" -f( $_.Size / 1gb)}},
@{ Name = "FreeSpace (GB)" ; Expression = {"{0:N1}" -f( $_.Freespace / 1gb ) } },
@{ Name = "PercentFree" ; Expression = {"{0:P1}" -f( $_.FreeSpace / $_.Size ) } } |
Format-Table -AutoSize | Out-String
#Stope Windows Update Service
Get-Service -Name wuauserv | Stop-Service -Force -Verbose -ErrorAction SilentlyContinue
#Delete software Distribution Folder content
$FileAge
invoke-command { Get-ChildItem "C:\Windows\SoftwareDistribution\*" -Recurse -Force -Verbose -ErrorAction SilentlyContinue |Where-Object { ($_.CreationTime -lt $FileAge) } | remove-item -force -Verbose -recurse -ErrorAction SilentlyContinue }
#Delte Temp Folder Content
invoke-command { Get-ChildItem "C:\Windows\Temp\*" -Recurse -Force -Verbose -ErrorAction SilentlyContinue | remove-item -force -Verbose -recurse -ErrorAction SilentlyContinue }
#Delete All User Temp files
invoke-command { Get-ChildItem "C:\users\*\AppData\Local\Temp\*" -Recurse -Force -Verbose -ErrorAction SilentlyContinue | remove-item -force -Verbose -recurse -ErrorAction SilentlyContinue }
#Delete All user Temporary Internet Files
invoke-command { Get-ChildItem "C:\users\*\AppData\Local\Microsoft\Windows\Temporary Internet Files\*" -Recurse -Force -Verbose -ErrorAction SilentlyContinue | remove-item -force -recurse -Verbose -ErrorAction SilentlyContinue }
#clear all recycle bins present on the local computer
Invoke-Command { Clear-RecycleBin -Force -Confirm:$false -ErrorAction SilentlyContinue }
#Start Windows Update Service
Get-Service -Name wuauserv | Start-Service -Verbose
#Cleaning the ccmcache folder- Mayank#
#Connect to Resource Manager COM Object
$res = new-object -com "UIResource.UIResourceMgr"
$cacheInfo = $res.GetCacheInfo()
$cacheinfo.GetCacheElements() | where-object {$_.LastReferenceTime -lt (get-date).AddDays(-5)} |foreach {$cacheInfo.DeleteCacheElement($_.CacheElementID)}
#End of Code for ccmcache folder -Mayank
#Show C:\ Drive space information After Cleanup
$AfterClenaup = Get-WmiObject Win32_LogicalDisk | Where-Object {$_.DeviceID -eq "c:"} | Select-Object SystemName,
@{ Name = "Drive" ; Expression = { ( $_.DeviceID ) } },
@{ Name = "Size (GB)" ; Expression = {"{0:N1}" -f( $_.Size / 1gb)}},
@{ Name = "FreeSpace (GB)" ; Expression = {"{0:N1}" -f( $_.Freespace / 1gb ) } },
@{ Name = "PercentFree" ; Expression = {"{0:P1}" -f( $_.FreeSpace / $_.Size ) } } |
Format-Table -AutoSize | Out-String
Write-host "Before Cleanup: $BeforeClenaup"
Write-host "After Cleanup: $AfterClenaup"