An open API service indexing awesome lists of open source software.

https://github.com/maksimaliabyshev/install_advanced_user_environment

Скрипт автоматической установки или обновления расширенного пакета программ и библиотек глобального пользовательского окружения
https://github.com/maksimaliabyshev/install_advanced_user_environment

all-in-one deploy powershell pwsh sysadmin-scripts user

Last synced: 12 months ago
JSON representation

Скрипт автоматической установки или обновления расширенного пакета программ и библиотек глобального пользовательского окружения

Awesome Lists containing this project

README

          

![](./install_advanced_user_environment.png)

▼▲◤◥◣◢•●◉«»➤🡆🡹🡸🡺🡹🡻🡼🡽🡾🡿◆❖✦★✪✠✿✱✚†‡▬▔■▪▣◩◪◧◨∎▮░▒▓▌█▐【】

## Описание

Данный скрипт предназначен для автоматической установки или обновления расширенного пакета программ и библиотек
глобального пользовательского окружения, что бы при смене учётной записи не перенастраивать среду.

## Устанавливаемые пакеты

Не составит труда добавить или comment/uncomment группы нужных пакетов.

WinGet, Scoop - пакетные менеджеры
PowerShell Core -
Microsoft Edge WebView2 Runtime
Microsoft Visual C++ 2005/2008/2010/2012/2013/2015+ Redistributable
\#\#\# Microsoft Visual Studio C++ x64/x86 Build Tools -
Microsoft .NET Desktop 3.1/5/6/7/8/Preview
Microsoft .NET Framework 2/3/4.5/4@latest
\#\#\# Microsoft ASP.NET Core 2/3/5/6/7/8/Preview
\#\#\# DirectX Web Installer
\#\#\# Java Runtime Environment
Java Software Development Kit
Git -
Clink -
NodeJS -
Python -
PHP -
MinGW -
WinFsp -
WinFetch -
Zoxide -
micro -
\#\#\# Pragtical - - для редактирования конфигов, language source файлов
oh-my-posh - - быстрый движок тем для любой оболочки PowerShell
wget, curl, aria2 - web network утилиты
PowerShell scripts, modules - улучшают и расширяют функциональность PowerShell

## Запуск скрипта можно осуществить различными способами

Проще всего запустить через ПКМ на файле скрипта.

### Скрипт самостоятельно определит профили PowerShell, PowerShell Core из переменных окружения

▶ `powershell -ExecutionPolicy Bypass -File install_advanced_user_environment.ps1`
▶ `pwsh -ExecutionPolicy Bypass -File install_advanced_user_environment.ps1`

### С параметрами

Что бы не указывать параметры их можно переопределить в разделе `##### Init #####`.
Скрипт поддерживает установку, обновление, удаление скриптов/модулей.

Поддерживает добавление, обновление, удаление multiline конфигурационных строк по шаблону поиска.
Назначение скриптов/модулей только для PowerShell Core.

▶ `powershell -ExecutionPolicy Bypass -File install_advanced_user_environment.ps1 -Theme Theme -Fonts Font1 Font2`
▶ `powershell -ExecutionPolicy Bypass -File install_advanced_user_environment.ps1 -Scripts Script1 Script2`
▶ `powershell -ExecutionPolicy Bypass -File install_advanced_user_environment.ps1 -ModulesNoImport Module1 Module2`
▶ `powershell -ExecutionPolicy Bypass -File install_advanced_user_environment.ps1 -Modules Module3 Module4`

-Theme - название темы
-Fonts - имена семейства шрифтов Nerd Fonts
-Scripts - имена скриптов
-ModulesNoImport - установить модули, не добавлять импорты в профиль
-Modules - установить модули, добавить импорты в профиль
-ResourceOnlyCore - выбрать имена скриптов/модулей только для PowerShell Core

### С указанием конкретного профиля

▶ `powershell -ExecutionPolicy Bypass -File install_advanced_user_environment.ps1 -ProfilePath $PROFILE -Shell powershell`

-ProfilePath - полный путь к конкретному профилю и работать только с ним
-Shell - применяется, если указан -ProfilePath, по умолчанию тип профиля PowerShell Core, для профиля PowerShell нужно указать значение параметра "powershell"

### С правами администратора

▶ `powershell -NoProfile -ExecutionPolicy Bypass -NonInteractive -File install_advanced_user_environment.ps1`
▶ `pwsh -NoProfile -ExecutionPolicy Bypass -NonInteractive -File install_advanced_user_environment.ps1`

Если скрипт исполняется без административных прав, то он самостоятельно запросит права и запустить powershell с опцией `-NoProfile`, что бы не загружать модули прописанные в профиле.

### psedit - терминальный редактор ps скриптов, c intellisense и подсветкой синтаксиса

[F5] - выполнить скрипт
[Ctrl] + [Shift] + [F5] - выполнить скрипт вне редактора
[F8] - выполнить, выделенные строки
[Ctrl] + [Shift] + [R] - форматировать текст
[Ctrl] + [Q] - exit

### Pragtical Editor

▼ Горячии клавиши ▼

[ctrl] + [shift] + [P] - поиск команды
[alt] + [P] - переключаться между открытыми вкладками
[ctrl] + [shift] + [T] - открыть последнюю закрытую вкладку
[ctrl] + [.] - открыть console
[ctrl] + [shift] + [.] - запустить команду в console
[alt] + [T] - открыть terminal
[alt] + [🡸] - вернуться к предыдущей позиции
[alt] + [🡺] - вернуться последней позиции
[ctrl] + [enter] - открыть url ссылку в браузере
[ctrl] + [/] - комменитровать строку
[ctrl] + [shift] + [/] - комменитровать блок

## Шорткаты на запуск из терминала

Через scoop создан shim link:
▶ powershellconf - редактировать профиль PowerShell AllUsersAllHosts
▶ pwshconf - редактировать профиль PowerShell Core AllUsersAllHosts

## Кнопка для панели Total Commander

Скопировать все файлы репозитория в папку `%COMMANDER_PATH%\Addons\install_advanced_user_environment\`
Скопировать данный код и через ПКМ на панели кнопок выбрать опцию "Вставить"

```autokey
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Addons\install_advanced_user_environment\altrun.exe
--run="%%WINDIR%%\sysnative\WindowsPowerShell\v1.0\powershell.exe" --par="-ExecutionPolicy Bypass -File install_advanced_user_environment.ps1"
"%COMMANDER_PATH%\Addons\install_advanced_user_environment\install_advanced_user_environment.ico"
WinGet, Scoop - пакетные менеджеры|PowerShell Core|Microsoft Edge WebView2 Runtime|Microsoft Visual C++ 2005/2008/2010/2012/2013/2015+|Microsoft .NET Desktop 3.1/5/6/7/8/Preview|Microsoft .NET Framework 2/3/4.5/4@latest
%COMMANDER_PATH%\Addons\install_advanced_user_environment
0
-1
```