Windows 10 Sophia Script: PowerShell functions for Windows 10 fine-tuning and automating routine configuration tasks

Windows 10 Sophia Script is a set of PowerShell functions that help you to fine-tune the configuration of Windows 10. A little over a year ago, I released the 4.0 script version for automating the configuration of Windows 10. Recently, I rewrote the Windows 10 Sophia Script from scratch into a module for one-time use.

There were three main complaints about the previous version:

  1. Nobody wanted to dig into the 3,500 lines of code and comment out/uncomment this or that section so that it would not be run in the future.
  2. If it were necessary to revert changes to the default values, no one could figure out exactly what to do.
  3. It was impossible to translate commands into another language without editing the code. Starting from the 5.1 version, localization files have been moved to separate files, which will facilitate the translation process.
Windows 10 Sophia Script—Packages to uninstall

Windows 10 Sophia Script—Packages to uninstall

Now the script comprises two files: the module itself and the preset file for it, excluding the localization files. The module is divided into about 270 functions, both for making changes and for reverting them.

The preset file lists comments sections for each function (with a detailed description of each), and comments out the line with the functions using the # char so that this function won't be executed, or, conversely, removes the # sign in front of it, so that the function will be executed. Put another way, almost every function has a revert function to return to its default state.

The advantage is that once you have created your script correctly, you can use it repeatedly.

The Windows 10 Sophia Script should ideally be run on new installations.

Supported Windows 10 versions ^

The Windows 10 Sophia Script only supports the current versions of Windows 10: 2004 (20H1) and 2009 (20H2), x64, since they are essentially the same version. Perhaps, a little later, I'll release a version for LTSC (1809), since this version of Windows 10 is quite popular. For now, for other versions, you can use the previous version of the 4.x script.

Core features ^

  • Set up privacy and telemetry.
  • Turn off diagnostics that track scheduled tasks.
  • Set up UI and personalization.
  • Uninstall OneDrive correctly.
  • Interactive prompts.
  • Change the %TEMP% environment variable path to %SystemDrive%\Temp.
  • Change location of the user folders programmatically (without moving user files) within the interactive menu, using the up/down arrows and the Enter key to make selections.
    • Desktop
    • Documents
    • Downloads
    • Music
    • Pictures
    • Videos
  • Uninstall UWP apps from all accounts with the popup form written in WPF. The system packages are excluded from uninstalling.
  • Disable Windows features.
  • Install and set up WSL.
  • Remove Windows capabilities, with the popup form written in WPF.
  • Create a Windows cleanup task in the Task Scheduler
    • A toast notification will pop up a minute before the task starts.
  • Create tasks in the Task Scheduler to clear.
    • %SystemRoot%\SoftwareDistribution\Download
    • %TEMP%
  • Unpin all Start menu tiles.
  • Pin shortcuts to the Start menu using syspin.exe.
    • Three shortcuts are preconfigured to be pinned: Control Panel, old-style Devices and Printers, and the command prompt.
  • Turn on controlled folder access and add protected folders;
  • Exclude folders from Microsoft Defender Antivirus scanning;
  • Exclude files from Microsoft Defender Antivirus scanning;
  • Refresh desktop icons, environment variables, and taskbar without restarting File Explorer.
  • Set up Windows 10 security.
  • Many more File Explorer and context menu tweaks.

A complete list of functions can be found in the preset file.

Screenshots ^

Changing the location of the user folders to any drives root using arrows

Changing the location of the user folders to any drives root using arrows

Disabling certain Feature On Demand v2 FODv2 capabilities

Disabling certain Feature On Demand v2 FODv2 capabilities

Sophia Script video demonstration ^

Windows 10 Sophia Script in Action

Cleaning up unused Windows files and updates in action

Usage ^

  • Download the up-to-date version.
  • Look through the preset file to configure functions that you want to run.
    • Comment out a function with the # char if you don't want it to be run.
    • Uncomment a function by removing the # char if you want it to be run.
  • Set the execution policy to be able to run scripts only in the current PowerShell session.Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
  • Type .\Sophia.psd1
  • Press Enter

The scripts ^