# Sophia Script for Windows
[telegram-news-badge]: https://img.shields.io/badge/Sophia%20News-Telegram-blue?style=flat&logo=Telegram [telegram-news]: https://t.me/sophianews [telegram-group]: https://t.me/sophia_chat [telegram-group-badge]: https://img.shields.io/badge/Sophia%20Chat-Telegram-blue?style=flat&logo=Telegram [![Telegram][telegram-news-badge]][telegram-news] [![Telegram][telegram-group-badge]][telegram-group] [discord-news-badge]: https://discordapp.com/api/guilds/1006179075263561779/widget.png?style=shield [discord-link]: https://discord.gg/sSryhaEv79 [![Discord][discord-news-badge]][discord-link]
Available in: *** ***• Donations • System Requirements • Screenshots • Videos • Core features • How to use • How to translate • SophiApp • Changelog
## About Sophia Script for Windows :trophy: Sophia Script for Windows is the largest PowerShell module on `GitHub` for `Windows 10` & `Windows 11` fine-tuning and automating the routine tasks ## Before running > **Note**: Due to the fact that the script includes more than **150** functions with different arguments, you must read the entire **Sophia.ps1** carefully and **comment out/uncomment** those functions that you do/do not want to be executed (without need to edit the code), or use [Wrapper](https://github.com/farag2/Sophia-Script-for-Windows#davids-sophia-script-wrapper). Every tweak in the preset file has its' corresponding function to **restore the default settings**. > Running the script is best done on a fresh install because running it on **wrong** tweaked system may result in errors occurring. ## Donations [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/farag) ![ko-fi](https://storage.ko-fi.com/cdn/useruploads/Q5Q51QUJC/qrcode.png) | BTC | USDT (TRC20) | ETH | |:-----------------------------------:|:------------------------------------:|:------------------------------------------:| ||| | |`13QVRYxgGjZtKQgfb6VPRZyyUmnqeaTm1n` |`TQtMjdocUWbKAeg1kLtB4ApjAVHt1v8Rtf` |`0x089f05c00e2f75e9b0cd939f21c207b1afe5b2f6`| ## Minimum System Requirements | Version | Marketing name | Build | Arch | Editions | |:--------------------------------|------------------------:|:----------:|:----:|:------------------------:| | Windows 11 Insider Preview 23H2 | 2023 Update | 22509 | | Home/Pro/Enterprise | | Windows 11 21H2 | 2022 Update | 22000.739 | | Home/Pro/Enterprise | | Windows 10 21H2 | October 2021 Update | 19044.1706 | x64 | Home/Pro/Enterprise/LTSC | | Windows 10 21H2 | Enterprise LTSC 2021 | 19044.1706 | x64 | Enterprise | | Windows 10 2004 | May 2020 Update | 19041.1706 | x64 | Home/Pro/Enterprise | | Windows 10 1809 | Enterprise LTSC 2019 | 17763.3046 | x64 | Enterprise | ## Screenshots ### The TAB autocomplete. Read more [here](#how-to-run-the-specific-functions) ![Image](./img/Autocomplete.gif) ### Change user folders location programmatically using the interactive menu ![Image](https://i.imgur.com/gJFAEOk.png) ### Localized UWP packages names ![Image](https://i.imgur.com/xeiBbes.png) ![Image](https://i.imgur.com/0zj0h2S.png) ### Localized Windows features names ![Image](https://i.imgur.com/xlMR2mz.png) ![Image](https://i.imgur.com/yl9j9Vt.png) ### Download and install any supported Linux distribution in automatic mode ![Image](https://i.imgur.com/j2KLZm0.png) ### Native interactive toasts for the scheduled tasks ![Image](https://i.imgur.com/h17EpTG.png) ### David's Sophia Script Wrapper ![Wrapper](https://i.imgur.com/x0W7zqm.png) ## Videos [![YT](https://img.youtube.com/vi/q_weQifFM58/0.jpg)](https://www.youtube.com/watch?v=q_weQifFM58) [![YT](https://img.youtube.com/vi/8E6OT_QcHaU/1.jpg)](https://youtu.be/8E6OT_QcHaU?t=370) [![YT](https://img.youtube.com/vi/091SOihvx0k/1.jpg)](https://youtu.be/091SOihvx0k?t=490) ## Key features * Set up Privacy & Telemetry; * Turn off diagnostics tracking scheduled tasks with pop-up form written in [WPF](#screenshots); * Set up UI & Personalization; * Uninstall OneDrive "correctly"; * Interactive [prompts](#change-user-folders-location-programmatically-using-the-interactive-menu); * The [TAB](#the-tab-autocomplete-read-more-here) completion for functions and their arguments (if using the Functions.ps1 file); * Change %TEMP% environment variable path to %SystemDrive%\Temp * Change location of the user folders programmatically (without moving user files) within interactive menu using arrows to select a drive * "Desktop"; * "Documents"; * "Downloads"; * "Music"; * "Pictures" * "Videos. * Uninstall UWP apps displaying packages names; * Generate installed UWP apps list dynamically * Restore the default uninstalled UWP apps for current user displaying [localized](#localized-uwp-packages-names) packages names; * The TAB [autocompletion](#the-tab-autocomplete-read-more-here) for function and its' arguments by typing first letters * Disable Windows features displaying friendly packages names with pop-up form written in [WPF](#screenshots); * Uninstall Windows capabilities displaying friendly packages names with pop-up form written in [WPF](#screenshots); * Download and install the [HEVC Video Extensions from Device Manufacturer](https://www.microsoft.com/p/hevc-video-extensions-from-device-manufacturer/9n4wgh0z6vhq) to be able to open .heic and .heif formats; * Register app, calculate hash, and set as default for specific extension without the "How do you want to open this" pop-up using special [function](https://github.com/DanysysTeam/PS-SFTA); * Install any supported Linux distrobution for WSL displaying friendly distro names with pop-up form written in [WPF](#screenshots); * Create a `Windows Cleanup` and `Windows Cleanup Notification` scheduled tasks for Windows cleaning up unused files and updates; * A native toast notification will be displayed where you can choose to snooze, run the cleanup task or [dismiss](#native-interactive-toasts-for-the-scheduled-tasks) * Create tasks in the Task Scheduler to clear * `%SystemRoot%\SoftwareDistribution\Download` * `%TEMP%` * Pin shortcuts to Start via pure PowerShell * Three shortcuts are pre-configured to be pinned: Control Panel, "old style" Devices and Printers, and Windows PowerShell * Unpin all Start menu tiles; * Turn on Controlled folder access and add protected folders using dialog menu; * Add exclusion folder from Microsoft Defender Antivirus scanning using dialog menu; * Add exclusion file from Microsoft Defender Antivirus scanning using dialog menu; * Refresh desktop icons, environment variables and taskbar without restarting File Explorer; * Configure the Windows security; * Many more File Explorer and context menu "deep" tweaks. ## How to use * Choose the right script version for your `Windows`; * Download [up-to-date version](https://github.com/farag2/Sophia-Script-for-Windows/releases/latest); * Expand the archive; * Open folder with the expanded archive; * 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. * On `Windows 10` click `File` in File Explorer, hover over `Open Windows PowerShell`, and select `Open Windows PowerShell as Administrator` [(how-to with screenshots)](https://www.howtogeek.com/662611/9-ways-to-open-powershell-in-windows-10/); * On `Windows 11` right-click on the Windows icon and select `Windows Terminal (Admin)`. Then change the current location ```powershell Set-Location -Path "Path\To\Sophia\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` Enter to run the whole preset file. ## How to use Wrapper * Download and expand the archive; * Run `SophiaScriptWrapper.exe` and import Sophia.ps1; * The Wrapper has a real time UI rendering; * Configure every function; * Open the `Console Output` tab and press `Run PowerShell`. *** ### How to run the specific function(s) To run the specific function(s) [dot source](https://docs.microsoft.com/ru-ru/powershell/module/microsoft.powershell.core/about/about_operators#dot-sourcing-operator-) the `Functions.ps1` file first: ```powershell # With a dot at the beginning . .\Functions.ps1 ``` * Now you can do like this (the quotation marks required) ```powershell Sophia -Functions