Powershell установка компонентов windows

В Windows Server 2012R2/2016/2019 вы можете устанавливать и удалять различные роли и компоненты сервера через графический Server Manager. Однако в большинстве случаев эти же самые операции можно выполнить гораздо быстрее из консоли PowerShell. В этой статье мы рассмотрим особенности управления ролями и компонентами в актуальных версиях Windows Server.

Содержание:

  • Как вывести все установленные роли и компоненты Windows Server?
  • Установка ролей и компонентов Windows Server из PowerShell
  • Деплой ролей на множество серверов Windows Server
  • Как удалить роль или компонент в Windows Server с помощью PowerShell?

Как вывести все установленные роли и компоненты Windows Server?

Чтобы вывести список всех доступных ролей и компонентов Windows Server используется командлет
Get-WindowsFeature
. Если выполнить его без параметров, появится информация обо всех компонентах.

Как вы видите, отображается название компонента (Display Name), его системное имя (Name) и состояние (Install State: Installed, Available или Removed). Список ролей и компонентов представляет собой дерево со вложенными ролями, которое напоминает то, которые вы видите при установке ролей через графический Server Manager. Для установки и удаления ролей и компонентов через PowerShell, вам нужно знать их системное имя, которое содержится в столбце Name.

Get-WindowsFeature вывести все роли и компоненты windows server

Совет. Если роль или функция находится в состоянии Removed, значит ее установочные файлы удалены из локального репозитария системы (уменьшение размера папки WinSxS) и вы не сможете установить эту роль.

Роли и компоненты удаляются из образа так:

Uninstall-WindowsFeature –Name DHCP –Remove

Чтобы установить удаленную роль, воспользуйтесь командлетом:

Install-WindowsFeature DHCP
(понадобится доступ в Интернет)

Либо вы можете восстановить компоненты их дистрибутива с вашей версией Windows Server. Данная команда установит роль DHCP сервера.

Install-WindowsFeature DHCP -Source E:\sources\sxs

Вы можете вывести список установленных компонентов сервера:

Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate

Судя по скриншоту, данный сервер используется как файловый сервер (роли FileAndStorage-Services, Storage-Services). Большинство оставшихся компонентов используются для управления и мониторинга сервера.

Get-WindowsFeature installstate installed - список установленных ролей windows server 2016

Если вы не знаете точно имя роли, можно использовать знаки подстановки. Например, чтобы проверить какие из web компонентов роли IIS установлены, выполните (немного сократим синтаксис):

Get-WindowsFeature -Name web-* | Where installed

Get-WindowsFeature установленные компоненты iis

Вы можете получить список установленных компонентов на удаленном Windows Server:

Get-WindowsFeature -ComputerName msk-prnt1 | Where installed | ft Name,Installstate

Судя по установленным ролям Print-Services и Print-Server, этот сервер используется в качестве сервера печати.

получить список установленны ролей на удаленном windows serevr 2016

Вы можете использовать командлет Get-WindowsFeature для поиска серверов в домене, на которых установлена определенная роль. Вы можете искать на серверах в определенном OU Active Directory с помощью командлета Get-ADComputer из модуля ActiveDirectory for PowerShell, или по указанному списку серверов (
$servers = ('server1', 'server2')
). Например, нам нужно найти все файловые сервера c ролью FileAndStorage-Services в указанном контейнере AD (я использую редактор PS — Visual Studio Code)

import-module activedirectory
$Servers=get-adcomputer -properties * -Filter {Operatingsystem -notlike "*2008*" -and enabled -eq "true" -and Operatingsystem -like "*Windows Server*"} -SearchBase ‘OU=Servers,OU=MSK,DC=winitpro.ru,DC=ru’ |select name
Foreach ($server in $Servers)
{
Get-WindowsFeature -name FileAndStorage-Services -ComputerName $server.Name | Where installed | ft $server.name, Name, Installstate
}

В результате у нас появился список серверов, на которых установлена данная роль.

найти все Windows Server с установленными ролями в ActiveDirectory

Установка ролей и компонентов Windows Server из PowerShell

Для установки ролей и компонентов в Windows Server используется командлет Install-WindowsFeature.

Чтобы установить роль DNS на текущем сервере и инструменты управления (в том числе модуль Powershell – DNSServer), выполните:

Install-WindowsFeature DNS -IncludeManagementTools

По-умолчанию командлет устаналивает все необходимые зависимые роли и компоненты при установке роли. Чтобы вывести список зависимостей до установки воспользуйтесь параметров.
Install-WindowsFeature -name UpdateServices -whatif

Например, для установки роли сервера обновлений WSUS, необходимо установить некоторые компоненты IIS.

What if: Continue with installation?
What if: Performing installation for "[Windows Server Update Services] Windows Server Update
What if: Performing installation for "[Windows Server Update Services] WID Database".
What if: Performing installation for "[Windows Server Update Services] WSUS Services".
What if: Performing installation for "[Web Server (IIS)] Windows Authentication".
What if: Performing installation for "[Web Server (IIS)] Dynamic Content Compression".
What if: Performing installation for "[Web Server (IIS)] Performance".
What if: Performing installation for "[Web Server (IIS)] Static Content".
What if: Performing installation for "[Windows Internal Database] Windows Internal Database".
What if: The target server may need to be restarted after the installation completes.

Чтобы установить роль Remote Desktop Session Host, службу лицензирования RDS и утилиты управления RDS на удаленном сервере, воспользуйтесь командой:

Install-WindowsFeature -ComputerName msk-rds21 RDS-RD-Server, RDS-Licensing –IncludeAllSubFeature –IncludeManagementTools –Restart

Install-WindowsFeature установка роли Windows Server POwerShell

C параметром
–Restart
сервер будет автоматически перезагружен, если установленный компонент это потребует.

Также можно установить компонент такой командой (например роль SMTP сервера):

Get-WindowsFeature -Name SMTP-Server | Install-WindowsFeature

Деплой ролей на множество серверов Windows Server

Еще одна интересная возможность при развертывании однотипных серверов. Вы можете установить необходимые компоненты на эталонном Windows Server и экспортируете список установленных ролей в CSV файл:

Get-WindowsFeature | where{$_.Installed -eq $True} | select name | Export-Csv C:\ps\Roles.csv -NoTypeInformation –Verbose

Экспорт конфигурации ролей и компоеннтов windows server в csv файл

Потом вы можете использовать этот CSV файл для установки такого же набора ролей на других типовых серверах:

Import-Csv C:\PS\Roles.csv | foreach{ Install-WindowsFeature $_.name }

установка ролей Windows Server по эталонному csv файлу

Если роль или компонент уже установлен, команда вернет
NoChangeNeeded
и продолжит установку следующей роли.

Либо для установки одинакового набора ролей сразу на нескольких серверах можно использовать такую команду:

$servers = ('srv1', 'srv2',’srv3’)
foreach ($server in $servers) {Install-WindowsFeature RDS-RD-Server -ComputerName $server}

Как удалить роль или компонент в Windows Server с помощью PowerShell?

Для удаления ролей и компонентов Windows Server используется командлет
Remove-WindowsFeature
.

Например, чтобы удалить роль принт-сервера, выполните команду:

Remove-WindowsFeature Print-Server -Restart

Use this guide only for Microsoft Windows Server 2012, Microsoft Windows Server 2012 R2, Windows 2016 and Windows 2019 platforms. If you do not wish to use PowerShell, use the following documentation instead: Installation on MS Windows 2012

1 — Open PowerShell ISE

Powershell

2 — Run PowerShell commands to install the required Windows features. Applies to Windows 2012, 2016 and 2019.

Get-WindowsFeature -Name NET-Framework-45-Core | Install-WindowsFeature
Get-WindowsFeature -Name Web-Net-Ext45 | Install-WindowsFeature
Get-WindowsFeature -Name Web-Asp-Net45 | Install-WindowsFeature
Get-WindowsFeature -Name Web-ISAPI-Ext  | Install-WindowsFeature
Get-WindowsFeature -Name Web-ISAPI-Filter | Install-WindowsFeature
Get-WindowsFeature -Name Web-Mgmt-Console | Install-WindowsFeature
Get-WindowsFeature -Name Web-Scripting-Tools |  Install-WindowsFeature
Get-WindowsFeature -Name Search-Service  | Install-WindowsFeature
Get-WindowsFeature -Name Web-Filtering | Install-WindowsFeature
Get-WindowsFeature -Name Web-Basic-Auth | Install-WindowsFeature
Get-WindowsFeature -Name Web-Windows-Auth | Install-WindowsFeature
Get-WindowsFeature -Name Web-Default-Doc | Install-WindowsFeature
Get-WindowsFeature -Name Web-Http-Errors | Install-WindowsFeature
Get-WindowsFeature -Name Web-Static-Content | Install-WindowsFeature

Optional

Get-WindowsFeature -Name SMTP-Server | Install-WindowsFeature 

Powershell

Powershell

2 — Make sure that all lines return “success” or «No change needed» for exit code

Powershell

3 — To check if the required Windows features are installed (Windows 2012, 2016 and 2019), If you want to check that the windows features installed, run the following PowerShell commands.

Get-WindowsFeature -Name NET-Framework-45-Core | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-Net-Ext45 | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-Asp-Net45 | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-ISAPI-Ext  | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-ISAPI-Filter | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-Mgmt-Console | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-Scripting-Tools | Select-Object Name , InstallState
Get-WindowsFeature -Name Search-Service  | Select-Object Name , InstallState
Get-WindowsFeature -Name  Web-Filtering | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-Basic-Auth | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-Windows-Auth | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-Default-Doc | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-Http-Errors | Select-Object Name , InstallState
Get-WindowsFeature -Name Web-Static-Content | Select-Object Name , InstallState

Optional

Get-WindowsFeature -Name SMTP-Server |Select-Object Name , InstallState

Powershell

Now that you have installed all the required Windows features, you can proceed to installing infoRouter.

добавление_компонентов_win_10_iot_enterprise

Содержание

Добавление компонентов системы

Информация в данном разделе актуальна для Windows 10: 1809.

По умолчанию в системе отключены некоторые компоненты, по сути они просто хранятся в системе в упакованном виде. Добавить компонент в систему можно множеством способов.

С помощью графического интерфейса

Выполните команду

optionalfeatures

В открывшемся окне выберите необходимые компоненты и нажмите «ОК»

Компоненты блокировки находятся в ветке «Блокировка устройства» (Device Lockdown)

С помощью консоли

При добавлении компонента всегда добавляйте ключ «-All» для добавления родительских компонентов при необходимости.

С помощью утилиты «DISM»

Добавить компонент с помощью DISM’а можно командой

DISM /online /Enable-Feature /All

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

Получить список имен компонентов можно с помощью команды

Dism /online /Get-Features

Пример добавления компонента Shell Launcher’а V1

DISM /online /Enable-Feature /all /FeatureName:Client-EmbeddedShellLauncher

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

DISM /online /Enable-Feature /?

С помощью «PowerShell»

Добавить компонент в среде «PowerShell» можно с помощью команды

Enable-WindowsOptionalFeature -Online -FeatureName

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

Получить список имен компонентов можно с помощью команды

(Get-WindowsOptionalFeature -Online -FeatureName '*').FeatureName | Sort

Пример добавления компонента Shell Launcher’а V1

Enable-WindowsOptionalFeature -Online -FeatureName 'Client-EmbeddedShellLauncher' -All

Добавление отсутствующих компонентов

С помощью графического интерфейса (с подключением к интернету)

  1. Перейдите в раздел «Приложения»

  2. Выберите пункт «Дополнительные возможности»

  3. Нажмите на кнопку «Добавить компонент»

  4. Найдите необходимый компонент и нажмите на нем левой кнопкой мыши

  5. В развернувшемся описании нажмите на кнопку «Установить»

Учтите, что выбранный компонент не появится в системе сразу, потребуется некоторое время на загрузку и установку компонента

С помощью командной строки (без подключения к интернету)

Редко используемые компоненты системы предоставляются в наборах OPK Feat on Demand.

Такие компоненты можно добавить с помощью консольной команды, пример добавления компонента «SNMP.Client».

DISM /online /add-capability /capabilityname:SNMP.Client~~~~0.0.1.0 /Source:F:\

Перечень компонентов, которые содержатся в наборе FOD и подробные инструкции по их установке находятся в самом наборе, в папке, название которой начинается на «Kit Guide»

Официальная документация

добавление_компонентов_win_10_iot_enterprise.txt

· Последние изменения: 2020/10/22 13:48 —

vladimir

Не все системные компоненты и даже не все стандартные программы включены в последних версиях Windows по умолчанию: для работы некоторых из них требуется установка со стороны пользователя. Это могут быть «Беспроводный дисплей», Песочница, виртуальные машины Hyper-V, .NET Framework или Telnet, Подсистема Windows для Linux, а в некоторых случаях даже такие программы как «Блокнот», которые тоже теперь относятся к опциональным компонентам.

В этой инструкции для начинающих о том, как установить дополнительные, не установленные по умолчанию, компоненты Windows 11 и Windows 10 — сейчас это выполняется сразу в двух расположениях системы.

  • Установка компонентов в панели управления
  • Дополнительные компоненты в Параметрах
  • Установка в командной строке

Установка компонентов в панели управления

В Windows 11 и последних версиях Windows 10 установка дополнительных компонентов возможна сразу в двух расположениях: через панель управления и в параметрах. При этом компоненты в этих двух расположениях не дублируют друг друга. Сначала об установке компонентов в «Панель управления».

  1. Зайдите в Панель управления (можно использовать поиск в панели задач) и откройте пункт «Программы и компоненты». Второй путь попасть в нужное окно — нажать клавиши Win+R на клавиатуре, ввести appwiz.cpl и нажать Enter.
  2. В открывшемся окне слева нажмите «Включение или отключение компонентов Windows».
    Включение и отключение компонентов Windows в панели управления

  3. Отметьте компоненты, которые требуется установить и нажмите «Ок».
    Установка дополнительных компонентов через панель управления

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

На этом установка требуемых компонентов будет завершена, и они должны исправно работать.

При необходимости удаления установленных описанным методом компонентов, зайдите в то же окно, снимите отметку с соответствующего компонента и нажмите «Ок»: будет выполнено удаление, для некоторых пунктов — с необходимостью последующей перезагрузки.

Как установить дополнительные компоненты в параметрах

Второе расположение, где выполняется установка дополнительных компонентов в последних версий Windows — «Параметры». Как было отмечено ранее, в списке доступных к установке элементов присутствует отличающийся от «панели управления» набор.

Установка дополнительных компонентов в Параметрах приложений Windows 11

В Windows 11 для установки дополнительных компонентов через Параметры выполните следующие шаги:

  1. Откройте Параметры (можно нажать клавиши Win+I) и перейдите в раздел «Приложения».
  2. Откройте пункт «Дополнительные компоненты». Обновление: в Windows 11 24H2 пункт «Дополнительные компоненты» находится в разделе «Система».
    Параметры приложений Windows 11

  3. В разделе «Добавление дополнительного компонента» нажмите «Посмотреть функции».
    Просмотреть дополнительные компоненты Windows 11

  4. Отметьте дополнительные компоненты, которые требуется установить и нажмите «Далее».
    Установка дополнительных компонентов Windows 11

  5. Нажмите кнопку «Установить» и дождитесь завершения установки.

Опциональные компоненты в параметрах Windows 10

В Windows 10 все действия очень похожи, присутствуют лишь незначительные отличия в пути к нужным разделам параметров:

  1. Откройте Параметры и перейдите в раздел «Приложения».
  2. В пункте «Приложения и возможности» нажмите по ссылке «Дополнительные компоненты».
    Дополнительные компоненты в параметрах Windows 10

  3. Вверху следующего окна нажмите «Добавить компонент».
    Добавить компонент Windows 10

  4. Отметьте дополнительные компоненты, которые нужно установить и запустите установку кнопкой внизу окна выбора.
    Установка дополнительных компонентов Windows 10

Установка компонентов в командной строке

Существует возможность установки дополнительных компонентов с помощью командной строке и команд Dism.exe. Получить список доступных в вашей версии Windows компонентов и их статус можно командой Dism /online /Get-Features

Последующая установка выполняется в командной строке, запущенной от имени администратора командой вида:

Dism /online /Enable-Feature /FeatureName:ИМЯ_функции /All

Более подробно об управлении дополнительными компонентами с помощью Dism можно прочитать в официальной справке на сайте Майкрософт.

Хочу поделиться с вами простыми шагами по настройке Winodows после ее установки с помощью PowerShell. Все шаги я выполнял неоднократно на Windows 11, думаю, что ошибок с Windows 10 не должно возникнуть.

Справка
Windows PowerShell — финальная версия 5.1, по умолчанию установлен в Windows.
PowerShell — форк Windows PowerShell версии 5.1 с последующим развитием, доступен на Windows, Linux и macOS.

Настройки подключения к интернету по умолчанию

Первое, что полезно выполнить, если в процессе будут использоваться различные ВПН — это сделать подключение по умолчанию самым приоритетным.

  1. Проверьте какие подключения у вас доступны, с помощью Windows PowerShell, запущенного от имени Администратора в терминале Windows:

Get-NetIPInterface -AddressFamily IPv4
  1. Установите минимальное значение InterfaceMetric для вашего текущего подключения:

Set-NetIPInterface -InterfaceIndex 19 -InterfaceMetric 5
  1. Перезагрузите сетевой интерфейс, метрику которому вы изменили:

Restart-NetAdapter -InterfaceAlias "Ethernet"

Установка PowerShell

  1. Запустите Windows терминал и обновите два системных приложения, сам терминал и Windows App Installer с помощью менеджера пакетов Winget:

winget update --id Microsoft.WindowsTerminal -e --accept-source-agreements --source winget; if ($?) { winget update --id Microsoft.AppInstaller -e --source winget };
  1. После обновления перезапустите терминал Windows и установите PowerShell:

winget install --id Microsoft.PowerShell -e --source winget
  1. Перезагрузите терминал, перейдите в настройки и установите PowerShell профилем по умолчанию.

После этого можно перейти к третьему шагу.

Установка приложений

  1. Запустите Windows терминал от имени Администратора и создайте список приложений с помощью блокнота. Вот мой текущий список:

notepad.exe .\PowerShellInstall_Winget_Machine.ps1
#
## PowerShell
### Winget's apps installation 
#

winget install --id Git.Git -e --source winget;
if ($?) { winget install --id Microsoft.VCRedist.2015+.x64 -e --source winget };
if ($?) { winget install --id Skillbrains.Lightshot -e --source winget };
if ($?) { winget install --id qBittorrent.qBittorrent -e --source winget };
if ($?) { winget install --id Google.Chrome -e --source winget };
if ($?) { winget install --id Neovim.Neovim -e --source winget }; # Neovim is a refactor, and sometimes redactor, in the tradition of Vim
if ($?) { winget install --id 7zip.7zip -e --source winget };
if ($?) { winget install --id DEVCOM.JetBrainsMonoNerdFont -e --source winget };
if ($?) { winget install --id Mozilla.Thunderbird -e --source winget };
if ($?) { winget install --id gerardog.gsudo -e --source winget }; # sudo for Powershell
if ($?) { winget install --id ALCPU.CoreTemp --source winget }; # Program to monitor processor temperature and other vital information
if ($?) { winget install --id FxSound.FxSound --source winget }; # Equalizer for Windows
if ($?) { winget install --id Bitwarden.Bitwarden -e --source winget --scope user };
if ($?) { winget install --id Telegram.TelegramDesktop -e --source winget --scope user };
if ($?) { winget install --id Microsoft.VisualStudioCode -e --source winget --scope user };
if ($?) { winget install --id Obsidian.Obsidian -e --source winget --scope user };
if ($?) { winget install --id Yandex.Browser -e --source winget --scope user };
  1. Выполните скрипт PowerShell:

.\PowerShellInstall_Winget_Machine.ps1

Включение WSL и Hyper-V

Шаг №4.

Для работы мне нужен гипервизор, так как в Windows уже есть свой — его я и использую, а для полноценной поддержки Ansible в VS Code — WSL.

Для включения модулей необходимо запустить PowerShell от имени Администратора и выполнить команду:

wsl --install
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

И остался заключительный пятый шаг — настройка самого PowerShell для удобства использования.

Настройка PowerShell

Установка модулей PowerShell

  1. Создайте скрипт с необходимыми модулями:

notepad.exe .\PowerShellInstall_Modules.ps1
#
## PowerShell
### PowerShell modules installation
#

Install-Module -Name posh-git -Scope CurrentUser; # для работы с Git
if ($?) { Install-Module -Name z -Scope CurrentUser }; # Для быстрого перемещения по папкам
if ($?) { Install-Module -Name PSReadLine -Scope CurrentUser }; # Настройка промпта PowerShell
if ($?) { Install-Module -Name Terminal-Icons -Scope CurrentUser }; # Отображения иконок в темирнале с помощью Nerd Font (в моем случает JeBrainsMonoNerdFont)
  1. Выполните скрипт:

.\PowerShellInstall_Modules.ps1
  1. Удалите файлы со списками приложений и модулей:

Remove-Item $env:USERPROFILE\PowerShellInstall_*.ps1

Создание и настройка профиля

  1. Есть несколько типов профилей для PowerShell:

  • Current User, Current Host — $PROFILE, $PROFILE.CurrentUserCurrentHost

  • Current User, All Hosts — $PROFILE.CurrentUserAllHosts

  • All Users, Current Host — $PROFILE.AllUsersCurrentHost

  • All Users, All Hosts — $PROFILE.AllUsersAllHosts

Как правило, я использую $PROFILE. Для его создания нужно выполнить команду:

if (!(Test-Path -Path $PROFILE)) {
  New-Item -ItemType File -Path $PROFILE -Force
}
  1. Теперь можно перейти к настройкам самого профиля, вот мой текущий:

notepad.exe $PROFILE
#
## PowerShell
### PowerShell User Profile
#

### Alias

Set-Alias -Name vim -Value $env:ProgramFiles\Neovim\bin\nvim.exe
Set-Alias -Name cle -Value Clear-Host
Set-Alias -Name ll -Value Get-ChildItem
Set-Alias -Name cln -Value CleanTemp 
Set-Alias -Name touch -Value New-Item
Set-Alias -Name sudo -Value $env:LOCALAPPDATA\Microsoft\WinGet\Packages\gerardog.gsudo_Microsoft.Winget.Source_8wekyb3d8bbwe\x64\gsudo.exe
Set-Alias -Name ua -Value UpdateAll
Set-Alias -Name gst -Value GitStatus
Set-Alias -Name gsh -Value GitPush
Set-Alias -Name gll -Value GitPull
Set-Alias -Name hosts -Value ChangeHosts
Set-Alias -Name pubkey -Value SSHPubkey

### Functions

Function SSHPubkey {
  Get-Content $env:USERPROFILE\.ssh\id_rsa.pub | ssh $(Read-Host -Prompt 'Enter user@ip-address') 'cat >> $HOME/.ssh/authorized_keys'
}

Function ChangeHosts {
  sudo nvim $env:SystemRoot\System32\drivers\etc\hosts
}

Function GitPull {
  git.exe pull; if ($?) { Clear-Host }
}

Function GitStatus {
  git.exe status
}

Function CleanTemp {
  Remove-Item -Path $env:TEMP\* -Recurse -ErrorAction SilentlyContinue
}

Function Which ($command) {
  Get-Command -Name $command -ErrorAction SilentlyContinue |
  Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue
}

Function UpdateAll {
  winget.exe upgrade --recurse --source winget --verbose
}

Function GitPush {
  git.exe add .; if ($?) { git.exe commit -am "." }; if ($?) { git.exe push }; if ($?) { Clear-Host }
}

### Import-Module

Import-Module -Name PSReadLine
Import-Module -Name z
Import-Module -Name Terminal-Icons
Import-Module -Name posh-git

### Setup PSReadLineOption

Set-PSReadLineOption -EditMode Emacs
Set-PSReadLineOption -PredictionSource HistoryAndPlugin
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -HistoryNoDuplicates:$True
Set-PSReadLineOption -ShowToolTips:$True
# Get KeyHandlers 'Get-PSReadLineKeyHandler -Bound -Unbound'
Set-PSReadlineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar
Set-PSReadLineKeyHandler -Chord 'Ctrl+f' -Function ForwardWord
Set-PSReadLineKeyHandler -Chord 'Enter' -Function ValidateAndAcceptLine

Основные настройки

Настройки доступны через файл settings.json, который можно открыть из меню Settings:

"defaults": 
        {
            "bellStyle": "taskbar",
            "colorScheme": "One Half Dark Edited",
            "cursorShape": "filledBox",
            "font": 
            {
                "face": "JetBrainsMono Nerd Font Mono",
                "size": 20
            },
            "opacity": 80,
            "padding": "14",
            "scrollbarState": "hidden",
            "useAcrylic": true
        },

Настройка темы

Я использую отредактированную тему «One Half Dark Edited», для того, чтобы применить ее, откройте настройки PowerShell через json-файл и внутри брекетов в разделе «schemes» вставьте данный блок (если вам интересно, что за тема):

{
	"background": "#2C2845",
	"black": "#5E5D5D",
	"blue": "#61AFEF",
	"brightBlack": "#757575",
	"brightBlue": "#61AFEF",
	"brightCyan": "#56B6C2",
	"brightGreen": "#98C379",
	"brightPurple": "#C678DD",
	"brightRed": "#E06C75",
	"brightWhite": "#DCDFE4",
	"brightYellow": "#FFFD58",
	"cursorColor": "#0CFF93",
	"cyan": "#56B6C2",
	"foreground": "#FCFCFC",
	"green": "#98C379",
	"name": "One Half Dark Edited",
	"purple": "#C678DD",
	"red": "#E06C75",
	"selectionBackground": "#FFFFFF",
	"white": "#DCDFE4",
	"yellow": "#E5E34F"
}

На данный момент мне этого достаточно для повседневного использования. Периодически я добавляю полезные alias. Какое-то время использовал темы от Oh my posh, пробовал промпт Starship и терминал WezTerm, но в итоге вернулся к стандартному интерфейсу PowerShell.

Создание ключевой пары для SSH

Откройте Windows Terminal от имени Администратора, установите автоматический запуск для службы ssh-agent и запустите ее:

Get-Service -Name ssh-agent | Set-Service -StartupType Automatic; if ($?) { Start-Service ssh-agent };

Создайте ключевую пару для SSH и добавьте ее в ssh-agent:

ssh-keygen -t ed25519 -C "ivan.a.lobanov"

-C — добавляет комментарий к ключевой паре.

ssh-add $env:USERPROFILE\.ssh\id_ed25519

На этом первоначальная настройка Windows закончена.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как очистить локальный диск с на windows 10 от ненужных файлов
  • Восстановление системы windows 10 с точки восстановления cmd
  • Как отредактировать grub из под windows
  • Удаление подключения к удаленному рабочему столу windows 10
  • Последняя версия обновления windows 10 pro