https://github.com/farag2/sophia-script-for-windows
:zap: The most powerful PowerShell module for fine-tuning Windows
https://github.com/farag2/sophia-script-for-windows
22h2 23h2 24h2 debloat debloater debloating gui ltsc powershell script sophia sophia-script tweak tweaker tweaks windows windows-10 windows-11 windows-debloat
Last synced: 23 days ago
JSON representation
:zap: The most powerful PowerShell module for fine-tuning Windows
- Host: GitHub
- URL: https://github.com/farag2/sophia-script-for-windows
- Owner: farag2
- License: mit
- Created: 2018-10-17T11:09:58.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-05-09T16:02:21.000Z (10 months ago)
- Last Synced: 2025-05-09T17:22:38.065Z (10 months ago)
- Topics: 22h2, 23h2, 24h2, debloat, debloater, debloating, gui, ltsc, powershell, script, sophia, sophia-script, tweak, tweaker, tweaks, windows, windows-10, windows-11, windows-debloat
- Language: PowerShell
- Homepage:
- Size: 158 MB
- Stars: 8,285
- Watchers: 155
- Forks: 606
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Support: supported_windows_builds.json
Awesome Lists containing this project
README
🌐 [English](/README.md) | [Deutsche](/README_de-de.md) | [Русский](/README_ru-ru.md) | [Українська](/README_uk-ua.md)

# Sophia Script for Windows
The most powerful PowerShell module for fine-tuning Windows on GitHub
Made with
of Windows

## Key features
* `Sophia Script for Windows` cares about your Windows stability and informs in case of finding a problem
* More than 150 unique functions to configure Windows using Microsoft's officially documented ways without making any harm to it
* Every tweak has its corresponding function to restore default settings
* Fully open-source project
* All archives are being built and uploaded using [GitHub Actions](https://github.com/farag2/Sophia-Script-for-Windows/actions)
* Configure Windows AI
* Configure Windows privacy, security, personalization
* Available via Scoop, Chocolatey, and WinGet
* ARM64 support
* PowerShell 7 support
* Has no conflict with [VAC](https://help.steampowered.com/faqs/view/571A-97DA-70E9-FF74#whatisvac)
* Uninstall UWP apps displaying their localized packages names
* Script generates installed UWP apps list [dynamically](#screenshots)
* Applied registry policies will be displayed in the Local Group Policy Editor snap-in (gpedit.msc)
* Enable DNS-over-HTTPS using
* [Cloudflare DNS](https://developers.cloudflare.com/1.1.1.1/setup/windows/)
* [Google Public DNS](https://developers.google.com/speed/public-dns/docs/using)
* [Quad9 DNS](https://quad9.net/service/service-addresses-and-features/)
* [Comss.one DNS](https://www.comss.ru/page.php?id=7315)
* [AdGuard DNS](https://adguard-dns.io/public-dns.html)
* Uninstall OneDrive
* Interactive [prompts and popups](#screenshots)
* TAB [completion](#how-to-run-the-specific-functions) for functions and their arguments (using Import-TabCompletion.ps1)
* Change location of the user folders (without moving user files) using an interactive menu
* Desktop
* Documents
* Downloads
* Music
* Pictures
* Videos
* Install free (light and dark) `Windows 11 Cursors Concept v2` cursors from [Jepri Creations](https://www.deviantart.com/jepricreations/art/Windows-11-Cursors-Concept-v2-886489356) on-the-fly
* Archive was downloaded to [Cursors](https://github.com/farag2/Sophia-Script-for-Windows/tree/master/Cursors) folder using [DeviantArt API](https://github.com/farag2/Sophia-Script-for-Windows/blob/master/.github/workflows/Cursors.yml)
* Set an app as default one for specific extension without `How do you want to open this` pop-up
* Export and import all Windows associations. You need to install all apps according to exported JSON file to restore all associations
* Install WSL Linux distribution with [pop-up](#screenshots) using friendly distro names
* Create scheduled tasks with a [native toast notification](#screenshots)
* Create scheduled tasks `Windows Cleanup` and `Windows Cleanup Notification` for cleaning up Windows of unused files and Windows updates files
* Create a scheduled task `SoftwareDistribution` for cleaning up `%SystemRoot%\SoftwareDistribution\Download`
* Create a scheduled task `Temp` for cleaning up `%TEMP%`
* Install the latest provided Microsoft Visual C++ 2015–2026 x86/x64
* Install the latest provided .NET Desktop Runtime 8, 9, 10 x64
* Many more File Explorer and context menu tweaks
## Table of Contents
* [Key features](#key-features)
* [How to download](#how-to-download)
* [How to use](#how-to-use)
* [How to run the specific function(s)](#how-to-run-the-specific-functions)
* [System Requirements](#system-requirements)
* [Screenshots](#screenshots)
* [How to translate](#how-to-translate)
* [SophiApp 2.0](#sophiapp-20-c--winui-3)
## How to download
### From release page
### Download via PowerShell
Download and expand to Downloads folder the latest `Sophia Script for Windows` version depending to your Windows and PowerShell versions you use.
```powershell
iwr script.sophia.team -useb | iex
```
Download and expand to Downloads folder the latest `Sophia Script for Windows` version from the last [commit](https://github.com/farag2/Sophia-Script-for-Windows/commits/master/) depending to your Windows and PowerShell versions you use.
```powershell
iwr sl.sophia.team -useb | iex
```
### Chocolatey
Download and expand to Downloads folder latest `Sophia Script for Windows` version depending to your Windows version you use.
```powershell
choco install sophia --force -y
```
Download and expand to Downloads folder latest `Sophia Script for Windows` version for PowerShell 7 depending to your Windows version you use.
```powershell
choco install sophia --params "/PS7" --force -y
```
```powershell
# Uninstall and then remove downloaded folder manually
choco uninstall sophia --force -y
```
### WinGet
Download and expand to Downloads folder latest `Sophia Script for Windows` version for Windows 11 and PowerShell 5.1 (SFX archive `sophiascript.exe`).
```powershell
$DownloadsFolder = Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}"
winget install --id TeamSophia.SophiaScript --location $DownloadsFolder --accept-source-agreements --force
& "$DownloadsFolder\sophiascript.exe"
```
```powershell
# Uninstall Sophia Script for Windows
winget uninstall --id TeamSophia.SophiaScript --force
```
### Scoop
Download and expand to Downloads folder latest `Sophia Script for Windows` version for Windows 11 for PowerShell 5.1.
```powershell
# scoop bucket rm extras
scoop bucket add extras
scoop install sophia-script --no-cache
```
```powershell
# Uninstall Sophia Script for Windows
scoop uninstall sophia-script --purge
```
## How to use
* Download archive for your system and expand it
* Look through the `Sophia.ps1` file to configure functions that you want to be run
* Place the `#` char before function if you don't want it to be run
* Remove the `#` char before function if you want it to be run
* Copy path of downloaded `Sophia Script for Windows` folder
* Right click on `Windows` button, open Terminal (PowerShell) as admin, and paste copied path to folder
```batch
cd path\to\folder
```
* Set execution policy to be able to run scripts only in the current PowerShell session
```powershell
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
```
* Type `.\Sophia.ps1`and press Enter
### How to run the specific function(s)
* Do all steps from [How to use](#how-to-use) section and stop at setting execution policy in `PowerShell`
* [Dot source](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_operators#dot-sourcing-operator-) the `Import-TabCompletion.ps1` file first:
```powershell
# With a dot at the beginning
. .\Import-TabCompletion.ps1
```
* Сall any script function with name autocompletion using TAB
```powershell
Sophia -Functions
Sophia -Functions temp
Sophia -Functions unin
Sophia -Functions uwp
Sophia -Functions "DiagTrackService -Disable", "DiagnosticDataLevel -Minimal", Uninstall-UWPApps
Uninstall-UWPApps, "PinToStart -UnpinAll"
```
## Wrapper

Wrapper is a `3rd party closed-source` wrapper for `Sophia Script for Windows`. It's fully maintained by [@BenchTweakGaming](https://github.com/BenchTweakGaming).
Read more [here](./Wrapper/README.md)
## System Requirements
[Windows-10]: https://support.microsoft.com/topic/windows-10-update-history-8127c2c6-6edf-4fdf-8b9f-0f7be1ef3562
[Windows-10-LTSC-2019]: https://support.microsoft.com/topic/windows-10-and-windows-server-2019-update-history-725fc2e1-4443-6831-a5ca-51ff5cbcb059
[Windows-10-LTSC-2021]: https://support.microsoft.com/topic/windows-10-update-history-857b8ccb-71e4-49e5-b3f6-7073197d98fb
[Windows-11-LTSC-2024]: https://support.microsoft.com/topic/windows-11-version-24h2-update-history-0929c747-1815-4543-8461-0160d16f15e5
[Windows-11-24h2]: https://support.microsoft.com/topic/windows-11-version-25h2-update-history-99c7f493-df2a-4832-bd2d-6706baa0dec0
| Version | Build | Edition |
|:-----------------------------------------|:-------------------------------------:|:-------------------:|
| Windows 11 24H2/25H2+ | [Latest stable][Windows-11-24h2] | Home/Pro/Enterprise |
| Windows 10 x64 22H2 | [Latest stable][Windows-10] | Home/Pro/Enterprise |
| Windows 11 Enterprise LTSC 2024 | [Latest stable][Windows-11-LTSC-2024] | Enterprise |
| Windows 10 x64 21H2 Enterprise LTSC 2021 | [Latest stable][Windows-10-LTSC-2021] | Enterprise |
| Windows 10 x64 1809 Enterprise LTSC 2019 | [Latest stable][Windows-10-LTSC-2019] | Enterprise |
## Screenshots

## How to translate
* Get your OS UI culture by invoking `$PSUICulture` in PowerShell
* Create a folder with the UI culture name
* Place your localized SophiaScript.psd1 file into this folder
## Media
***
## SophiApp 2.0 (C# + WinUI 3)
[SophiApp 2.0](https://github.com/Sophia-Community/SophiApp) is in ongoing development. 🚀

