Всем привет.
Нашел я на просторах сети еще один мега-скрипт очистки Windows, который перебирает все наявные профили в системе. Собственно сам скрипт:
# задаем системные пути для очистки:
$SysCleanPathsArr = "C:\Temp\*","C:\Windows\Temp\*","C:\tmp\*"
# чистим согласно заданных путей:
ForEach ($Path in $SysCleanPathsArr) {
Remove-Item -Path $Path -Recurse -Force -ErrorAction SilentlyContinue -WhatIf
}
# задаем возможные пути чистки в профилях пользователей:
$InProfilesCleanPathsArr = "\AppData\Local\Temp\*","\AppData\Local\*.auc","\AppData\Local\Microsoft\Terminal Server Client\Cache\*", "\AppData\Local\Microsoft\Windows\Temporary Internet Files\*","\AppData\Local\Microsoft\Windows\WER\ReportQueue\*","\AppData\Local\Microsoft\Windows\Explorer\*"
# извлекаем из реестра местоположение профилей и формируем список:
$Profiles = Get-ChildItem (Get-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList").ProfilesDirectory -Exclude "Администратор","Administrator","Setup","Public","All Users","Default User"
# чистим согласно списка:
ForEach ($Profile in $Profiles) {
ForEach ($Path in $InProfilesCleanPathsArr) {
Remove-Item -Path $Path -Recurse -Force -ErrorAction SilentlyContinue -WhatIf
}
}
# напоследок чистим Корзину:
Clear-RecycleBin -Force
(New-Object -ComObject Shell.Application).NameSpace(0x0a).Items() | Remove-Item -Recurse -Force
Совет: прогоните скрипт для начала с -WhatIf чтобы оценить последствия. А потом уже запускайте без предохранителя. Мало ли.)
Удачи.
No comments:
Post a Comment
А что вы думаете по этому поводу?