- Powershell — установка ролей и компонентов Windows
- Install-WindowsFeature
- Enable-WindowsOptionalFeature
- Включение и отключение компонентов Windows 10
- Где находится «Включение и отключение компонентов» в Windows 10
- Включение и отключение компонентов Windows 10 через PowerShell
- Управление ролями и компонентами Windows Server из PowerShell
- Как вывести все установленные роли и компоненты Windows Server?
- Установка ролей и компонентов Windows Server из PowerShell
- Деплой ролей на множество серверов Windows Server
- Как удалить роль или компонент в Windows Server с помощью PowerShell?
Powershell — установка ролей и компонентов Windows
Навигация по посту
Для установки ролей и компонентов в Powershell у нас есть 2 командлета и каждый со своими особенностями. Первый WindowsFeature и второй WindowsOptionalFeature (этот пойдет на замену dism).
Т.е. в 2008 R2 эти командлеты работать будут. В Win 7 скорее всего тоже, но зависит от версии powershell.
Install-WindowsFeature
Этот командлет идет как альтернатива Server Manager и может установить все эти же роли и компоненты. Работает ли он не на серверной версии, а например с установленным RSAT — не проверял, но скорее всего да. Один из плюсов этой команды, что мы можем установить роль сразу на множество машин. Для получения всех ролей и компонентов запустим:
Если мы хотим получить не такой большой вывод, а более конкретную роль или компонент, то сделаем так:
Способ выше будет фильтровать по колонке Name (на рис.2) — это имя нужно для установки. Если мы хотим фильтровать по полному названию или состоянию роли (установлена или нет), то нужно выполнить другие команды.
Если мы хотим получить роли по полному имени — выполним команду:
Где Light — это имя сервиса. Звездочки по обе стороны говорят, что до и после могут находиться еще символы.
Если хотим получить статус роли (колонка 3) сделаем такой запрос:
Отобразятся все установленные роли.
Далее выполним установку:
Можно и так, но плохая практика т.к. может быть несколько ролей с вхождением *DNS*:
Где:
-Name — имя роли с колонки 2 на рисунке.
-IncludeAllSubFeature — говорит о том, что по умолчанию будут включены все необходимые роли и компоненты. Если вдруг забыли включить, то можно и после, по крайне мере у меня все работало на тестовых стендах, но такой вариант не очень хорошая практика.
-IncludeManagementTools — установка компонентов интерфейса.
Причем если установка уже была произведена, то переустановки или похожих действий не будет.
Для установки на удаленном компьютере можно выполнить:
-ComputerName — имя компьютера или IP
Если установка на другом компьютере будет под другим пользователем:
-Credential — логин пользователя
Для удаления роли или компонента используется:
Если у нас есть какие-то сомнения в работе команд выше, то мы можем использовать ключ -WhatIF, который дословно «что если я исполню эту команду». Т.е. мы ничего не поломаем, узнаем нужна ли будет перезагрузка, какие компоненты будут доустановлены и будет ли ошибка. Пример:
Ключ -Verbose установит компонент с детальным отображением процесса:
Далее нужно будет настраивать роль. Для каждой роли и компонента он свой. Например для создания леса делаем Install-ADDSForest.
Через эту команду можно установить сервисы и на VHD диск или множество ролей с XML файла.
Enable-WindowsOptionalFeature
Этот командлет включен в клиентские редакции Windows и серверные, он устанавливает компоненты через powershell. Если сравнивать с работой через интерфейс команда аналогина этому окну:
Для получения всех компонентов выполняем:
-Online говорит, что пакеты будут искаться на этом же компьютере. Можно поставить -Path и указать путь до образа Windows что бы увидеть другие пакеты.
Что бы отфильтровать вывод по имени:
Фильтруем по статусу:
Для того, что бы включить компонент нужно выполнить:
Если хотим отключить — меняем глагол:
Обычно я использую WindowsOptionalFeature для подготовки Nano сервера т.к. там нет WindowsFeature и пакеты с ролями сначала импортируются, а затем доустанавливаются.
Включение и отключение компонентов Windows 10
«Включение и отключение компонентов» — это встроенная программа Windows 10, которая позволяет пользователю контролировать список компонентов, установленных вместе с операционной системой. Дело в том, что при установке Windows вместе с системой устанавливается набор ПО, который должен подойти для большинства пользователей. В дальнейшем пользователь может изменить этот набор удалив ненужное или наоборот установив дополнительные программы.
В старых версиях Windows программа «Включение и отключение компонентов» была доступна из «Панели управления». Но, в Windows 10 данная функция переместилась в новое меню «Параметры» из-за чего многие пользователи не знают, где она находится и как ее можно найти.
В данном материале мы расскажем, где находится программа «Включение и отключение компонентов» в Windows 10 и как ею пользоваться.
Где находится «Включение и отключение компонентов» в Windows 10
Новое место расположения программы « Включение и отключение компонентов » — это меню « Параметры ». Чтобы найти данную программу нужно открыть меню « Параметры ». Это можно сделать с помощью кнопки в меню « Пуск » или нажатием комбинации клавиш Win-R .
В меню « Параметры » нужно открыть раздел « Приложения ».
Здесь в подразделе « Приложения и возможности » нужно кликнуть по ссылке « Дополнительные компоненты ».
В результате перед вами появится окно « Дополнительные компоненты ». Это и есть новое расположение программы « Включение и отключение компонентов ». Для того чтобы отключить ненужный компонент Windows 10 выделите его в списке и нажмите на кнопку « Удалить ».
Для того чтобы добавить новый компонент Windows 10 нажмите на кнопку « Добавить » в верхней части окна.
В результате откроется окно для добавления дополнительных компонентов. Здесь нужно выделить требуемые программы и нажать на кнопку « Установить ».
Обратите внимание, список доступных программ зависит от редакции Windows 10. Если у вас установлена Windows 10 Home, то некоторые дополнительные программы могут быть не доступны.
Также в Windows 10 все еще доступна старая версия программы « Включение и отключение компонентов ». Возможно, в будущем ее полностью удалят из системы, но пока она присутствует и работает нормально.
Для того чтобы открыть старую версию « Включения и отключения компонентов » нужно нажать комбинацию клавиш Win-R и в открывшемся окне выполнить команду « OptionalFeatures »
В результате появится окно знакомое по предыдущим версиям Windows.
Здесь для удаления компонента Windows 10 нужно снять отметку и сохранить настройки нажатием на кнопку « ОК ». Установка выполняется аналогичным способом, устанавливаем отметку и сохраняем.
Включение и отключение компонентов Windows 10 через PowerShell
При желании включать и отключать компоненты Windows 10 можно через PowerShell (с правами администратора). Для этого понадобятся следующие команды:
- Просмотр доступных компонентов на работающей системе Windows 10.
- Отключение компонента с именем «Hearts» на работающей Windows 10.
- Включение компонента с именем «Hearts» и всех его зависимостей на работающей Windows 10.
Начать стоит с выполнения первой команды, для того чтобы просмотреть список доступных компонентов и узнать их правильные названия.
Для примера попробуем включить компонент « TelnetClient », который на данный момент отключен.
Для этого выполняем указанную выше команду включения компонента, при этом подставляя в нее правильное название (чувствительно к регистру).
Обратите внимание, после завершения выполнения компьютер может перезагрузиться. Для того чтобы предотвратить автоматическую перезагрузку к команде нужно добавить параметр « -NoRestart ».
После этого можно еще раз вывести список компонентов для того, чтобы проверить выполнение команды.
Управление ролями и компонентами Windows Server из PowerShell
В Windows Server 2012R2/2016/2019 вы можете устанавливать и удалять различные роли и компоненты сервера через графический Server Manager. Однако в большинстве случаев эти же самые операции можно выполнить гораздо быстрее из консоли PowerShell. В этой статье мы рассмотрим особенности управления ролями и компонентами в актуальных версиях Windows Server.
Как вывести все установленные роли и компоненты Windows Server?
Чтобы вывести список всех доступных ролей и компонентов Windows Server используется командлет Get-WindowsFeature . Если выполнить его без параметров, появится информация обо всех компонентах.
Как вы видите, отображается название компонента (Display Name), его системное имя (Name) и состояние (Install State: Installed, Available или Removed). Список ролей и компонентов представляет собой дерево со вложенными ролями, которое напоминает то, которые вы видите при установке ролей через графический Server Manager. Для установки и удаления ролей и компонентов через PowerShell, вам нужно знать их системное имя, которое содержится в столбце Name.
Роли и компоненты удаляются из образа так:
Uninstall-WindowsFeature –Name DHCP –Remove
Чтобы установить удаленную роль, воспользуйтесь командлетом:
Install-WindowsFeature DHCP (понадобится доступ в Интернет)
Либо вы можете восстановить компоненты их дистрибутива с вашей версией Windows Server:
Install-WindowsFeature DHCP -Source E:\sources\sxs
Вы можете вывести список установленных компонентов сервера:
Get-WindowsFeature | Where-Object <$_. installstate -eq "installed">| ft Name,Installstate
Судя по скриншоту, данный сервер используется как файловый сервер (роли FileAndStorage-Services, Storage-Services). Большинство оставшихся компонентов используются для управления и мониторинга сервера.
Если вы не знаете точно имя роли, можно использовать знаки подстановки. Например, чтобы проверить какие из web компонентов роли IIS установлены, выполните (немного сократим синтаксис):
Get-WindowsFeature -Name web-* | Where installed
Вы можете получить список установленных компонентов на удаленном Windows Server:
Get-WindowsFeature -ComputerName msk-prnt1 | Where installed | ft Name,Installstate
Судя по установленным ролям Print-Services и Print-Server, этот сервер используется в качестве сервера печати.
Вы можете использовать командлет 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
Foreach ($server in $Servers)
<
Get-WindowsFeature -name FileAndStorage-Services -ComputerName $server.Name | Where installed | ft $server.name, Name, Installstate
>
В результате у нас появился список серверов, на которых установлена данная роль.
Установка ролей и компонентов 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
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
Потом вы можете использовать этот CSV файл для установки такого же набора ролей на других типовых серверах:
Import-Csv C:\PS\Roles.csv | foreach
Если роль или компонент уже установлен, команда вернет NoChangeNeeded и продолжит установку следующей роли.
Либо для установки одинакового набора ролей сразу на нескольких серверах можно использовать такую команду:
$servers = (‘srv1’, ‘srv2’,’srv3’)
foreach ($server in $servers)
Как удалить роль или компонент в Windows Server с помощью PowerShell?
Для удаления ролей и компонентов Windows Server используется командлет Remove-WindowsFeature .
Например, чтобы удалить роль принт-сервера, выполните команду:
Remove-WindowsFeature Print-Server -Restart