Sophia Script для Windows - найбільший модуль PowerShell на `GitHub` для тонкого налаштування і автоматизації рутинних завдань в `Windows 10` і `Windows 11`
## Перед запуском
> **Note**: У зв'язку з тим, що скрипт містить більше **150** функцій з різними аргументами, необхідно уважно прочитати весь **Sophia.ps1** і **закоментувати/розкоментувати** ті функції, які Ви бажаєте/не бажаєте, щоб виконувалися (без необхідності редагування коду), або скористатися [Wrapper](https://github.com/farag2/Sophia-Script-for-Windows#davids-sophia-script-wrapper). Кожна зміна у файлі налаштувань має відповідну функцію для **відновлення налаштувань за замовчуванням**. Запускати скрипт найкраще на свіжій установці, оскільки запуск на **неправильно** налаштованій системі може призвести до виникнення помилок.
*<kbd>TAB</kbd> [доповнення](#автодоповнення-tab-детальніше-тут) для функцій та їх аргументів (якщо використовується файл Functions.ps1);
* Зміна шляху до змінної середовища %TEMP% на %SystemDrive%\Temp;
* Зміна розташування користувацьких папок програмно (без переміщення користувацьких файлів) в інтерактивному меню за допомогою стрілок для вибору диска
* "Робочий стіл"
* "Документи"
* "Завантаження"
* "Музика"
* "Зображення"
* "Відео"
* Встановлення безкоштовних (світлий та темний) курсорів "Windows 11 Cursors Concept v2" від [Jepri Creations](https://www.deviantart.com/jepricreations/art/Windows-11-Cursors-Concept-v2-886489356) на льоту;
* Видалення UWP-додатків, що відображають назви пакетів;
* Динамічна генерація списку встановлених UWP-додатків
* Відновлення видалених за замовчуванням UWP-додатків для поточного користувача з відображенням [локалізованих](#локалізовані-назви-uwp-пакетів) назв пакетів;
*<kbd>TAB</kbd> [автодоповнення](#автодоповнення-tab-детальніше-тут) для функції та її аргументів шляхом введення перших літер;
* Вимкнення функцій Windows для відображення дружніх назв пакетів у спливаючій формі, написаній на [WPF](#скріншоти);
* Видалення можливостей Windows відображати дружні назви пакетів у спливаючій формі, написаній на [WPF](#скріншоти);
* Завантаження та встановлення [HEVC Video Extensions від виробника пристрою](https://www.microsoft.com/p/hevc-video-extensions-from-device-manufacturer/9n4wgh0z6vhq) для відкриття форматів .heic та .heif;
* Реєстрація програми, розрахунок хешу та встановлення за замовчуванням для певного розширення без спливаючого вікна "Як ви хочете відкрити це" за допомогою спеціальної [функції](https://github.com/DanysysTeam/PS-SFTA);
* Встановлення будь-якого підтримуваного дистрибутива Linux для WSL з відображенням дружніх назв дистрибутивів у спливаючій формі, написаній на [WPF](#скріншоти);
* Створення запланованих завдань `Очищення Windows` та `Повідомлення про очищення Windows` для очищення Windows від невикористовуваних файлів та оновлень;
* Буде відображено сповіщення про інтерактивний тост, де ви можете вибрати сплячий режим, запустити завдання очищення або [відхилити](#інтерактивні-тости-для-запланованих-завдань)
* Створення завдання в Планувальнику завдань для очищення
*`%SystemRoot%\SoftwareDistribution\Download`
*`%TEMP%`
* Закріплення ярликів в Пуск через чистий PowerShell
* Три ярлики попередньо налаштовані для закріплення: Панель керування, Пристрої та принтери "старого зразка" та Windows PowerShell
* Перегляньте файл `Sophia.ps1` для налаштування функцій, які потрібно запустити;
* Помістіть символ "#" перед функцією, якщо ви не бажаєте, щоб вона виконувалась.
* Приберіть символ "#" перед функцією, якщо ви бажаєте, щоб вона виконувалась.
* В `Windows 10` натисніть `Файл` у Провіднику, наведіть курсор на `Запустити Windows PowerShell`, і виберіть `Запустити Windows PowerShell від імені адміністратора` [(як це зробити зі скріншотами)](https://www.howtogeek.com/662611/9-ways-to-open-powershell-in-windows-10/)
* В `Windows 11` натисніть правою кнопкою миші на <kbd>Windows</kbd> іконку і виберіть `Термінал (Адміністратор)`. Потім змініть поточне розташування
```powershell
Set-Location -Path "Path\To\Sophia\Folder"
```
* Встановіть політику виконання, щоб запускати сценарії тільки в поточному сеансі PowerShell
```powershell
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
```
* Введіть `.\Sophia.ps1`<kbd>Enter</kbd> щоб запустити налаштований файл.
## Як використовувати Wrapper
* Завантажте та розпакуйте архів;
* Запустіть `SophiaScriptWrapper.exe` та імпортуйте Sophia.ps1;
* Відкрийте вкладку `Console Output` і натисніть `Run PowerShell`.
***
### Як запустити певну функцію(ї)
Для запуску певної функції(й) [dot source](https://docs.microsoft.com/ru-ru/powershell/module/microsoft.powershell.core/about/about_operators#dot-sourcing-operator) необхідно запустити файл `Functions.ps1`:
* Завантажте актуальний архів Sophia Script, викликавши (`також не від імені адміністратора`) в PowerShell
```powershell
irm script.sophi.app -useb | iex
```
* Команда завантажить і розпакує останній архів Sophia Script (`без запуску`) відповідно до того, під якою версією Windows і PowerShell він запускається. Якщо запустити її, наприклад, в Windows 11 через PowerShell 5.1, вона завантажить Sophia Script для `Windows 11 PowerShell 5.1`.
## Як перекласти
* Дізнайтеся мову інтерфейсу Вашої ОС, викликавши `$PSUICulture` в PowerShell;
* Створіть папку з назвою Вашої мови інтерфейсу;
* Помістіть ваш локалізований файл Sophia.psd1 в цю папку.