Skip to content

Commit

Permalink
Merge pull request #1 from cor3jz/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
cor3jz authored Dec 22, 2024
2 parents 7230b4d + 5eac55a commit 4eb6e01
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 35 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
/build
icon.ico
sign.ps1
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
# Cleanup Utility


## **Дисклеймер!**
**Данная утилита представлена исключительно для ознакомления! Разработчик не несет ответственности за удаленные с ваших компьютеров файлы и некорректную работу программ с которыми работает данный скрипт! Всем добра :heart:**
> [!NOTE]
> Данная утилита представлена исключительно для ознакомления! Разработчик не несет ответственности за удаленные с ваших компьютеров файлы и некорректную работу программ с которыми работает данный скрипт! Всем добра :heart:
>
>**Буду рад [⭐ поставленной репозиторию звезде](https://github.com/cor3jz/PS-Cleanup/stargazers) (в правом верхнем углу) 🙂**
> *Если антивирус помечает утилиту как вредоносную - добавьте ее в исключения, это ложное срабатывание. Также вы можете самостоятельно скомпилировать исходный файл `cleanup.ps1` с помощью **PS2EXE***
> [!CAUTION]
> **Многие антивирусники** в данный момент жалуются на ***HackTool/RiskTool*** - это ложное срабатывание, связанное с использованием PS2EXE для компиляции. Что с этим делать? Добавить утилиту в исключения антивируса, сделать самому сборку из исходников, использовать `.bat` для запуска исходного файла, либо не использовать вовсе.
## Удаление данных пользователя

Утилита принудительно завершает процессы и удаляет данные пользователей в таких приложениях, как:
Утилита предварительно завершает процессы и удаляет данные пользователей в таких приложениях, как:

1. **Battle.net**
2. **BSG Launcher (Escape From Tarkov)**
Expand All @@ -28,7 +31,8 @@
16. **VKPlay**
17. **Wargaming.net**

> **Важно!** Во время работы утилиты удаляются настройки некоторых приложений (например, путь установки игр в Battle.net или VK Play)
> [!IMPORTANT]
> Во время работы утилиты удаляются настройки некоторых приложений (например, путь установки игр в Battle.net или VK Play)

## Удаление мусора и временных файлов
Expand Down
53 changes: 24 additions & 29 deletions cleanup.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$Version = '1.0.0'
$Version = '1.0.1'
$Host.UI.RawUI.WindowTitle="Cleanup" + ' - ' + $Version

#Log Config
Expand All @@ -15,7 +15,7 @@ function WriteLog
}
Write-Host "Cleanup Utility"
Write-Host "Выполняется удаление учетных записей и настроек последнего пользователя"
WriteLog "Cleanup Utility [1.0.0]"
WriteLog "Cleanup Utility $Version"
WriteLog "Скрипт начал работу"

#Остановка процессов и служб
Expand Down Expand Up @@ -54,29 +54,12 @@ Stop-Service "Steam Client Service" -Force | Add-Content $LogFile
Write-Host "Служба Steam Client Service остановлена"
WriteLog "Служба Steam Client Service остановлена"


#Очистка уч. записей в Steam
$SteamPath = ''
if ((Test-Path 'HKLM:\SOFTWARE\Wow6432Node\Valve\Steam') -eq $true) {
$SteamPath = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Valve\Steam').InstallPath
} else {
Write-Host "Не удалось найти Steam на этом компьютере"
WriteLog "Не удалось найти Steam на этом компьютере"
}

if ((Test-Path "$SteamPath\config\loginusers.vdf") -eq $true)
{
Remove-Item "$SteamPath\config\loginusers.vdf" -Force -ErrorAction SilentlyContinue | Add-Content $LogFile
Write-Host "Учетные данные Steam удалены"
WriteLog "Учетные данные Steam удалены"
} else {
Write-Host "Учетные данные Steam не обнаружены"
WriteLog "Учетные данные Steam не обнаружены"
}
Start-Sleep -Seconds 1
#Путь установки Steam
$SteamInstallPath = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Valve\Steam').InstallPath

#Удаление учетных данных других приложений
$CredentialStores = (
$CleanupPaths = (
"$SteamInstallPath\config\loginusers.vdf",
"$env:localappdata\Electronic Arts\EA Desktop\cookie.ini",
"$env:localappdata\GameCenter\GameCenter.ini",
"$env:localappdata\EpicGamesLauncher\Saved\Config\Windows\GameUserSettings.ini",
Expand All @@ -96,12 +79,13 @@ $CredentialStores = (
"$env:appdata\Mozilla\Firefox\*"
)

foreach ($CredentialFile in $CredentialStores)
foreach ($CleanupPath in $CleanupPaths)
{
$FileName = $CredentialFile.Split("\")[5]
$FileName = $CleanupPath.Split("\")[5]

switch ($FileName)
{
#Папки приложений
'Battlestate Games' {$Message = 'Учетные данные Battlestate Games удалены'}
'Battle.net' {$Message = 'Учетные данные Battle.net удалены'}
'Electronic Arts' {$Message = 'Учетные данные EA Desktop удалены'}
Expand All @@ -119,10 +103,11 @@ foreach ($CredentialFile in $CredentialStores)
'Riot Games' {$Message = 'Учетные данные Riot Games удалены'}
'Opera Software' {$Message = 'Учетные данные Opera GX удалены'}
'Mozilla' {$Message = 'Учетные данные Mozilla Firefox удалены'}
'Steam' {$Message = 'Учетные данные Steam удалены'}
}

if ((Test-Path "$CredentialFile") -eq $true) {
Get-Item $CredentialFile | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue | Add-Content $Logfile
if ((Test-Path "$CleanupPath") -eq $true) {
Get-Item $CleanupPath | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue | Add-Content $Logfile
WriteLog "$Message"
Write-Host "$Message"
} else {
Expand Down Expand Up @@ -176,8 +161,18 @@ foreach ($Path in $SystemPaths)
Start-Sleep -Seconds 1

Clear-RecycleBin -Force -ErrorAction SilentlyContinue | Add-Content $LogFile

Write-Host "Корзина очищена"
WriteLog "Корзина очищена"
WriteLog "Скрипт завершил свою работу"

Write-Host "Корзина очищена"
Write-Host "Скрипт завершил свою работу"

Add-Type -AssemblyName System.Windows.Forms
$global:balmsg = New-Object System.Windows.Forms.NotifyIcon
$path = (Get-Process -id $pid).Path
$balmsg.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$balmsg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Info
$balmsg.BalloonTipText = "Скрипт завершил свою работу!"
$balmsg.BalloonTipTitle = "Cleanup Utility $Version"
$balmsg.Visible = $true
$balmsg.ShowBalloonTip(5000)
Binary file added icon.ico
Binary file not shown.

0 comments on commit 4eb6e01

Please sign in to comment.