Главная

Friday, 10 December 2021

Глобальная чистка Windows с Powershell.


Всем привет.

Нашел я на просторах сети еще один мега-скрипт очистки 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

А что вы думаете по этому поводу?