< img src = "./img/Sophia.png" alt = "Sophia Script" width = '350' align = "right" >
# Sophia Script
**A PowerShell module for Windows 10 fine-tuning and automating the routine tasks** :trophy:
< p align = "left" >
< img src = "https://img.shields.io/github/workflow/status/farag2/Windows-10-Sophia-Script/Build?label=GitHub%20Actions&logo=GitHub" >
< img src = "https://img.shields.io/badge/PowerShell%205.1%20&%207.1-Ready-blue.svg?color=5391FE&style=flat&logo=powershell" >
< a href = "https://www.codacy.com/gh/farag2/Windows-10-Sophia-Script" > < img src = "https://app.codacy.com/project/badge/Grade/a760e521a97949098be8aa257f6cce11" > < / a >
< a href = "https://github.com/farag2/Windows-10-Sophia-Script/releases" > < img src = "https://img.shields.io/github/downloads/farag2/Windows-10-Setup-Script/total.svg?label=downloads%20%28since%20May%202020%29" > < / a >
< a href = "https://github.com/farag2/Windows-10-Sophia-Script/releases" > < img src = "https://img.shields.io/github/v/release/farag2/Windows-10-Sophia-Script" > < / a >
< img src = "https://img.shields.io/badge/Made%20with-%E2%9D%A4-red.svg?colorB=11a9f7" >
< a href = "https://twitter.com/tea_head_" > < img src = "https://img.shields.io/badge/Logo%20by-teahead-blue?style=flat&logo=Twitter" > < / a >
< / p >
Available in: < img src = "https://upload.wikimedia.org/wikipedia/commons/a/ae/Flag_of_the_United_Kingdom.svg" height = "11px" / > < img src = "https://upload.wikimedia.org/wikipedia/commons/f/fa/Flag_of_the_People's_Republic_of_China.svg" height = "11px" / > < img src = "https://upload.wikimedia.org/wikipedia/commons/b/ba/Flag_of_Germany.svg" height = "11px" / >
< img src = "https://upload.wikimedia.org/wikipedia/commons/c/c3/Flag_of_France.svg" height = "11px" / > < img src = "https://upload.wikimedia.org/wikipedia/commons/0/03/Flag_of_Italy.svg" height = "11px" / > < img src = "https://upload.wikimedia.org/wikipedia/commons/f/f3/Flag_of_Russia.svg" height = "11px" / > < img src = "https://upload.wikimedia.org/wikipedia/commons/4/49/Flag_of_Ukraine.svg" height = "11px" / > < img src = "https://upload.wikimedia.org/wikipedia/commons/b/b4/Flag_of_Turkey.svg" height = "11px" / > < img src = "https://upload.wikimedia.org/wikipedia/commons/9/9a/Flag_of_Spain.svg" height = "11px" / >
[![ko-fi ](https://www.ko-fi.com/img/githubbutton_sm.svg )](https://ko-fi.com/Q5Q51QUJC)
***
< p align = "center" >
•
< a href = "https://github.com/farag2/Windows-10-Sophia-Script/releases" > < b > DOWNLOAD< / b > < / a >
•
< a href = "#screenshots" > Screenshots< / a >
•
< a href = "#sophia-script-in-action" > Video< / a >
•
< a href = "#core-features" > Core features< / a >
•
< a href = "#usage" > Usage< / a >
•
< a href = "#how-to-translate" > How to translate< / a >
•
< a href = "#supported-windows-10-versions" > Supported Windows 10 versions< / a >
•
< a href = "https://github.com/farag2/Windows-10-Sophia-Script/blob/master/CHANGELOG.md" > Complete Changelog< / a >
< / p >
***
< table >
< tr >
< td >
< a href = "https://rutracker.org/forum/viewtopic.php?t=5996011" >
< img src = "https://static.t-ru.org/logo/logo-3.svg" height = "100px" >
< / a >
< / td >
< td >
< a href = "https://4sysops.com/archives/windows-10-sophia-script-powershell-functions-for-windows-10-fine-tuning-and-automating-routine-configuration-tasks/" >
< img src = "https://i.imgur.com/cZ32Hkt.png" >
< / a >
< / td >
< td >
< a href = "https://www.ghacks.net/2020/09/27/windows-10-setup-script-has-a-new-name-and-is-now-easier-to-use/" >
< img src = "https://i.imgur.com/K4f8VBo.png" >
< / a >
< / td >
< td >
< a href = "https://www.neowin.net/news/this-windows-10-setup-script-lets-you-fine-tune-around-150-functions-for-new-installs" >
< img src = "https://i.imgur.com/5fILFqz.png" >
< / a >
< / td >
< td >
< a href = "https://www.comss.ru/page.php?id=8019" >
< img src = "https://cdn.comss.net/img/logo51.png" >
< / a >
< / td >
< td >
< a href = "https://habr.com/en/post/521202" >
< img src = "https://i.imgur.com/cXWLr4I.png" >
< / a >
< / td >
< td >
< a href = "https://www.deskmodder.de/blog/2020/09/25/windows-10-sophia-script-windows-10-feintuning-mit-powershell/" >
< img src = "https://i.imgur.com/6sAI2wZ.png" >
< / a >
< / td >
< / tr >
< / table >
## :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|Code name| Marketing name |Build | Arch | Editions | Script version |
|:-----:|:-------:|:------------------:|:----:|:----:|:-----------------:|:--------------:|
| 2009 | 20H2 |October 2020 Update |19042 | x64 |Home/Pro/Enterprise|[5.4.0.1](https://github.com/farag2/Windows-10-Sophia-Script/releases/latest)|
| 2004 | 20H1 | May 2020 Update |19041 | x64 |Home/Pro/Enterprise|[5.4.0.1](https://github.com/farag2/Windows-10-Sophia-Script/releases/latest)|
| 1809 | |LTSC Enterprise 2019|17763 | x64 | Enterprise |[5.0.3](https://github.com/farag2/Windows-10-Sophia-Script/releases/latest)|
## Screenshots
< details >
< summary > Screenshots< / summary >
![Image ](https://i.imgur.com/5up2HrJ.png )
![Image ](https://i.imgur.com/Fuf4CaD.png )
![Image ](https://i.imgur.com/qZhFqr3.png )
![Image ](https://i.imgur.com/2C3NOke.png )
![Image ](https://i.imgur.com/DpV0UJw.png )
< / details >
## Videos
[![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
* 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 );
* Install and setup WSL
* Create a Windows cleaning up task in the Task Scheduler;
* A toast notification will pop up a minute before the task [starts ](#Screenshots )
* Create tasks in the Task Scheduler to clear
* `%SystemRoot%\SoftwareDistribution\Download`
* `%TEMP%`
* Unpin all Start menu tiles;
* Pin shortcuts to Start menu using [syspin.exe ](http://www.technosys.net/products/utils/pintotaskbar )
* Three shortcuts are preconfigured to be pinned: Control Panel, "old style" Devices and Printers, and Command Prompt
* 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.
## Usage
* 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 < kbd > Enter</ kbd > .
***
How to run the specific function(s) (example):
```powershell
.\Sophia.ps1 -Functions CreateRestorePoint, "ScheduledTasks -Disable", "WindowsCapabilities -Uninstall"
```
* 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
* [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/farag2/SophiApp ) written by [oz-zo ](https://github.com/oz-zo ) being compiled every Saturday within Github Actions for internal purposes only.