Browse Source

Improve startup checks & updated readmes

pull/671/head
Dmitry Nefedov 6 months ago
parent
commit
bab8772fcd
  1. 8
      README.md
  2. 8
      docs/README_de-de.md
  3. 8
      docs/README_ru-ru.md
  4. 6
      docs/README_uk-ua.md
  5. 6
      src/Sophia_Script_for_Windows_10/Import-TabCompletion.ps1
  6. 2
      src/Sophia_Script_for_Windows_10/Manifest/SophiaScript.psd1
  7. 49
      src/Sophia_Script_for_Windows_10/Module/Sophia.psm1
  8. 53
      src/Sophia_Script_for_Windows_10/Sophia.ps1
  9. 6
      src/Sophia_Script_for_Windows_10_LTSC_2019/Import-TabCompletion.ps1
  10. 2
      src/Sophia_Script_for_Windows_10_LTSC_2019/Manifest/SophiaScript.psd1
  11. 47
      src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1
  12. 50
      src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1
  13. 6
      src/Sophia_Script_for_Windows_10_LTSC_2021/Import-TabCompletion.ps1
  14. 2
      src/Sophia_Script_for_Windows_10_LTSC_2021/Manifest/SophiaScript.psd1
  15. 49
      src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1
  16. 50
      src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1
  17. 6
      src/Sophia_Script_for_Windows_10_PowerShell_7/Import-TabCompletion.ps1
  18. 2
      src/Sophia_Script_for_Windows_10_PowerShell_7/Manifest/SophiaScript.psd1
  19. 49
      src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1
  20. 64
      src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1
  21. 6
      src/Sophia_Script_for_Windows_11/Import-TabCompletion.ps1
  22. 2
      src/Sophia_Script_for_Windows_11/Manifest/SophiaScript.psd1
  23. 47
      src/Sophia_Script_for_Windows_11/Module/Sophia.psm1
  24. 54
      src/Sophia_Script_for_Windows_11/Sophia.ps1
  25. 6
      src/Sophia_Script_for_Windows_11_ARM/Import-TabCompletion.ps1
  26. 2
      src/Sophia_Script_for_Windows_11_ARM/Manifest/SophiaScript.psd1
  27. 51
      src/Sophia_Script_for_Windows_11_ARM/Module/Sophia.psm1
  28. 55
      src/Sophia_Script_for_Windows_11_ARM/Sophia.ps1
  29. 6
      src/Sophia_Script_for_Windows_11_ARM_PowerShell_7/Import-TabCompletion.ps1
  30. 2
      src/Sophia_Script_for_Windows_11_ARM_PowerShell_7/Manifest/SophiaScript.psd1
  31. 51
      src/Sophia_Script_for_Windows_11_ARM_PowerShell_7/Module/Sophia.psm1
  32. 67
      src/Sophia_Script_for_Windows_11_ARM_PowerShell_7/Sophia.ps1
  33. 6
      src/Sophia_Script_for_Windows_11_LTSC_2024/Import-TabCompletion.ps1
  34. 2
      src/Sophia_Script_for_Windows_11_LTSC_2024/Manifest/SophiaScript.psd1
  35. 51
      src/Sophia_Script_for_Windows_11_LTSC_2024/Module/Sophia.psm1
  36. 48
      src/Sophia_Script_for_Windows_11_LTSC_2024/Sophia.ps1
  37. 6
      src/Sophia_Script_for_Windows_11_PowerShell_7/Import-TabCompletion.ps1
  38. 2
      src/Sophia_Script_for_Windows_11_PowerShell_7/Manifest/SophiaScript.psd1
  39. 49
      src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1
  40. 62
      src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1

8
README.md

@ -82,7 +82,7 @@ This page is also available in other languages
* Script generates installed UWP apps list [dynamically](#localized-uwp-packages-names)
* 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://apps.microsoft.com/detail/9N4WGH0Z6VHQ) to be able to open [HEVC](https://en.wikipedia.org/wiki/H.265) format;
* Download and install the [HEVC Video Extensions from Device Manufacturer](https://apps.microsoft.com/detail/9N4WGH0Z6VHQ) to be able to open [HEVC](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding) format;
* Set an app as default one for specific extension without the "How do you want to open this" pop-up using special [function](https://github.com/DanysysTeam/PS-SFTA);
* Export all Windows associations. Associations will be exported as Application_Associations.json file in script root folder;
* Import exported JSON file after a clean installation. You need to install all apps according to exported JSON file to restore all associations;
@ -97,7 +97,7 @@ This page is also available in other languages
* Install the latest provided Microsoft Visual C++ 2015–2022 x86/x64;
* Install the latest provided .NET Desktop Runtime 8, 9;
* Configure the Windows security;
* Display all policy registry keys (even manually created ones) in the Local Group Policy Editor snap-in (gpedit.msc);
* Display applied registry policies in the Local Group Policy Editor snap-in (gpedit.msc);
* Many more File Explorer and context menu "deep" tweaks.
## Table of Contents
@ -268,7 +268,7 @@ Sophia -Functions "DiagTrackService -Enable", UninstallUWPApps
## Donations
[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/farag)⠀⠀⠀<a href="https://boosty.to/teamsophia"><img src="https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/img/boosty.png" width='40'></a>
[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/farag) <a href="https://boosty.to/teamsophia"><img src="https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/img/boosty.png" width='40'></a>
## System Requirements
@ -276,7 +276,7 @@ Sophia -Functions "DiagTrackService -Enable", UninstallUWPApps
[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-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 |
|:-----------------------------------------|:-------------------------------------:|:-------------------:|

8
docs/README_de-de.md

@ -82,7 +82,7 @@ This page is also available in other languages
* Skript generiert Liste der installierten UWP-Apps [dynamisch](#lokalisierte-namen-von-uwp-paketen);
* Deaktivieren Sie Windows-Funktionen, die Paketnamen mit einem in [WPF] geschriebenen Popup-Formular, in lokalisierter Sprache anzeigen (#screenshots);
* Deinstallieren Sie Windows-Funktionen, die Paketnamen mit einem in [WPF] geschriebenen Popup-Formular, in lokalisierter Sprache anzeigen (#screenshots);
* Laden Sie die [HEVC Video Extensions from Device Manufacturer](https://apps.microsoft.com/detail/9N4WGH0Z6VHQ) herunter und installieren Sie sie, um das Format [HEVC] (<https://en.wikipedia.org/wiki/H.265>) öffnen zu können;
* Laden Sie die [HEVC Video Extensions from Device Manufacturer](https://apps.microsoft.com/detail/9N4WGH0Z6VHQ) herunter und installieren Sie sie, um das Format [HEVC](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding) öffnen zu können;
* Registrieren Sie Anwendung, berechnen Sie den Hash und legen Sie ihn als Standard für eine bestimmte Erweiterung fest, ohne das Popup-Fenster "Wie möchten Sie dies öffnen?" sehen zu müssen. All das mit einer speziellen [Funktion] (<https://github.com/DanysysTeam/PS-SFTA>);
* Exportieren Sie alle Windows-Verknüpfungen in die Datei Application_Associations.json in den Skriptstammordner;
* Importieren Sie alle Windows-Zuordnungen aus einer JSON-Datei. Sie müssen alle Anwendungen gemäß einer exportierten JSON-Datei installieren, um alle Zuordnungen wiederherzustellen;
@ -94,7 +94,7 @@ This page is also available in other languages
* Installieren Sie die neueste bereitgestellte Version von Microsoft Visual C++ 2015–2022 x86/x64;
* Installieren Sie die neueste bereitgestellte Version von .NET Desktop Runtime 8, 9;
* Konfigurieren Sie die Windows-Sicherheit;
* Zeigen Sie alle Richtlinien-Registrierungsschlüssel (auch manuell erstellte) im Snap-In Lokaler Gruppenrichtlinien-Editor (gpedit.msc) an;
* Zeigen Sie die angewendeten Registrierungsrichtlinien im Snap-Ins Editor für lokale Gruppenrichtlinien (gpedit.msc) an;
* Viele weitere "tiefe" Optimierungen des Datei-Explorers und des Kontextmenüs.
## Table of Contents
@ -266,7 +266,7 @@ Sophia -Functions "DiagTrackService -Enable", UninstallUWPApps
## Spenden
[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/farag)⠀⠀⠀<a href="https://boosty.to/teamsophia"><img src="https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/img/boosty.png" width='40'></a>
[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/farag) <a href="https://boosty.to/teamsophia"><img src="https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/img/boosty.png" width='40'></a>
## System-Voraussetzungen
@ -274,7 +274,7 @@ Sophia -Functions "DiagTrackService -Enable", UninstallUWPApps
[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-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 |
|:-----------------------------------------|:-------------------------------------:|:-------------------:|

8
docs/README_ru-ru.md

@ -82,7 +82,7 @@ This page is also available in other languages
* Скрипт генерирует список установленных UWP-приложений [динамически](#локализированные-имена-пакетов)
* Отключить компоненты Windows, отображая локализированные пакеты с помощью всплывающего окошка, написанного на [WPF](#скриншоты);
* Удалить дополнительные компоненты Windows, отображая локализированные пакеты с помощью всплывающего окошка, написанного на [WPF](#скриншоты);
* Скачать и установить [Расширения для видео HEVC от производителя](https://apps.microsoft.com/detail/9N4WGH0Z6VHQ), чтобы иметь поддержку формата [HEVC](https://en.wikipedia.org/wiki/H.265);
* Скачать и установить [Расширения для видео HEVC от производителя](https://apps.microsoft.com/detail/9N4WGH0Z6VHQ), чтобы иметь поддержку формата [HEVC](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding);
* Установить приложение по умолчанию для конкретного расширения без всплывающего окошка "Каким образом вы хотите открыть этот файл?", используя специльную [функцию](https://github.com/DanysysTeam/PS-SFTA);
* Экспортировать все ассоциации в Windows. Ассоциации будут экспортированы в файл `Application_Associations.json` в корне папки скрипта;
* Импортировать выгруженный `Application_Associations.json` после чистой установки. Вам необходимо установить все приложения из списка выгруженного `Application_Associations.json`, чтобы восстановить ассоциации;
@ -94,7 +94,7 @@ This page is also available in other languages
* Установить последней версии распространяемых пакетов Microsoft Visual C++ 2015–2022 x86/x64;
* Установить последней версии распространяемых пакетов .NET Desktop Runtime 8, 9 x64;
* Настроить безопасность Windows;
* Отобразить все ключи политик реестра в оснастке редактирования групповых политик (gpedit.msc);
* Отобразить примененные политики реестра в оснастке редактирования групповых политик (gpedit.msc);
* Много других твиков проводника и контекстного меню.
## Содержание
@ -265,7 +265,7 @@ Sophia -Functions "DiagTrackService -Enable", UninstallUWPApps
## Пожертвования
[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/farag)⠀⠀⠀<a href="https://boosty.to/teamsophia"><img src="https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/img/boosty.png" width='40'></a>
[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/farag) <a href="https://boosty.to/teamsophia"><img src="https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/img/boosty.png" width='40'></a>
## Системные требования
@ -273,7 +273,7 @@ Sophia -Functions "DiagTrackService -Enable", UninstallUWPApps
[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-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
| Версия | Билд | Издание |
|:-----------------------------------------|:-------------------------------------:|:-------------------:|

6
docs/README_uk-ua.md

@ -82,7 +82,7 @@ This page is also available in other languages
* Скрипт генерує список встановлених UWP-додатків [динамічно](#локалізовані-назви-uwp-пакетів).
* Вимкнення функцій Windows для відображення дружніх назв пакетів у спливаючій формі, написаній на [WPF](#скріншоти);
* Видалення можливостей Windows відображати дружні назви пакетів у спливаючій формі, написаній на [WPF](#скріншоти);
* Завантаження та встановлення [HEVC Video Extensions від виробника пристрою](https://apps.microsoft.com/detail/9N4WGH0Z6VHQ) для відкриття формата [HEVC](https://uk.wikipedia.org/wiki/H.265);
* Завантаження та встановлення [HEVC Video Extensions від виробника пристрою](https://apps.microsoft.com/detail/9N4WGH0Z6VHQ) для відкриття формата [HEVC](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding);
* Реєстрація програми, розрахунок хешу та встановлення за замовчуванням для певного розширення без спливаючого вікна "Як ви хочете відкрити це" за допомогою спеціальної [функції](https://github.com/DanysysTeam/PS-SFTA);
* Експортувати всі асоціації в Windows у корінь папки у вигляді файлу Application_Associations.json;
Імпортувати всі асоціації в Windows з файлу Application_Associations.json. Вам необхідно встановити всі програми згідно з експортованим файлом Application_Associations.json, щоб відновити всі асоціації;
@ -94,7 +94,7 @@ This page is also available in other languages
* Встановити останню версію розповсюджуваних пакетів Microsoft Visual C++ 2015–2022 x86/x64;
* Встановити останню версію розповсюджуваних пакетів .NET Desktop Runtime 8, 9 x64;
* Налаштування безпеки Windows;
* Відобразити всі ключі політик реєстру в оснащенні редагування групових політик (gpedit.msc).
* Відобразити застосовані політики реєстру в оснащенні редагування групових політик. (gpedit.msc).
* Ще багато "глибоких" налаштувань Файлового Провідника та контекстного меню.
## Зміст
@ -274,7 +274,7 @@ Sophia -Functions "DiagTrackService -Enable", UninstallUWPApps
[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-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
| Версія | Збіркa | Видання |
|:-----------------------------------------|:-------------------------------------:|:-------------------:|

6
src/Sophia_Script_for_Windows_10/Import-TabCompletion.ps1

@ -2,8 +2,8 @@
.SYNOPSIS
Enable tab completion to invoke for functions if you do not know function name
Version: 5.21.1
Date: 01.09.2025
Version: 5.21.2
Date: 19.10.2025
Copyright (c) 20142025 Team Sophia
@ -49,7 +49,7 @@ function Sophia
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.21.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.21.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force

2
src/Sophia_Script_for_Windows_10/Manifest/SophiaScript.psd1

@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '5.21.1'
ModuleVersion = '5.21.2'
GUID = '109cc881-c42b-45af-a74a-550781989d6a'
Author = 'Team Sophia'
Copyright = '(c) 2014—2025 Team Sophia. All rights reserved'

49
src/Sophia_Script_for_Windows_10/Module/Sophia.psm1

@ -3,31 +3,25 @@
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
.VERSION
5.21.1
5.21.2
.DATE
01.09.2025
.AUTHOR
Team Sophia
19.10.2025
.COPYRIGHT
(c) 20142025
.THANKS
Thanks to all https://forum.ru-board.com members involved
(c) 20142025 Team Sophia
.NOTES
Supports Windows 10 22H2 x64 Home/Pro/Enterprise
.LINK
.LINK GitHub
https://github.com/farag2/Sophia-Script-for-Windows
.LINK
.LINK Telegram
https://t.me/sophianews
https://t.me/sophia_chat
.LINK
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
@ -58,9 +52,6 @@ function InitialActions
Set-StrictMode -Version Latest
# Сlear the $Error variable
$Global:Error.Clear()
# Unblock all files in the script folder by removing the Zone.Identifier alternate data stream with a value of "3"
Get-ChildItem -Path $PSScriptRoot\..\ -File -Recurse -Force | Unblock-File
@ -269,20 +260,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
}
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
exit
}
# Check the language mode
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage")
{
@ -290,7 +267,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
Write-Warning -Message $Localization.UnsupportedLanguageMode
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -966,10 +943,6 @@ public extern static string BrandingFormatString(string sFormat);
# Windows 10 Pro
$Windows_Long = [WinAPI.Winbrand]::BrandingFormatString("%WINDOWS_LONG%")
$Windows_Long_First_Item = $Windows_Long.split(" ")[0]
$Windows_Long_Second_Item = $Windows_Long.split(" ")[1]
# Windows 10
$Windows_Long = ($Windows_Long_First_Item, $Windows_Long_Second_Item) -join " "
# e.g. 24H2
$DisplayVersion = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name DisplayVersion
@ -6887,7 +6860,7 @@ function Set-UserShellFolderLocation
Set-UserShellFolder -UserFolder Desktop -FolderPath "$env:SystemDrive:\Desktop"
.LINK
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
.NOTES
User files or folders won't be moved to a new location
@ -7739,7 +7712,7 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int
Use .NET Framework 4.8.1 for old apps
.PARAMETER Disable
Do not Use .NET Framework 4.8.1 for old apps
Do not use .NET Framework 4.8.1 for old apps
.EXAMPLE
LatestInstalled.NET -Enable
@ -9914,7 +9887,7 @@ function UninstallPCHealthCheck
Install-VCRedist -Redistributables 2015_2022_x86, 2015_2022_x64
.LINK
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
.NOTES
Machine-wide
@ -13875,7 +13848,7 @@ function WindowsSandbox
The valid IPv4 addresses: 1.0.0.1, 1.1.1.1, 149.112.112.112, 8.8.4.4, 8.8.8.8, 9.9.9.9
.LINK
https://docs.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
https://learn.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
.LINK
https://www.comss.ru/page.php?id=7315

53
src/Sophia_Script_for_Windows_10/Sophia.ps1

@ -3,17 +3,14 @@
Default preset file for "Sophia Script for Windows 10"
.VERSION
5.21.1
5.21.2
.DATE
01.09.2025
19.10.2025
.COPYRIGHT
(c) 20142025 Team Sophia
.THANKS
Thanks to all https://forum.ru-board.com members involved
.DESCRIPTION
Place the "#" char before function if you don't want to run it
Remove the "#" char before function if you want to run it
@ -32,10 +29,7 @@
iwr sl.sophia.team -useb | iex
.NOTES
Supported Windows 10 versions
Version: 22H2
Editions: Home/Pro/Enterprise
Architecture: x64
Supports Windows 10 22H2 x64 Home/Pro/Enterprise
.NOTES
To use Enable tab completion to invoke for functions if you do not know function name dot source the Import-TabCompletion.ps1 script first:
@ -52,6 +46,10 @@
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
https://ko-fi.com/farag
https://boosty.to/teamsophia
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/companies/skillfactory/articles/553800/
@ -76,11 +74,12 @@ param
)
Clear-Host
$Global:Error.Clear()
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.21.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.21.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
# Checking whether all files were expanded before running
$ScriptFiles = @(
$ScriptFiles = [Array]::TrueForAll(@(
"$PSScriptRoot\Localizations\de-DE\Sophia.psd1",
"$PSScriptRoot\Localizations\en-US\Sophia.psd1",
"$PSScriptRoot\Localizations\es-ES\Sophia.psd1",
@ -94,9 +93,15 @@ $ScriptFiles = @(
"$PSScriptRoot\Localizations\uk-UA\Sophia.psd1",
"$PSScriptRoot\Localizations\zh-CN\Sophia.psd1",
"$PSScriptRoot\Module\Sophia.psm1",
"$PSScriptRoot\Manifest\SophiaScript.psd1"
)
if (($ScriptFiles | Test-Path) -contains $false)
"$PSScriptRoot\Manifest\SophiaScript.psd1",
"$PSScriptRoot\Import-TabCompletion.ps1"
),
[Predicate[string]]{
param($File)
Test-Path -Path $File
})
if (-not $ScriptFiles)
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message "There are no files in the script folder. Please, re-download the archive and follow the guide: https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-use."
@ -109,6 +114,7 @@ if (($ScriptFiles | Test-Path) -contains $false)
}
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
try
{
Import-LocalizedData -BindingVariable Global:Localization -UICulture $PSUICulture -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia -ErrorAction Stop
@ -118,14 +124,13 @@ catch
Import-LocalizedData -BindingVariable Global:Localization -UICulture en-US -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia
}
# Checking whether script is the correct PowerShell version
try
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
}
catch [System.InvalidOperationException]
{
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -133,9 +138,11 @@ catch [System.InvalidOperationException]
exit
}
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Preset configuration starts here
# Отсюда начинается настройка пресета
# Настройка пресет-файла начинается здесь
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
<#
@ -833,7 +840,7 @@ Set-UserShellFolderLocation -Root
# Использовать .NET Framework 4.8.1 для устаревших программ
# LatestInstalled.NET -Enable
# Do not Use .NET Framework 4.8.1 for old apps (default value)
# Do not use .NET Framework 4.8.1 for old apps (default value)
# Не использовать .NET Framework 4.8.1 для устаревших программ (значение по умолчанию)
# LatestInstalled.NET -Disable

6
src/Sophia_Script_for_Windows_10_LTSC_2019/Import-TabCompletion.ps1

@ -2,8 +2,8 @@
.SYNOPSIS
Enable tab completion to invoke for functions if you do not know function name
Version: 5.11.1
Date: 01.09.2025
Version: 5.11.2
Date: 19.10.2025
Copyright (c) 20142025 Team Sophia
@ -49,7 +49,7 @@ function Sophia
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.11.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.11.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows 10 | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force

2
src/Sophia_Script_for_Windows_10_LTSC_2019/Manifest/SophiaScript.psd1

@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '5.11.1'
ModuleVersion = '5.11.2'
GUID = 'a36a65ca-70f9-43df-856c-3048fc5e7f01'
Author = 'Team Sophia'
Copyright = '(c) 2014—2025 Team Sophia. All rights reserved'

47
src/Sophia_Script_for_Windows_10_LTSC_2019/Module/Sophia.psm1

@ -3,31 +3,25 @@
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
.VERSION
5.11.1
5.11.2
.DATE
01.09.2025
.AUTHOR
Team Sophia
19.10.2025
.COPYRIGHT
(c) 20142025
.THANKS
Thanks to all https://forum.ru-board.com members involved
(c) 20142025 Team Sophia
.NOTES
Supports Windows 10 x64 Enterprise LTSC 2019
.LINK
.LINK GitHub
https://github.com/farag2/Sophia-Script-for-Windows
.LINK
.LINK Telegram
https://t.me/sophianews
https://t.me/sophia_chat
.LINK
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
@ -58,9 +52,6 @@ function InitialActions
Set-StrictMode -Version Latest
# Сlear the $Error variable
$Global:Error.Clear()
# Unblock all files in the script folder by removing the Zone.Identifier alternate data stream with a value of "3"
Get-ChildItem -Path $PSScriptRoot\..\ -File -Recurse -Force | Unblock-File
@ -269,20 +260,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
}
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
exit
}
# Check the language mode
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage")
{
@ -290,7 +267,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
Write-Warning -Message $Localization.UnsupportedLanguageMode
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -928,10 +905,6 @@ public extern static string BrandingFormatString(string sFormat);
# Windows 10 Pro
$Windows_Long = [WinAPI.Winbrand]::BrandingFormatString("%WINDOWS_LONG%")
$Windows_Long_First_Item = $Windows_Long.split(" ")[0]
$Windows_Long_Second_Item = $Windows_Long.split(" ")[1]
# Windows 10
$Windows_Long = ($Windows_Long_First_Item, $Windows_Long_Second_Item) -join " "
# e.g. 24H2
$DisplayVersion = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name DisplayVersion
@ -5645,7 +5618,7 @@ function Set-UserShellFolderLocation
Set-UserShellFolder -UserFolder Desktop -FolderPath "$env:SystemDrive:\Desktop"
.LINK
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
.NOTES
User files or folders won't be moved to a new location
@ -6497,7 +6470,7 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int
Use .NET Framework 4.8.1 for old apps
.PARAMETER Disable
Do not Use .NET Framework 4.8.1 for old apps
Do not use .NET Framework 4.8.1 for old apps
.EXAMPLE
LatestInstalled.NET -Enable
@ -8323,7 +8296,7 @@ function Import-Associations
Install-VCRedist -Redistributables 2015_2022_x86, 2015_2022_x64
.LINK
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
.NOTES
Machine-wide

50
src/Sophia_Script_for_Windows_10_LTSC_2019/Sophia.ps1

@ -3,17 +3,14 @@
Default preset file for "Sophia Script for Windows 10 LTSC 2019"
.VERSION
5.11.1
5.11.2
.DATE
01.09.2025
19.10.2025
.COPYRIGHT
(c) 20142025 Team Sophia
.THANKS
Thanks to all https://forum.ru-board.com members involved
.DESCRIPTION
Place the "#" char before function if you don't want to run it
Remove the "#" char before function if you want to run it
@ -32,8 +29,7 @@
iwr sl.sophia.team -useb | iex
.NOTES
Supports Windows 10 Enterprise LTSC 2019
Architecture: x64
Supports Windows 10 x64 Enterprise LTSC 2019
.NOTES
To use Enable tab completion to invoke for functions if you do not know function name dot source the Import-TabCompletion.ps1 script first:
@ -50,6 +46,10 @@
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
https://ko-fi.com/farag
https://boosty.to/teamsophia
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/companies/skillfactory/articles/553800/
@ -74,11 +74,12 @@ param
)
Clear-Host
$Global:Error.Clear()
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.11.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2019 v5.11.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
# Checking whether all files were expanded before running
$ScriptFiles = @(
$ScriptFiles = [Array]::TrueForAll(@(
"$PSScriptRoot\Localizations\de-DE\Sophia.psd1",
"$PSScriptRoot\Localizations\en-US\Sophia.psd1",
"$PSScriptRoot\Localizations\es-ES\Sophia.psd1",
@ -92,9 +93,15 @@ $ScriptFiles = @(
"$PSScriptRoot\Localizations\uk-UA\Sophia.psd1",
"$PSScriptRoot\Localizations\zh-CN\Sophia.psd1",
"$PSScriptRoot\Module\Sophia.psm1",
"$PSScriptRoot\Manifest\SophiaScript.psd1"
)
if (($ScriptFiles | Test-Path) -contains $false)
"$PSScriptRoot\Manifest\SophiaScript.psd1",
"$PSScriptRoot\Import-TabCompletion.ps1"
),
[Predicate[string]]{
param($File)
Test-Path -Path $File
})
if (-not $ScriptFiles)
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message "There are no files in the script folder. Please, re-download the archive and follow the guide: https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-use."
@ -116,14 +123,13 @@ catch
Import-LocalizedData -BindingVariable Global:Localization -UICulture en-US -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia
}
# Checking whether script is the correct PowerShell version
try
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
}
catch [System.InvalidOperationException]
{
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -131,9 +137,11 @@ catch [System.InvalidOperationException]
exit
}
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Preset configuration starts here
# Отсюда начинается настройка пресета
# Настройка пресет-файла начинается здесь
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
<#
@ -679,7 +687,7 @@ Set-UserShellFolderLocation -Root
# Использовать .NET Framework 4.8.1 для устаревших программ
# LatestInstalled.NET -Enable
# Do not Use .NET Framework 4.8.1 for old apps (default value)
# Do not use .NET Framework 4.8.1 for old apps (default value)
# Не использовать .NET Framework 4.8.1 для устаревших программ (значение по умолчанию)
# LatestInstalled.NET -Disable

6
src/Sophia_Script_for_Windows_10_LTSC_2021/Import-TabCompletion.ps1

@ -2,8 +2,8 @@
.SYNOPSIS
Enable tab completion to invoke for functions if you do not know function name
Version: 5.21.1
Date: 01.09.2025
Version: 5.21.2
Date: 19.10.2025
Copyright (c) 20142025 Team Sophia
@ -49,7 +49,7 @@ function Sophia
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.21.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.21.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force

2
src/Sophia_Script_for_Windows_10_LTSC_2021/Manifest/SophiaScript.psd1

@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '5.21.1'
ModuleVersion = '5.21.2'
GUID = '109cc881-c42b-45af-a74a-550781989d6a'
Author = 'Team Sophia'
Copyright = '(c) 2014—2025 Team Sophia. All rights reserved'

49
src/Sophia_Script_for_Windows_10_LTSC_2021/Module/Sophia.psm1

@ -3,31 +3,25 @@
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
.VERSION
5.21.1
5.21.2
.DATE
01.09.2025
.AUTHOR
Team Sophia
19.10.2025
.COPYRIGHT
(c) 20142025
.THANKS
Thanks to all https://forum.ru-board.com members involved
(c) 20142025 Team Sophia
.NOTES
Supports Windows 10 x64 Enterprise LTSC 2021
.LINK
.LINK GitHub
https://github.com/farag2/Sophia-Script-for-Windows
.LINK
.LINK Telegram
https://t.me/sophianews
https://t.me/sophia_chat
.LINK
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
@ -58,9 +52,6 @@ function InitialActions
Set-StrictMode -Version Latest
# Сlear the $Error variable
$Global:Error.Clear()
# Unblock all files in the script folder by removing the Zone.Identifier alternate data stream with a value of "3"
Get-ChildItem -Path $PSScriptRoot\..\ -File -Recurse -Force | Unblock-File
@ -269,20 +260,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
}
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
exit
}
# Check the language mode
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage")
{
@ -290,7 +267,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
Write-Warning -Message $Localization.UnsupportedLanguageMode
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -928,10 +905,6 @@ public extern static string BrandingFormatString(string sFormat);
# Windows 10 Pro
$Windows_Long = [WinAPI.Winbrand]::BrandingFormatString("%WINDOWS_LONG%")
$Windows_Long_First_Item = $Windows_Long.split(" ")[0]
$Windows_Long_Second_Item = $Windows_Long.split(" ")[1]
# Windows 10
$Windows_Long = ($Windows_Long_First_Item, $Windows_Long_Second_Item) -join " "
# e.g. 24H2
$DisplayVersion = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name DisplayVersion
@ -6041,7 +6014,7 @@ function Set-UserShellFolderLocation
Set-UserShellFolder -UserFolder Desktop -FolderPath "$env:SystemDrive:\Desktop"
.LINK
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
.NOTES
User files or folders won't be moved to a new location
@ -6893,7 +6866,7 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int
Use .NET Framework 4.8.1 for old apps
.PARAMETER Disable
Do not Use .NET Framework 4.8.1 for old apps
Do not use .NET Framework 4.8.1 for old apps
.EXAMPLE
LatestInstalled.NET -Enable
@ -8960,7 +8933,7 @@ function Import-Associations
Install-VCRedist -Redistributables 2015_2022_x86, 2015_2022_x64
.LINK
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
.NOTES
Machine-wide
@ -11997,7 +11970,7 @@ function WindowsSandbox
The valid IPv4 addresses: 1.0.0.1, 1.1.1.1, 149.112.112.112, 8.8.4.4, 8.8.8.8, 9.9.9.9
.LINK
https://docs.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
https://learn.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
.LINK
https://www.comss.ru/page.php?id=7315

50
src/Sophia_Script_for_Windows_10_LTSC_2021/Sophia.ps1

@ -3,17 +3,14 @@
Default preset file for "Sophia Script for Windows 10 LTSC 2021"
.VERSION
5.21.1
5.21.2
.DATE
01.09.2025
19.10.2025
.COPYRIGHT
(c) 20142025 Team Sophia
.THANKS
Thanks to all https://forum.ru-board.com members involved
.DESCRIPTION
Place the "#" char before function if you don't want to run it
Remove the "#" char before function if you want to run it
@ -32,8 +29,7 @@
iwr sl.sophia.team -useb | iex
.NOTES
Supports Windows 10 Enterprise LTSC 2021
Architecture: x64
Supports Windows 10 x64 Enterprise LTSC 2021
.NOTES
To use Enable tab completion to invoke for functions if you do not know function name dot source the Import-TabCompletion.ps1 script first:
@ -50,6 +46,10 @@
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
https://ko-fi.com/farag
https://boosty.to/teamsophia
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/companies/skillfactory/articles/553800/
@ -74,11 +74,12 @@ param
)
Clear-Host
$Global:Error.Clear()
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.21.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 LTSC 2021 v5.21.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
# Checking whether all files were expanded before running
$ScriptFiles = @(
$ScriptFiles = [Array]::TrueForAll(@(
"$PSScriptRoot\Localizations\de-DE\Sophia.psd1",
"$PSScriptRoot\Localizations\en-US\Sophia.psd1",
"$PSScriptRoot\Localizations\es-ES\Sophia.psd1",
@ -92,9 +93,15 @@ $ScriptFiles = @(
"$PSScriptRoot\Localizations\uk-UA\Sophia.psd1",
"$PSScriptRoot\Localizations\zh-CN\Sophia.psd1",
"$PSScriptRoot\Module\Sophia.psm1",
"$PSScriptRoot\Manifest\SophiaScript.psd1"
)
if (($ScriptFiles | Test-Path) -contains $false)
"$PSScriptRoot\Manifest\SophiaScript.psd1",
"$PSScriptRoot\Import-TabCompletion.ps1"
),
[Predicate[string]]{
param($File)
Test-Path -Path $File
})
if (-not $ScriptFiles)
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message "There are no files in the script folder. Please, re-download the archive and follow the guide: https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-use."
@ -116,14 +123,13 @@ catch
Import-LocalizedData -BindingVariable Global:Localization -UICulture en-US -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia
}
# Checking whether script is the correct PowerShell version
try
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
}
catch [System.InvalidOperationException]
{
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -131,9 +137,11 @@ catch [System.InvalidOperationException]
exit
}
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Preset configuration starts here
# Отсюда начинается настройка пресета
# Настройка пресет-файла начинается здесь
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
<#
@ -744,7 +752,7 @@ Set-UserShellFolderLocation -Root
# Использовать .NET Framework 4.8.1 для устаревших программ
# LatestInstalled.NET -Enable
# Do not Use .NET Framework 4.8.1 for old apps (default value)
# Do not use .NET Framework 4.8.1 for old apps (default value)
# Не использовать .NET Framework 4.8.1 для устаревших программ (значение по умолчанию)
# LatestInstalled.NET -Disable

6
src/Sophia_Script_for_Windows_10_PowerShell_7/Import-TabCompletion.ps1

@ -2,8 +2,8 @@
.SYNOPSIS
Enable tab completion to invoke for functions if you do not know function name
Version: 5.21.1
Date: 01.09.2025
Version: 5.21.2
Date: 19.10.2025
Copyright (c) 20142025 Team Sophia
@ -49,7 +49,7 @@ function Sophia
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.21.1 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.21.2 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force

2
src/Sophia_Script_for_Windows_10_PowerShell_7/Manifest/SophiaScript.psd1

@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '5.21.1'
ModuleVersion = '5.21.2'
GUID = 'aa0b47a7-1770-4b5d-8c9f-cc6c505bcc7a'
Author = 'Team Sophia'
Copyright = '(c) 2014—2025 Team Sophia. All rights reserved'

49
src/Sophia_Script_for_Windows_10_PowerShell_7/Module/Sophia.psm1

@ -3,31 +3,25 @@
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
.VERSION
5.21.1
5.21.2
.DATE
01.09.2025
.AUTHOR
Team Sophia
19.10.2025
.COPYRIGHT
(c) 20142025
.THANKS
Thanks to all https://forum.ru-board.com members involved
(c) 20142025 Team Sophia
.NOTES
Supports Windows 10 22H2 x64 Home/Pro/Enterprise
.LINK
.LINK GitHub
https://github.com/farag2/Sophia-Script-for-Windows
.LINK
.LINK Telegram
https://t.me/sophianews
https://t.me/sophia_chat
.LINK
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
@ -58,9 +52,6 @@ function InitialActions
Set-StrictMode -Version Latest
# Сlear the $Error variable
$Global:Error.Clear()
# Unblock all files in the script folder by removing the Zone.Identifier alternate data stream with a value of "3"
Get-ChildItem -Path $PSScriptRoot\..\ -File -Recurse -Force | Unblock-File
@ -282,20 +273,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
}
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
exit
}
# Check the language mode
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage")
{
@ -303,7 +280,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
Write-Warning -Message $Localization.UnsupportedLanguageMode
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -1003,10 +980,6 @@ public extern static string BrandingFormatString(string sFormat);
# Windows 10 Pro
$Windows_Long = [WinAPI.Winbrand]::BrandingFormatString("%WINDOWS_LONG%")
$Windows_Long_First_Item = $Windows_Long.split(" ")[0]
$Windows_Long_Second_Item = $Windows_Long.split(" ")[1]
# Windows 10
$Windows_Long = ($Windows_Long_First_Item, $Windows_Long_Second_Item) -join " "
# e.g. 24H2
$DisplayVersion = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name DisplayVersion
@ -6926,7 +6899,7 @@ function Set-UserShellFolderLocation
Set-UserShellFolder -UserFolder Desktop -FolderPath "$env:SystemDrive:\Desktop"
.LINK
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
.NOTES
User files or folders won't be moved to a new location
@ -7778,7 +7751,7 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int
Use .NET Framework 4.8.1 for old apps
.PARAMETER Disable
Do not Use .NET Framework 4.8.1 for old apps
Do not use .NET Framework 4.8.1 for old apps
.EXAMPLE
LatestInstalled.NET -Enable
@ -9953,7 +9926,7 @@ function UninstallPCHealthCheck
Install-VCRedist -Redistributables 2015_2022_x86, 2015_2022_x64
.LINK
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
.NOTES
Machine-wide
@ -13924,7 +13897,7 @@ function WindowsSandbox
The valid IPv4 addresses: 1.0.0.1, 1.1.1.1, 149.112.112.112, 8.8.4.4, 8.8.8.8, 9.9.9.9
.LINK
https://docs.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
https://learn.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
.LINK
https://www.comss.ru/page.php?id=7315

64
src/Sophia_Script_for_Windows_10_PowerShell_7/Sophia.ps1

@ -3,17 +3,14 @@
Default preset file for "Sophia Script for Windows 10 (PowerShell 7)"
.VERSION
5.21.1
5.21.2
.DATE
01.09.2025
19.10.2025
.COPYRIGHT
(c) 20142025 Team Sophia
.THANKS
Thanks to all https://forum.ru-board.com members involved
.DESCRIPTION
Place the "#" char before function if you don't want to run it
Remove the "#" char before function if you want to run it
@ -32,10 +29,7 @@
iwr sl.sophia.team -useb | iex
.NOTES
Supported Windows 10 versions
Version: 22H2
Editions: Home/Pro/Enterprise
Architecture: x64
Supports Windows 10 22H2 x64 Home/Pro/Enterprise
.NOTES
To use Enable tab completion to invoke for functions if you do not know function name dot source the Import-TabCompletion.ps1 script first:
@ -52,6 +46,10 @@
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
https://ko-fi.com/farag
https://boosty.to/teamsophia
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/companies/skillfactory/articles/553800/
@ -76,11 +74,12 @@ param
)
Clear-Host
$Global:Error.Clear()
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.21.1 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 10 v5.21.2 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
# Checking whether all files were expanded before running
$ScriptFiles = @(
$ScriptFiles = [Array]::TrueForAll(@(
"$PSScriptRoot\Localizations\de-DE\Sophia.psd1",
"$PSScriptRoot\Localizations\en-US\Sophia.psd1",
"$PSScriptRoot\Localizations\es-ES\Sophia.psd1",
@ -94,9 +93,15 @@ $ScriptFiles = @(
"$PSScriptRoot\Localizations\uk-UA\Sophia.psd1",
"$PSScriptRoot\Localizations\zh-CN\Sophia.psd1",
"$PSScriptRoot\Module\Sophia.psm1",
"$PSScriptRoot\Manifest\SophiaScript.psd1"
)
if (($ScriptFiles | Test-Path) -contains $false)
"$PSScriptRoot\Manifest\SophiaScript.psd1",
"$PSScriptRoot\Import-TabCompletion.ps1"
),
[Predicate[string]]{
param($File)
Test-Path -Path $File
})
if (-not $ScriptFiles)
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message "There are no files in the script folder. Please, re-download the archive and follow the guide: https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-use."
@ -108,28 +113,19 @@ if (($ScriptFiles | Test-Path) -contains $false)
exit
}
# Unload Sophia script
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
# PowerShell 7 doesn't load en-us localization automatically if there is no localization folder in user's language which is determined by $PSUICulture
# https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/import-localizeddata?view=powershell-7.3
# https://github.com/PowerShell/PowerShell/pull/19896
try
{
# Import localization files
Import-LocalizedData -BindingVariable Global:Localization -UICulture $PSUICulture -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia -ErrorAction Stop
}
catch
{
Import-LocalizedData -BindingVariable Global:Localization -UICulture en-US -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia
}
# Checking whether script is the correct PowerShell version
try
{
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
}
catch [System.InvalidOperationException]
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -137,9 +133,11 @@ catch [System.InvalidOperationException]
exit
}
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Preset configuration starts here
# Отсюда начинается настройка пресета
# Настройка пресет-файла начинается здесь
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
<#
@ -837,7 +835,7 @@ Set-UserShellFolderLocation -Root
# Использовать .NET Framework 4.8.1 для устаревших программ
# LatestInstalled.NET -Enable
# Do not Use .NET Framework 4.8.1 for old apps (default value)
# Do not use .NET Framework 4.8.1 for old apps (default value)
# Не использовать .NET Framework 4.8.1 для устаревших программ (значение по умолчанию)
# LatestInstalled.NET -Disable

6
src/Sophia_Script_for_Windows_11/Import-TabCompletion.ps1

@ -2,8 +2,8 @@
.SYNOPSIS
Enable tab completion to invoke for functions if you do not know function name
Version: 6.9.1
Date: 01.09.2025
Version: 6.9.2
Date: 19.10.2025
Copyright (c) 20142025 Team Sophia
@ -49,7 +49,7 @@ function Sophia
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force

2
src/Sophia_Script_for_Windows_11/Manifest/SophiaScript.psd1

@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '6.9.1'
ModuleVersion = '6.9.2'
GUID = '109cc881-c42b-45af-a74a-550781989d6a'
Author = 'Team Sophia'
Copyright = '(c) 2014—2025 Team Sophia. All rights reserved'

47
src/Sophia_Script_for_Windows_11/Module/Sophia.psm1

@ -3,31 +3,25 @@
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
.AUTHOR
Team Sophia
19.10.2025
.COPYRIGHT
(c) 20142025
.THANKS
Thanks to all https://forum.ru-board.com members involved
(c) 20142025 Team Sophia
.NOTES
Supports Windows 11 24H2+ Home/Pro/Enterprise
.LINK
.LINK GitHub
https://github.com/farag2/Sophia-Script-for-Windows
.LINK
.LINK Telegram
https://t.me/sophianews
https://t.me/sophia_chat
.LINK
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
@ -58,9 +52,6 @@ function InitialActions
Set-StrictMode -Version Latest
# Сlear the $Error variable
$Global:Error.Clear()
# Unblock all files in the script folder by removing the Zone.Identifier alternate data stream with a value of "3"
Get-ChildItem -Path $PSScriptRoot\..\ -File -Recurse -Force | Unblock-File
@ -256,20 +247,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
}
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
exit
}
# Check the language mode
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage")
{
@ -277,7 +254,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
Write-Warning -Message $Localization.UnsupportedLanguageMode
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -941,10 +918,6 @@ public extern static string BrandingFormatString(string sFormat);
# Windows 11 Pro
$Windows_Long = [WinAPI.Winbrand]::BrandingFormatString("%WINDOWS_LONG%")
$Windows_Long_First_Item = $Windows_Long.split(" ")[0]
$Windows_Long_Second_Item = $Windows_Long.split(" ")[1]
# Windows 11
$Windows_Long = ($Windows_Long_First_Item, $Windows_Long_Second_Item) -join " "
# e.g. 24H2
$DisplayVersion = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name DisplayVersion
@ -6742,7 +6715,7 @@ function Set-UserShellFolderLocation
Set-UserShellFolder -UserFolder Desktop -FolderPath "$env:SystemDrive:\Desktop"
.LINK
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
.NOTES
User files or folders won't be moved to a new location
@ -9571,7 +9544,7 @@ function DefaultTerminalApp
Install-VCRedist -Redistributables 2015_2022_x86, 2015_2022_x64
.LINK
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
.NOTES
Machine-wide
@ -13007,7 +12980,7 @@ function WindowsSandbox
The valid IPv4 addresses: 1.0.0.1, 1.1.1.1, 149.112.112.112, 8.8.4.4, 8.8.8.8, 9.9.9.9
.LINK
https://docs.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
https://learn.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
.LINK
https://www.comss.ru/page.php?id=7315

54
src/Sophia_Script_for_Windows_11/Sophia.ps1

@ -3,17 +3,14 @@
Default preset file for "Sophia Script for Windows 11"
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
19.10.2025
.COPYRIGHT
(c) 20142025 Team Sophia
.THANKS
Thanks to all https://forum.ru-board.com members involved
.DESCRIPTION
Place the "#" char before function if you don't want to run it
Remove the "#" char before function if you want to run it
@ -28,10 +25,11 @@
.EXAMPLE Download and expand the latest Sophia Script version archive (without running) according which Windows and PowerShell versions it is run on
iwr script.sophia.team -useb | iex
.EXAMPLE The command will download and expand the latest Sophia Script archive (without running) from the last commit available according which Windows and PowerShell versions it is run on
iwr sl.sophia.team -useb | iex
.NOTES
Supported Windows 11 versions
Version: 24H2+
Editions: Home/Pro/Enterprise
Supports Windows 11 24H2+ Home/Pro/Enterprise
.NOTES
To use Enable tab completion to invoke for functions if you do not know function name dot source the Import-TabCompletion.ps1 script first:
@ -48,6 +46,10 @@
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
https://ko-fi.com/farag
https://boosty.to/teamsophia
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/companies/skillfactory/articles/553800/
@ -72,11 +74,12 @@ param
)
Clear-Host
$Global:Error.Clear()
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
# Checking whether all files were expanded before running
$ScriptFiles = @(
$ScriptFiles = [Array]::TrueForAll(@(
"$PSScriptRoot\Localizations\de-DE\Sophia.psd1",
"$PSScriptRoot\Localizations\en-US\Sophia.psd1",
"$PSScriptRoot\Localizations\es-ES\Sophia.psd1",
@ -90,9 +93,15 @@ $ScriptFiles = @(
"$PSScriptRoot\Localizations\uk-UA\Sophia.psd1",
"$PSScriptRoot\Localizations\zh-CN\Sophia.psd1",
"$PSScriptRoot\Module\Sophia.psm1",
"$PSScriptRoot\Manifest\SophiaScript.psd1"
)
if (($ScriptFiles | Test-Path) -contains $false)
"$PSScriptRoot\Manifest\SophiaScript.psd1",
"$PSScriptRoot\Import-TabCompletion.ps1"
),
[Predicate[string]]{
param($File)
Test-Path -Path $File
})
if (-not $ScriptFiles)
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message "There are no files in the script folder. Please, re-download the archive and follow the guide: https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-use."
@ -114,14 +123,13 @@ catch
Import-LocalizedData -BindingVariable Global:Localization -UICulture en-US -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia
}
# Checking whether script is the correct PowerShell version
try
{
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
}
catch [System.InvalidOperationException]
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -129,9 +137,11 @@ catch [System.InvalidOperationException]
exit
}
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Preset configuration starts here
# Отсюда начинается настройка пресета
# Настройка пресет-файла начинается здесь
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
<#
@ -824,7 +834,7 @@ Set-UserShellFolderLocation -Root
# Использовать .NET Framework 4.8.1 для устаревших программ
# LatestInstalled.NET -Enable
# Do not Use .NET Framework 4.8.1 for old apps (default value)
# Do not use .NET Framework 4.8.1 for old apps (default value)
# Не использовать .NET Framework 4.8.1 для устаревших программ (значение по умолчанию)
# LatestInstalled.NET -Disable

6
src/Sophia_Script_for_Windows_11_ARM/Import-TabCompletion.ps1

@ -2,8 +2,8 @@
.SYNOPSIS
Enable tab completion to invoke for functions if you do not know function name
Version: 6.9.1
Date: 01.09.2025
Version: 6.9.2
Date: 19.10.2025
Copyright (c) 20142025 Team Sophia
@ -49,7 +49,7 @@ function Sophia
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force

2
src/Sophia_Script_for_Windows_11_ARM/Manifest/SophiaScript.psd1

@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '6.9.1'
ModuleVersion = '6.9.2'
GUID = '109cc881-c42b-45af-a74a-550781989d6a'
Author = 'Team Sophia'
Copyright = '(c) 2014—2025 Team Sophia. All rights reserved'

51
src/Sophia_Script_for_Windows_11_ARM/Module/Sophia.psm1

@ -3,34 +3,28 @@
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
.AUTHOR
Team Sophia
19.10.2025
.COPYRIGHT
(c) 20142025
.THANKS
Thanks to all https://forum.ru-board.com members involved
(c) 20142025 Team Sophia
.NOTES
Supports Windows 11 24H2+ Home/Pro/Enterprise
Supports Windows 11 24H2+ for Arm
.NOTES
Arm CPU architecture supported
.LINK
.LINK GitHub
https://github.com/farag2/Sophia-Script-for-Windows
.LINK
.LINK Telegram
https://t.me/sophianews
https://t.me/sophia_chat
.LINK
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
@ -61,9 +55,6 @@ function InitialActions
Set-StrictMode -Version Latest
# Сlear the $Error variable
$Global:Error.Clear()
# Unblock all files in the script folder by removing the Zone.Identifier alternate data stream with a value of "3"
Get-ChildItem -Path $PSScriptRoot\..\ -File -Recurse -Force | Unblock-File
@ -259,20 +250,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
}
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if ($Caption -notmatch "Arm")
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
exit
}
# Check the language mode
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage")
{
@ -280,7 +257,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
Write-Warning -Message $Localization.UnsupportedLanguageMode
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -944,10 +921,6 @@ public extern static string BrandingFormatString(string sFormat);
# Windows 11 Pro
$Windows_Long = [WinAPI.Winbrand]::BrandingFormatString("%WINDOWS_LONG%")
$Windows_Long_First_Item = $Windows_Long.split(" ")[0]
$Windows_Long_Second_Item = $Windows_Long.split(" ")[1]
# Windows 11
$Windows_Long = ($Windows_Long_First_Item, $Windows_Long_Second_Item) -join " "
# e.g. 24H2
$DisplayVersion = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name DisplayVersion
@ -6673,7 +6646,7 @@ function Set-UserShellFolderLocation
Set-UserShellFolder -UserFolder Desktop -FolderPath "$env:SystemDrive:\Desktop"
.LINK
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
.NOTES
User files or folders won't be moved to a new location
@ -7525,7 +7498,7 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int
Use .NET Framework 4.8.1 for old apps
.PARAMETER Disable
Do not Use .NET Framework 4.8.1 for old apps
Do not use .NET Framework 4.8.1 for old apps
.EXAMPLE
LatestInstalled.NET -Enable
@ -9502,7 +9475,7 @@ function DefaultTerminalApp
Install-VCRedist -Redistributables 2015_2022_x86, 2015_2022_x64
.LINK
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
.NOTES
Machine-wide
@ -12938,7 +12911,7 @@ function WindowsSandbox
The valid IPv4 addresses: 1.0.0.1, 1.1.1.1, 149.112.112.112, 8.8.4.4, 8.8.8.8, 9.9.9.9
.LINK
https://docs.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
https://learn.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
.LINK
https://www.comss.ru/page.php?id=7315

55
src/Sophia_Script_for_Windows_11_ARM/Sophia.ps1

@ -3,17 +3,14 @@
Default preset file for "Sophia Script for Windows 11"
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
19.10.2025
.COPYRIGHT
(c) 20142025 Team Sophia
.THANKS
Thanks to all https://forum.ru-board.com members involved
.DESCRIPTION
Place the "#" char before function if you don't want to run it
Remove the "#" char before function if you want to run it
@ -32,9 +29,7 @@
iwr sl.sophia.team -useb | iex
.NOTES
Supported Windows 11 versions
Version: 24H2+
Editions: Home/Pro/Enterprise
Supports Windows 11 24H2+ for Arm
.NOTES
To use Enable tab completion to invoke for functions if you do not know function name dot source the Import-TabCompletion.ps1 script first:
@ -51,6 +46,10 @@
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
https://ko-fi.com/farag
https://boosty.to/teamsophia
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/companies/skillfactory/articles/553800/
@ -75,11 +74,12 @@ param
)
Clear-Host
$Global:Error.Clear()
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.1 (Arm) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.2 (Arm) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
# Checking whether all files were expanded before running
$ScriptFiles = @(
$ScriptFiles = [Array]::TrueForAll(@(
"$PSScriptRoot\Localizations\de-DE\Sophia.psd1",
"$PSScriptRoot\Localizations\en-US\Sophia.psd1",
"$PSScriptRoot\Localizations\es-ES\Sophia.psd1",
@ -93,9 +93,15 @@ $ScriptFiles = @(
"$PSScriptRoot\Localizations\uk-UA\Sophia.psd1",
"$PSScriptRoot\Localizations\zh-CN\Sophia.psd1",
"$PSScriptRoot\Module\Sophia.psm1",
"$PSScriptRoot\Manifest\SophiaScript.psd1"
)
if (($ScriptFiles | Test-Path) -contains $false)
"$PSScriptRoot\Manifest\SophiaScript.psd1",
"$PSScriptRoot\Import-TabCompletion.ps1"
),
[Predicate[string]]{
param($File)
Test-Path -Path $File
})
if (-not $ScriptFiles)
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message "There are no files in the script folder. Please, re-download the archive and follow the guide: https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-use."
@ -117,14 +123,13 @@ catch
Import-LocalizedData -BindingVariable Global:Localization -UICulture en-US -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia
}
# Checking whether script is the correct PowerShell version
try
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if ($Caption -notmatch "Arm")
{
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
}
catch [System.InvalidOperationException]
{
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -132,9 +137,11 @@ catch [System.InvalidOperationException]
exit
}
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Preset configuration starts here
# Отсюда начинается настройка пресета
# Настройка пресет-файла начинается здесь
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
<#
@ -823,7 +830,7 @@ Set-UserShellFolderLocation -Root
# Использовать .NET Framework 4.8.1 для устаревших программ
# LatestInstalled.NET -Enable
# Do not Use .NET Framework 4.8.1 for old apps (default value)
# Do not use .NET Framework 4.8.1 for old apps (default value)
# Не использовать .NET Framework 4.8.1 для устаревших программ (значение по умолчанию)
# LatestInstalled.NET -Disable
@ -964,8 +971,8 @@ DefaultTerminalApp -WindowsTerminal
# Установить Windows Console Host как приложение терминала по умолчанию для размещения пользовательского интерфейса для приложений командной строки (значение по умолчанию)
# DefaultTerminalApp -ConsoleHost
# Install the latest Microsoft Visual C++ Redistributable Packages 2015–2022 (ARM64)
# Установить последнюю версию распространяемых пакетов Microsoft Visual C++ 2015–2022 (ARM64)
# Install the latest Microsoft Visual C++ Redistributable Packages 2015–2022 (ARM64). Internet connection required
# Установить последнюю версию распространяемых пакетов Microsoft Visual C++ 2015–2022 (ARM64). Требуется соединение с интернетом
Install-VCRedist
# Install the latest .NET Runtime 8, 9. Internet connection required

6
src/Sophia_Script_for_Windows_11_ARM_PowerShell_7/Import-TabCompletion.ps1

@ -2,8 +2,8 @@
.SYNOPSIS
Enable tab completion to invoke for functions if you do not know function name
Version: 6.9.1
Date: 01.09.2025
Version: 6.9.2
Date: 19.10.2025
Copyright (c) 20142025 Team Sophia
@ -49,7 +49,7 @@ function Sophia
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force

2
src/Sophia_Script_for_Windows_11_ARM_PowerShell_7/Manifest/SophiaScript.psd1

@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '6.9.1'
ModuleVersion = '6.9.2'
GUID = '109cc881-c42b-45af-a74a-550781989d6a'
Author = 'Team Sophia'
Copyright = '(c) 2014—2025 Team Sophia. All rights reserved'

51
src/Sophia_Script_for_Windows_11_ARM_PowerShell_7/Module/Sophia.psm1

@ -3,34 +3,28 @@
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
.AUTHOR
Team Sophia
19.10.2025
.COPYRIGHT
(c) 20142025
.THANKS
Thanks to all https://forum.ru-board.com members involved
(c) 20142025 Team Sophia
.NOTES
Supports Windows 11 24H2+ Home/Pro/Enterprise
Supports Windows 11 24H2+ for Arm
.NOTES
Arm CPU architecture supported
.LINK
.LINK GitHub
https://github.com/farag2/Sophia-Script-for-Windows
.LINK
.LINK Telegram
https://t.me/sophianews
https://t.me/sophia_chat
.LINK
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
@ -61,9 +55,6 @@ function InitialActions
Set-StrictMode -Version Latest
# Сlear the $Error variable
$Global:Error.Clear()
# Unblock all files in the script folder by removing the Zone.Identifier alternate data stream with a value of "3"
Get-ChildItem -Path $PSScriptRoot\..\ -File -Recurse -Force | Unblock-File
@ -272,20 +263,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
}
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if ($Caption -notmatch "Arm")
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
exit
}
# Check the language mode
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage")
{
@ -293,7 +270,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
Write-Warning -Message $Localization.UnsupportedLanguageMode
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -981,10 +958,6 @@ public extern static string BrandingFormatString(string sFormat);
# Windows 11 Pro
$Windows_Long = [WinAPI.Winbrand]::BrandingFormatString("%WINDOWS_LONG%")
$Windows_Long_First_Item = $Windows_Long.split(" ")[0]
$Windows_Long_Second_Item = $Windows_Long.split(" ")[1]
# Windows 11
$Windows_Long = ($Windows_Long_First_Item, $Windows_Long_Second_Item) -join " "
# e.g. 24H2
$DisplayVersion = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name DisplayVersion
@ -6712,7 +6685,7 @@ function Set-UserShellFolderLocation
Set-UserShellFolder -UserFolder Desktop -FolderPath "$env:SystemDrive:\Desktop"
.LINK
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
.NOTES
User files or folders won't be moved to a new location
@ -7564,7 +7537,7 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int
Use .NET Framework 4.8.1 for old apps
.PARAMETER Disable
Do not Use .NET Framework 4.8.1 for old apps
Do not use .NET Framework 4.8.1 for old apps
.EXAMPLE
LatestInstalled.NET -Enable
@ -9541,7 +9514,7 @@ function DefaultTerminalApp
Install-VCRedist -Redistributables 2015_2022_x86, 2015_2022_x64
.LINK
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
.NOTES
Machine-wide
@ -12987,7 +12960,7 @@ function WindowsSandbox
The valid IPv4 addresses: 1.0.0.1, 1.1.1.1, 149.112.112.112, 8.8.4.4, 8.8.8.8, 9.9.9.9
.LINK
https://docs.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
https://learn.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
.LINK
https://www.comss.ru/page.php?id=7315

67
src/Sophia_Script_for_Windows_11_ARM_PowerShell_7/Sophia.ps1

@ -3,17 +3,14 @@
Default preset file for "Sophia Script for Windows 11 (PowerShell 7)"
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
19.10.2025
.COPYRIGHT
(c) 20142025 Team Sophia
.THANKS
Thanks to all https://forum.ru-board.com members involved
.DESCRIPTION
Place the "#" char before function if you don't want to run it
Remove the "#" char before function if you want to run it
@ -32,9 +29,7 @@
iwr sl.sophia.team -useb | iex
.NOTES
Supported Windows 11 versions
Version: 24H2+
Editions: Home/Pro/Enterprise
Supports Windows 11 24H2+ Home/Pro/Enterprise
.NOTES
To use Enable tab completion to invoke for functions if you do not know function name dot source the Import-TabCompletion.ps1 script first:
@ -51,6 +46,10 @@
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
https://ko-fi.com/farag
https://boosty.to/teamsophia
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/companies/skillfactory/articles/553800/
@ -75,11 +74,12 @@ param
)
Clear-Host
$Global:Error.Clear()
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.1 (Arm | PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.2 (Arm | PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
# Checking whether all files were expanded before running
$ScriptFiles = @(
$ScriptFiles = [Array]::TrueForAll(@(
"$PSScriptRoot\Localizations\de-DE\Sophia.psd1",
"$PSScriptRoot\Localizations\en-US\Sophia.psd1",
"$PSScriptRoot\Localizations\es-ES\Sophia.psd1",
@ -93,9 +93,15 @@ $ScriptFiles = @(
"$PSScriptRoot\Localizations\uk-UA\Sophia.psd1",
"$PSScriptRoot\Localizations\zh-CN\Sophia.psd1",
"$PSScriptRoot\Module\Sophia.psm1",
"$PSScriptRoot\Manifest\SophiaScript.psd1"
)
if (($ScriptFiles | Test-Path) -contains $false)
"$PSScriptRoot\Manifest\SophiaScript.psd1",
"$PSScriptRoot\Import-TabCompletion.ps1"
),
[Predicate[string]]{
param($File)
Test-Path -Path $File
})
if (-not $ScriptFiles)
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message "There are no files in the script folder. Please, re-download the archive and follow the guide: https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-use."
@ -107,28 +113,19 @@ if (($ScriptFiles | Test-Path) -contains $false)
exit
}
# Unload Sophia script
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
# PowerShell 7 doesn't load en-us localization automatically if there is no localization folder in user's language which is determined by $PSUICulture
# https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/import-localizeddata?view=powershell-7.3
# https://github.com/PowerShell/PowerShell/pull/19896
try
{
# Import localization files
Import-LocalizedData -BindingVariable Global:Localization -UICulture $PSUICulture -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia -ErrorAction Stop
}
catch
{
Import-LocalizedData -BindingVariable Global:Localization -UICulture en-US -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia
}
# Checking whether script is the correct PowerShell version
try
{
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
}
catch [System.InvalidOperationException]
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if ($Caption -notmatch "Arm")
{
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -136,9 +133,11 @@ catch [System.InvalidOperationException]
exit
}
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Preset configuration starts here
# Отсюда начинается настройка пресета
# Настройка пресет-файла начинается здесь
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
<#
@ -827,7 +826,7 @@ Set-UserShellFolderLocation -Root
# Использовать .NET Framework 4.8.1 для устаревших программ
# LatestInstalled.NET -Enable
# Do not Use .NET Framework 4.8.1 for old apps (default value)
# Do not use .NET Framework 4.8.1 for old apps (default value)
# Не использовать .NET Framework 4.8.1 для устаревших программ (значение по умолчанию)
# LatestInstalled.NET -Disable
@ -968,8 +967,8 @@ DefaultTerminalApp -WindowsTerminal
# Установить Windows Console Host как приложение терминала по умолчанию для размещения пользовательского интерфейса для приложений командной строки (значение по умолчанию)
# DefaultTerminalApp -ConsoleHost
# Install the latest Microsoft Visual C++ Redistributable Packages 2015–2022 (ARM64)
# Установить последнюю версию распространяемых пакетов Microsoft Visual C++ 2015–2022 (ARM64)
# Install the latest Microsoft Visual C++ Redistributable Packages 2015–2022 (ARM64). Internet connection required
# Установить последнюю версию распространяемых пакетов Microsoft Visual C++ 2015–2022 (ARM64). Требуется соединение с интернетом
Install-VCRedist
# Install the latest .NET Runtime 8, 9. Internet connection required

6
src/Sophia_Script_for_Windows_11_LTSC_2024/Import-TabCompletion.ps1

@ -2,8 +2,8 @@
.SYNOPSIS
Enable tab completion to invoke for functions if you do not know function name
Version: 6.9.1
Date: 01.09.2025
Version: 6.9.2
Date: 19.10.2025
Copyright (c) 20142025 Team Sophia
@ -49,7 +49,7 @@ function Sophia
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force

2
src/Sophia_Script_for_Windows_11_LTSC_2024/Manifest/SophiaScript.psd1

@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '6.9.1'
ModuleVersion = '6.9.2'
GUID = '109cc881-c42b-45af-a74a-550781989d6a'
Author = 'Team Sophia'
Copyright = '(c) 2014—2025 Team Sophia. All rights reserved'

51
src/Sophia_Script_for_Windows_11_LTSC_2024/Module/Sophia.psm1

@ -3,31 +3,25 @@
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
.AUTHOR
Team Sophia
19.10.2025
.COPYRIGHT
(c) 20142025
.THANKS
Thanks to all https://forum.ru-board.com members involved
(c) 20142025 Team Sophia
.NOTES
Supports Windows 11 Enterprise LTSC 2024
.LINK
.LINK GitHub
https://github.com/farag2/Sophia-Script-for-Windows
.LINK
.LINK Telegram
https://t.me/sophianews
https://t.me/sophia_chat
.LINK
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
@ -58,9 +52,6 @@ function InitialActions
Set-StrictMode -Version Latest
# Сlear the $Error variable
$Global:Error.Clear()
# Unblock all files in the script folder by removing the Zone.Identifier alternate data stream with a value of "3"
Get-ChildItem -Path $PSScriptRoot\..\ -File -Recurse -Force | Unblock-File
@ -256,20 +247,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
}
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
exit
}
# Check the language mode
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage")
{
@ -277,7 +254,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
Write-Warning -Message $Localization.UnsupportedLanguageMode
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -928,11 +905,7 @@ public extern static string BrandingFormatString(string sFormat);
# Windows 11 Pro
$Windows_Long = [WinAPI.Winbrand]::BrandingFormatString("%WINDOWS_LONG%")
$Windows_Long_First_Item = $Windows_Long.split(" ")[0]
$Windows_Long_Second_Item = $Windows_Long.split(" ")[1]
# Windows 11
$Windows_Long = ($Windows_Long_First_Item, $Windows_Long_Second_Item) -join " "
# e.g. 24H2
# e.g. 25H2
$DisplayVersion = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name DisplayVersion
Write-Warning -Message ($Localization.UnsupportedOSBuild -f $Windows_Long, $DisplayVersion)
@ -6329,7 +6302,7 @@ function Set-UserShellFolderLocation
Set-UserShellFolder -UserFolder Desktop -FolderPath "$env:SystemDrive:\Desktop"
.LINK
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
.NOTES
User files or folders won't be moved to a new location
@ -7181,7 +7154,7 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int
Use .NET Framework 4.8.1 for old apps
.PARAMETER Disable
Do not Use .NET Framework 4.8.1 for old apps
Do not use .NET Framework 4.8.1 for old apps
.EXAMPLE
LatestInstalled.NET -Enable
@ -9075,7 +9048,7 @@ function Import-Associations
Install-VCRedist -Redistributables 2015_2022_x86, 2015_2022_x64
.LINK
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
.NOTES
Machine-wide
@ -12385,7 +12358,7 @@ function WindowsSandbox
The valid IPv4 addresses: 1.0.0.1, 1.1.1.1, 149.112.112.112, 8.8.4.4, 8.8.8.8, 9.9.9.9
.LINK
https://docs.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
https://learn.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
.LINK
https://www.comss.ru/page.php?id=7315

48
src/Sophia_Script_for_Windows_11_LTSC_2024/Sophia.ps1

@ -3,17 +3,14 @@
Default preset file for "Sophia Script for Windows 11 LTSC 2024"
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
19.10.2025
.COPYRIGHT
(c) 20142025 Team Sophia
.THANKS
Thanks to all https://forum.ru-board.com members involved
.DESCRIPTION
Place the "#" char before function if you don't want to run it
Remove the "#" char before function if you want to run it
@ -32,7 +29,7 @@
iwr sl.sophia.team -useb | iex
.NOTES
Supported Windows 11 Enterprise LTSC 2024
Supports Windows 11 Enterprise LTSC 2024
.NOTES
To use Enable tab completion to invoke for functions if you do not know function name dot source the Import-TabCompletion.ps1 script first:
@ -49,6 +46,10 @@
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
https://ko-fi.com/farag
https://boosty.to/teamsophia
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/companies/skillfactory/articles/553800/
@ -74,10 +75,10 @@ param
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 LTSC 2024 v6.9.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 LTSC 2024 v6.9.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
# Checking whether all files were expanded before running
$ScriptFiles = @(
$ScriptFiles = [Array]::TrueForAll(@(
"$PSScriptRoot\Localizations\de-DE\Sophia.psd1",
"$PSScriptRoot\Localizations\en-US\Sophia.psd1",
"$PSScriptRoot\Localizations\es-ES\Sophia.psd1",
@ -91,9 +92,15 @@ $ScriptFiles = @(
"$PSScriptRoot\Localizations\uk-UA\Sophia.psd1",
"$PSScriptRoot\Localizations\zh-CN\Sophia.psd1",
"$PSScriptRoot\Module\Sophia.psm1",
"$PSScriptRoot\Manifest\SophiaScript.psd1"
)
if (($ScriptFiles | Test-Path) -contains $false)
"$PSScriptRoot\Manifest\SophiaScript.psd1",
"$PSScriptRoot\Import-TabCompletion.ps1"
),
[Predicate[string]]{
param($File)
Test-Path -Path $File
})
if (-not $ScriptFiles)
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message "There are no files in the script folder. Please, re-download the archive and follow the guide: https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-use."
@ -115,14 +122,13 @@ catch
Import-LocalizedData -BindingVariable Global:Localization -UICulture en-US -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia
}
# Checking whether script is the correct PowerShell version
try
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
}
catch [System.InvalidOperationException]
{
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -130,9 +136,11 @@ catch [System.InvalidOperationException]
exit
}
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Preset configuration starts here
# Отсюда начинается настройка пресета
# Настройка пресет-файла начинается здесь
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
<#
@ -799,7 +807,7 @@ Set-UserShellFolderLocation -Root
# Использовать .NET Framework 4.8.1 для устаревших программ
# LatestInstalled.NET -Enable
# Do not Use .NET Framework 4.8.1 for old apps (default value)
# Do not use .NET Framework 4.8.1 for old apps (default value)
# Не использовать .NET Framework 4.8.1 для устаревших программ (значение по умолчанию)
# LatestInstalled.NET -Disable

6
src/Sophia_Script_for_Windows_11_PowerShell_7/Import-TabCompletion.ps1

@ -2,8 +2,8 @@
.SYNOPSIS
Enable tab completion to invoke for functions if you do not know function name
Version: 6.9.1
Date: 01.09.2025
Version: 6.9.2
Date: 19.10.2025
Copyright (c) 20142025 Team Sophia
@ -49,7 +49,7 @@ function Sophia
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.1 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.2 | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force

2
src/Sophia_Script_for_Windows_11_PowerShell_7/Manifest/SophiaScript.psd1

@ -1,6 +1,6 @@
@{
RootModule = '..\Module\Sophia.psm1'
ModuleVersion = '6.9.1'
ModuleVersion = '6.9.2'
GUID = '109cc881-c42b-45af-a74a-550781989d6a'
Author = 'Team Sophia'
Copyright = '(c) 2014—2025 Team Sophia. All rights reserved'

49
src/Sophia_Script_for_Windows_11_PowerShell_7/Module/Sophia.psm1

@ -3,31 +3,25 @@
Sophia Script is a PowerShell module for Windows 10 & Windows 11 fine-tuning and automating the routine tasks
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
.AUTHOR
Team Sophia
19.10.2025
.COPYRIGHT
(c) 20142025
.THANKS
Thanks to all https://forum.ru-board.com members involved
(c) 20142025 Team Sophia
.NOTES
Supports Windows 11 24H2+ Home/Pro/Enterprise
.LINK
.LINK GitHub
https://github.com/farag2/Sophia-Script-for-Windows
.LINK
.LINK Telegram
https://t.me/sophianews
https://t.me/sophia_chat
.LINK
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
@ -58,9 +52,6 @@ function InitialActions
Set-StrictMode -Version Latest
# Сlear the $Error variable
$Global:Error.Clear()
# Unblock all files in the script folder by removing the Zone.Identifier alternate data stream with a value of "3"
Get-ChildItem -Path $PSScriptRoot\..\ -File -Recurse -Force | Unblock-File
@ -269,20 +260,6 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
}
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
exit
}
# Check the language mode
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage")
{
@ -290,7 +267,7 @@ public static extern bool SetForegroundWindow(IntPtr hWnd);
Write-Warning -Message $Localization.UnsupportedLanguageMode
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes" -Verbose
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -978,10 +955,6 @@ public extern static string BrandingFormatString(string sFormat);
# Windows 11 Pro
$Windows_Long = [WinAPI.Winbrand]::BrandingFormatString("%WINDOWS_LONG%")
$Windows_Long_First_Item = $Windows_Long.split(" ")[0]
$Windows_Long_Second_Item = $Windows_Long.split(" ")[1]
# Windows 11
$Windows_Long = ($Windows_Long_First_Item, $Windows_Long_Second_Item) -join " "
# e.g. 24H2
$DisplayVersion = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion" -Name DisplayVersion
@ -6781,7 +6754,7 @@ function Set-UserShellFolderLocation
Set-UserShellFolder -UserFolder Desktop -FolderPath "$env:SystemDrive:\Desktop"
.LINK
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
.NOTES
User files or folders won't be moved to a new location
@ -7633,7 +7606,7 @@ public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, Int
Use .NET Framework 4.8.1 for old apps
.PARAMETER Disable
Do not Use .NET Framework 4.8.1 for old apps
Do not use .NET Framework 4.8.1 for old apps
.EXAMPLE
LatestInstalled.NET -Enable
@ -9610,7 +9583,7 @@ function DefaultTerminalApp
Install-VCRedist -Redistributables 2015_2022_x86, 2015_2022_x64
.LINK
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
.NOTES
Machine-wide
@ -13056,7 +13029,7 @@ function WindowsSandbox
The valid IPv4 addresses: 1.0.0.1, 1.1.1.1, 149.112.112.112, 8.8.4.4, 8.8.8.8, 9.9.9.9
.LINK
https://docs.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
https://learn.microsoft.com/en-us/windows-server/networking/dns/doh-client-support
.LINK
https://www.comss.ru/page.php?id=7315

62
src/Sophia_Script_for_Windows_11_PowerShell_7/Sophia.ps1

@ -3,17 +3,14 @@
Default preset file for "Sophia Script for Windows 11 (PowerShell 7)"
.VERSION
6.9.1
6.9.2
.DATE
01.09.2025
19.10.2025
.COPYRIGHT
(c) 20142025 Team Sophia
.THANKS
Thanks to all https://forum.ru-board.com members involved
.DESCRIPTION
Place the "#" char before function if you don't want to run it
Remove the "#" char before function if you want to run it
@ -32,9 +29,7 @@
iwr sl.sophia.team -useb | iex
.NOTES
Supported Windows 11 versions
Version: 24H2+
Editions: Home/Pro/Enterprise
Supports Windows 11 24H2+ Home/Pro/Enterprise
.NOTES
To use Enable tab completion to invoke for functions if you do not know function name dot source the Import-TabCompletion.ps1 script first:
@ -51,6 +46,10 @@
.LINK Discord
https://discord.gg/sSryhaEv79
.DONATE
https://ko-fi.com/farag
https://boosty.to/teamsophia
.NOTES
https://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15
https://habr.com/companies/skillfactory/articles/553800/
@ -76,10 +75,10 @@ param
Clear-Host
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.1 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
$Host.UI.RawUI.WindowTitle = "Sophia Script for Windows 11 v6.9.2 (PowerShell 7) | Made with $([System.Char]::ConvertFromUtf32(0x1F497)) of Windows | $([System.Char]0x00A9) Team Sophia, 2014$([System.Char]0x2013)2025"
# Checking whether all files were expanded before running
$ScriptFiles = @(
$ScriptFiles = [Array]::TrueForAll(@(
"$PSScriptRoot\Localizations\de-DE\Sophia.psd1",
"$PSScriptRoot\Localizations\en-US\Sophia.psd1",
"$PSScriptRoot\Localizations\es-ES\Sophia.psd1",
@ -93,9 +92,15 @@ $ScriptFiles = @(
"$PSScriptRoot\Localizations\uk-UA\Sophia.psd1",
"$PSScriptRoot\Localizations\zh-CN\Sophia.psd1",
"$PSScriptRoot\Module\Sophia.psm1",
"$PSScriptRoot\Manifest\SophiaScript.psd1"
)
if (($ScriptFiles | Test-Path) -contains $false)
"$PSScriptRoot\Manifest\SophiaScript.psd1",
"$PSScriptRoot\Import-TabCompletion.ps1"
),
[Predicate[string]]{
param($File)
Test-Path -Path $File
})
if (-not $ScriptFiles)
{
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message "There are no files in the script folder. Please, re-download the archive and follow the guide: https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-use."
@ -107,28 +112,19 @@ if (($ScriptFiles | Test-Path) -contains $false)
exit
}
# Unload Sophia script
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
# PowerShell 7 doesn't load en-us localization automatically if there is no localization folder in user's language which is determined by $PSUICulture
# https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/import-localizeddata?view=powershell-7.3
# https://github.com/PowerShell/PowerShell/pull/19896
try
{
# Import localization files
Import-LocalizedData -BindingVariable Global:Localization -UICulture $PSUICulture -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia -ErrorAction Stop
}
catch
{
Import-LocalizedData -BindingVariable Global:Localization -UICulture en-US -BaseDirectory $PSScriptRoot\Localizations -FileName Sophia
}
# Checking whether script is the correct PowerShell version
try
{
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force -ErrorAction Stop
}
catch [System.InvalidOperationException]
# Check CPU architecture
$Caption = (Get-CimInstance -ClassName CIM_Processor).Caption
if (($Caption -notmatch "AMD64") -and ($Caption -notmatch "Intel64"))
{
Write-Warning -Message ($Localization.UnsupportedPowerShell -f $PSVersionTable.PSVersion.Major, $PSVersionTable.PSVersion.Minor)
Write-Information -MessageData "" -InformationAction Continue
Write-Warning -Message ($Localization.UnsupportedArchitecture -f $Caption)
Write-Information -MessageData "" -InformationAction Continue
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
@ -136,9 +132,11 @@ catch [System.InvalidOperationException]
exit
}
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Preset configuration starts here
# Отсюда начинается настройка пресета
# Настройка пресет-файла начинается здесь
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
<#
@ -831,7 +829,7 @@ Set-UserShellFolderLocation -Root
# Использовать .NET Framework 4.8.1 для устаревших программ
# LatestInstalled.NET -Enable
# Do not Use .NET Framework 4.8.1 for old apps (default value)
# Do not use .NET Framework 4.8.1 for old apps (default value)
# Не использовать .NET Framework 4.8.1 для устаревших программ (значение по умолчанию)
# LatestInstalled.NET -Disable

Loading…
Cancel
Save