<imgsrc="https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/refs/heads/master/img/Sophia.png"alt="Sophia Script for Windows"width='150'>
<imgsrc="../img/SophiaScript.png"alt="Sophia Script for Windows"width='800'>
</div>
## О Sophia Script
`Sophia Script for Windows` — это самый мощный PowerShell-модуль на `GitHub` для тонкой настройки `Windows 10` и `Windows 11` и автоматизации рутинных задач. Он предлагает более 150 уникальных твиков и показывает, как можно настоить Windows, ничего не сломав.
Сделано с <imgsrc="https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/img/heart.svg"height="17px"/> к Windows.
## Содержание
* [Как использовать](#как-использовать)
* [Скачать через PowerShell](#скачать-через-powershell)
> Каждый твик в пресет-файле имеет соответствующую функцию для возврата значений по умолчанию. Использование скрипта лучше всего производить на свежеустановленной Windows в связи с тем, что неправильно настроенная ОС может вызвать сбои при работе скрипта.
> [!WARNING]
> При использовании скрипта только один администратор должен войти в систему.
>
> `Sophia Script for Windows` может не работать на кастомных образах Windows. Особенно, если такой образ был создан дилетантами, которые ломают работу Microsoft Defender и выключают работу телеметрии, удаляя системные компоненты из системы.
### Скачать через PowerShell
Чтобы скачать последнюю версию `Sophia Script for Windows`, запустите от имен `Администратора`
```powershell
iwr script.sophia.team -useb | iex
```
Команда скачает и распакуют последнюю версию архива Sophia Script (`без последюушего запуска`) согласно тем версиям Windows и PowerShell, на которых она запускалась. Допустим, если вы запустите ее на Windows 11 в PowerShell 5.1, то скачается Sophia Script для `Windows 11 PowerShell 5.1`.
### Вручную
* Скачайте [архив](https://github.com/farag2/Sophia-Script-for-Windows/releases/latest) согласно версиям вашей Windows и PowerShell;
* Распакуйте архив;
* Просмотрите файл `Sophia.ps1` для настройки того, что выхотите, чтобы запускалось;
* Поставьте символ `#` перед функцией, если не хотите, чтобы она не запускалась.
* Удалите символ `#` перед функцией, если хотите, чтобы она запускалась.
* Скопируйте полный путь до файла `Sophia.ps1`
* В `Windows 10` зажмите и удержите клавишу <kbd>Shift</kbd>, нажмите ПКМ по `Sophia.ps1` и кликните на `Копировать как путь`;
* В `Windows 11` нажмите ПКМ по `Sophia.ps1` and кликните на `Копировать как путь`.
* Откройте `Windows PowerShell`
* В `Windows 10` нажмите на файл в проводнике, наведите на `Запустить Windows PowerShell` и нажмите на `Запустить Windows PowerShell от имени администратора` [(инструкция в скриншотах)](https://www.howtogeek.com/662611/9-ways-to-open-powershell-in-windows-10/)
* В `Windows 11` нажмите ПКМ по иконке <kbd>Windows</kbd> и откройте `Terminal (Администратор)`;
* Установите политику выполнения, чтобы можно было выполнять скрипты в текущей сессии PowerShell;
```powershell
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
* Скачайте [последнюю](https://github.com/farag2/Sophia-Script-for-Windows/releases/latest) версию version;
* Распакуйте архив;
* Запустите `SophiaScriptWrapper.exe` и импортируйте `Sophia.ps1`;
* Файл `Sophia.ps1` должен находиться в папке `Sophia Script`;
* Wrapper имеет рендеринг UI в режиме реального времени;
* Настройте каждую функцию;
* Откройте раздел `Вывод консоли` и нажмите `Запустить PowerShell`.
### Как выполните конкретную функцию(и)
* Выполните все шаги из пукнта [Вручную](#вручную) и остановитесь на пункте по изменнию политики выполнения скриптов в `PowerShell`;
* Сначала загрузите файл `Functions.ps1` через [дот сорсинг](https://docs.microsoft.com/ru-ru/powershell/module/microsoft.powershell.core/about/about_operators#dot-sourcing-operator):
```powershell
# С точкой в начале
. .\Functions.ps1
```
* Теперь вы можете выполнять такие команды (необходимы кавычки)
* [Автопродление](#автопродление-функций-с-помощью-tab-подробнее-здесь) функций и их аргументов с помощью <kbd>TAB</kbd> (при условии использования файла Functions.ps1);
* Программно изменить расположение пользовательских папок с помощью интерактивного меню (без перемещения пользовательских файлов), используя стрелки для выбора диска
* Рабочий стол
* Документы
* Загрузки
* Музыка
* Изображения
* Видео
* Установить бесплатный (светлый и темный) курсор "Windows 11 Cursors Concept v2" от [Jepri Creations](https://www.deviantart.com/jepricreations/art/Windows-11-Cursors-Concept-v2-886489356) на лету (без перезагрузок);
* Удалить UWP-приложения, отображая их локализированные имена пакетов;
* Скрипт генерирует список установленных UWP-приложений [динамически](#локализированные-имена-пакетов)
* Отключить компоненты Windows, отображая локализированные пакеты с помощью всплывающего окошка, написанного на [WPF](#скриншоты);
* Удалить дополнительные компоненты Windows, отображая локализированные пакеты с помощью всплывающего окошка, написанного на [WPF](#скриншоты);
* Скачать и установить [Расширения для видео HEVC от производителя](https://apps.microsoft.com/detail/9N4WGH0Z6VHQ), чтобы иметь поддержку формата [HEVC](https://en.wikipedia.org/wiki/H.265);
* Установить приложение по умолчанию для конкретного расширения без всплывающего окошка "Каким образом вы хотите открыть этот файл?", используя специльную [функцию](https://github.com/DanysysTeam/PS-SFTA);
* Экспортировать все ассоциации в Windows. Ассоциации будут экспортированы в файл `Application_Associations.json` в корне папки скрипта;
* Импортировать выгруженный `Application_Associations.json` после чистой установки. Вам необходимо установить все приложения из списка выгруженного `Application_Associations.json`, чтобы восстановить ассоциации;
* Установить любой поддерживаемый дистрибутив Linux через WSL, отображая локализированные имена дистрибутивов с помощью всплывающего окошка, написанного на [WPF](#скриншоты);
* Создать задания в Планировщике заданий с нативным тостовым уведомлением, где вы сможете запустить или отменить [выполнение](#нативные-тостовые-уведомления-для-заданий-планировщика-заданий) задания;
* Создать задания `Windows Cleanup` и `Windows Cleanup Notification` для очистки Winsows от неиспользуемых файлов и файлов обновлений;
* Создать задание `SoftwareDistribution` для очистки `%SystemRoot%\SoftwareDistribution\Download`;
* Создать задание `Temp` для очистки `%TEMP%`.
* Закрепить ярлыки на начальном экране через чистый PowerShell (только для Windows 10);
* Будут закреплены ярлыки `Панель управления` и старый вид `Устройства и принтеры`.
* Открепить все ярлыки с начального экрана;
* Настроить безопасность Windows;
* Отобразить все ключи политик реестра в оснастке редактирования групповых политик (gpedit.msc);
* Много других твиков проводника и контекстного меню.
## Скриншоты
### Автопродление функций с помощью <kbd>TAB</kbd>. Подробнее [здесь](#как-выполните-конкретную-функциюи)