# Windows 10 Sophia Script Sophia Script **A PowerShell module for Windows 10 fine-tuning and automating the routine tasks** :trophy:

Available in: [![download](https://i.imgur.com/MFLe5Xm.png)](https://github.com/farag2/Windows-10-Sophia-Script/releases/latest) *** [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Q5Q51QUJC) ***

ScreenshotsVideosCore featuresHow to useHow to translateSupported Windows 10 versionsChangelog

***
## :fire: Before running :fire: * 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. 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. ## Supported Windows 10 versions |Version| Marketing name | Build | Arch | Editions | Script version | |:-----:|:-------------------:|:-----:|:----:|:-----------------:|:--------------:| | 21H1 | Spring 2021 Update | 19043 | x64 |Home/Pro/Enterprise|[5.10](https://github.com/farag2/Windows-10-Sophia-Script/releases/latest)| | 20H2 | October 2020 Update | 19042 | x64 |Home/Pro/Enterprise|[5.10](https://github.com/farag2/Windows-10-Sophia-Script/releases/latest)| | 2004 | May 2020 Update | 19041 | x64 |Home/Pro/Enterprise|[5.10](https://github.com/farag2/Windows-10-Sophia-Script/releases/latest)| | 1809 | LTSC Enterprise 2019| 17763 | x64 | Enterprise |[5.2](https://github.com/farag2/Windows-10-Sophia-Script/releases/latest)| ## Screenshots ![Image](https://media0.giphy.com/media/9SlZzt78GWy5SJCnO3/giphy.gif) ![Image](https://i.imgur.com/AeOOJ3k.png) ![Image](https://i.imgur.com/Fuf4CaD.png) ![Image](https://i.imgur.com/JQh0oSh.png) ![Image](https://i.imgur.com/qZhFqr3.png) ![Image](https://i.imgur.com/2C3NOke.png) ![Image](https://i.imgur.com/cZC40Fi.png) ![Image](https://i.imgur.com/fmFxnaA.png) ![Image](https://i.imgur.com/IbaYl3h.png) ![Image](https://i.imgur.com/9s7Noud.png) ## Videos [![YT](https://img.youtube.com/vi/f529ucAipI8/0.jpg)](https://youtu.be/f529ucAipI8) [![YT](https://img.youtube.com/vi/8E6OT_QcHaU/1.jpg)](https://youtu.be/8E6OT_QcHaU?t=370) [![YT](https://img.youtube.com/vi/ZSwj8SrcVPg/1.jpg)](https://youtu.be/ZSwj8SrcVPg) ## Core 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 %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 friendly packages names with pop-up form written in [WPF](#Screenshots); * Dynamically generated UWP apps list installed for all users * Restore the default uninstalled UWP apps for current user displaying friendly packages names with pop-up form written in [WPF](#Screenshots); * The Tab completion for functions and their arguments by typing its' 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) from Microsoft server using parser 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 and setup WSL * 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](#Screenshots) * 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; * Setup Windows 10 security; * Many more File Explorer and context menu "deep" tweaks. ## How to use * Download [up-to-date version](https://github.com/farag2/Windows-10-Sophia-Script/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; * Comment out function with the `#` char if you don't want it to be run; * Uncomment function by removing the `#` char if you want it to be run. * 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/); * 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` to run the whole preset file; * Press Enter. *** 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 ``` * Now you can do like this ```powershell Sophia -Functions Sophia -Functions temp Sophia -Functions unin Sophia -Functions "DiagTrackService -Disable", "DiagnosticDataLevel -Minimal", UninstallUWPApps UninstallUWPApps, "PinToStart -UnpinAll" ``` * Regardless of the functions entered as an argument the `Checkings` function will be executed first, and the `Refresh` and `Errors` functions will be executed at the end; * The quotation marks required. ## How to translate * Get your OS UI culture by ```powershell $PSUICulture ``` * Create a folder with the UI culture name; * Place your localized Sophia.psd1 file into this folder ## Ask a question on * [Telegram](https://t.me/sophia_chat) * [Ru-Board](http://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15) * [rutracker](https://rutracker.org/forum/viewtopic.php?t=5996011) * [My Digital Life](https://forums.mydigitallife.net/threads/powershell-windows-10-sophia-script.81675/) * [Reddit (archived)](https://www.reddit.com/r/PowerShell/comments/go2n5v/powershell_script_setup_windows_10/) * PM [me](https://www.reddit.com/user/farag2/) ## SophiApp Community Edition (C# + WPF) [SophiApp](https://github.com/SophiaUI/SophiApp) is still in development.